Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Как настроить 301 редирект и убрать дубли страниц в Joomla


Вообще-то я хотел сделать короткий пост в три абзаца с кодом про редирект с index.php на Джумле :) .  Пример взят из рабочей практики. В результате вышло…

Запрет дублей страниц сайта для индексирования в поисковых системах — одна из аксиом сео и правильного сайтостроения вообще. По своему опыту могу сказать, что отсутствие 301 редиректов и дубли в индексе не всегда является понижающим фактором. Но при прочих равных, эти факторы могут сыграть свою негативную роль в ранжировании.

Прописывать правильные строчки в файле .htaccecs приходится в любых CMS, не исключая страшной и ужасной Joomla :) . К счастью, мы редко используем ее для наших сайтов, предпочитая другие альтернативы — да хоть бы и тот же Вордпресс, если клиенты просят бесплатные движки. Но иногда все-таки приходится — как например, сегодня, когда потратил целых 35 минут своего уникального времени :) , чтобы понять, как в Joomla редиректить index.php.

В тырнетах инфы на этот счет вроде бы много, но почти вся она бестолкова и сводится к совету типа «а пропиши запрет на индексацию в robots». Логику Джумлы человеку неподготовленному (а я именно такой :) ) понять непросто. В общем, помучился я сегодня, но таки сделал все по-человечески.

Сначала правильный robots.txt для Joomla

В дефолтном роботсе Джумла закрывает все служебные страницы по умолчанию. Единственное, что нужно добавить — это последние 2 строчки:

  • Host — насильно указывается ваш адрес сайта для ПC (с www или же без www)
  • Sitemap — адрес карты для роботов, сам файл готовится за секунды в бесплатном сервисе www.xml-sitemaps.com. Скачиваем готовый файл, заливаем в корень сайта, прописываем нужную строчку.
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Host: www.primersite.ru (или Host: primersite.ru, если без wwww)
Sitemap: http://www.primersite.ru/sitemap.xml (или Sitemap: http://primersite.ru/sitemap.xml)

Настройка в Joomla 301 редиректа (www и не www)

Рано или поздно поисковики склеют www.primersite.ru и http://primersite.ru, но до тех пор в выдаче могут быть дубли, негативно влияющие на продвижение. Поэтому открываем файл .htaccecs и прописываем 301 редирект:

  • Для сайта на www
RewriteCond %{HTTP_HOST} ^primersite.ru$ [NC]
RewriteRule ^(.*)$ http://www.primersite.ru/$1 [R=301,L]
  • Для сайта без www
RewriteCond %{HTTP_HOST} ^www.primersite\.ru$ [NC]
RewriteRule ^(.*)$ http://primersite.ru/$1 [R=301,L]

Настройка 301 редиректа с index.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.primersite.ru/ [R=301,L]

Для удобства показываю общий кусок кода из работающего кода .htaccecs в Joomla:

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

Ну вот, кажется и все! Все коды рабочие и сайт теперь настроен правильно. Кстати, заодно и посмотрю, как реально настройки скажутся на продвижении: код взят из реального сайта, который уже довольно давно двигается по коммерческим запросам, и по одному ВЧ находится в топе.


В избранное