301 редирект для движка Joomla

Для оптимизации сайта на Joomla или ином движке должны использоваться постоянные 301 редиректы (Moved Permanently), они помогают направить робота на нужную страницу и склеить web-документы. Ниже я расскажу, как использовать основной 301 редирект для Joomla, то есть, как сделать простую и усложнённую переадресацию для достижения целей продвижения.

Типы редиректа

Сегодня мы рассмотрим именно 301 редирект, он указывает боту, что страница перемещена на постоянной основе и старый документ больше не нужен в выдаче. К слову, если поставить 302 перенаправление (Temporary Redirect), то оно укажет, что документ перемещён временно, соответственно, со временем возможет откат переадресации и возврат в индекс старой страницы. Прописываются перенаправления 301 в техническом файле .htaccess, который находится в корне сайта.

301 редирект можно делать для отдельно взятой страницы и для массовой переадресации, например, для склейки страниц с www и без оного, впрочем, обо всём по порядку.

Массовая склейка index.php

Начнём с массового 301 редиректа, который поможет склеить страницы с index.php и без. Сделать эту работу можно в административной панели Joomla в общих настройках по пути:

Сайт - Использовать mod_rewrite – да.

Если же по каким-то техническим причинам вы не хотите включать склейку в админке, то пропишите в htaccess код редиректа:

# склеиваем index.php с /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://web-gate.org/$1 [R=301,L]

Альтернативный код 301 для массовой переадресации:

RewriteEngine On RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/$1 [R=301,L]

Естественно, site.ru стоит заменить адресом своего сайта.

Простой редирект

Тут всё просто, если надо перенаправить с одной страницы на другую, то пропишите в htaccess

Redirect 301 /категория/страница.html   http://site.ru/категория/другая страница.html

Обратите внимание, страница с которой идёт переадресация указывается от корня, то есть site.ru не указываем, а страница на которую идёт редирект прописывается полностью.

Этот вид 301 редиректа пригодится, если вы решили изменить адрес страницы или переносите web-документ из одной категории в другую, но не хотите терять его вес.

Да, перенаправление (любое) должно стоять после строк

RewriteEngine On
RewriteBase /

Иначе оно не будет работать.

массовая переадресация на Joomla

Перенаправление при ошибках

Некоторые при 404 ошибках не отдают «поломанную» страницу, а перенаправляют пользователя на морду сайта или карту. С точки зрения seo это не совсем верно, но и логика тут есть, ведь терять пользователя в период кризиса не хочет никто. Для такой переадресации достаточно прописать в htaccess

ErrorDocument 404 http://сайт.ру/

Ну или указать другую нужную страницу.

Редирект карты сайта

Как известно, Joomla формирует url карты сайта очень хитро, типа

Site.ru/index.php?option=com_xmap&sitemap=1&view=xml

Если вы хотите, чтобы при нажатии sitemap в rds баре или просто наборе урла

Site.ru/sitemap.xml

У вас появлялась карта, то пропишите в htaccess следующий код для Joomla 1.5

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/sitemap.xml
RewriteRule .* /index.php?option=com_xmap&sitemap=1&view=xml

Для Joomla 2.5

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/sitemap.xml
RewriteRule .* /index.php?option=com_xmap&view=xml&id=1 [R=301,L]

Если RewriteEngine On уже включен выше, то дублировать его ещё раз не надо.

Вырезать кусок адреса

Часто бывает нужно вырезать из url часть адреса, например, у вас открываются страницы по адресу

www.site.ru//category/art1/zapis/,

А вы хотите видеть

www.site.ru /zapis/

То пропишите код

RewriteRule ^category/art1/zapis/$ http://%{HTTP_HOST}/zapis/ [R=301,L]
RewriteRule ^zapis/$ /category/art1/zapis/ [L]
  1. Строка делает 301 редирект с www.site.ru/category/art1/zapis/ на www.site.ru/zapis/
  2. Строка говорит серверу, что если урл вида www.site.ru/zapis/ то надо показывать то, что находится по адресу www.site.ru/category/art1/zapis/

В итоге, если зайти на www.site.ru/category/art1/zapis/, то нас сначала редиректнет на www.site.ru/zapis/, а потом покажется то, что находится по адресу www.site.ru/category/art1/zapis/

Если вас достал весь сайт и вы хотите его переадресовать полностью, то пропишите

RedirectPermanent /  http://site.ru/ 

и забудьте.