- Как настроить 301 редирект и убрать дубли страниц в Joomla
- Опубликовано emanno
- ⏯ 301 редирект для Joomla
- Типы редиректа
- Массовая склейка index.php
- Простой редирект
- Перенаправление при ошибках
- Вырезать кусок адреса
- How to Redirect Index.php to Homepage in Joomla?
- Possible URLs that can create the duplicate page content problem:
- 1. Canonicalize the pages
- 2. Make use of 301 Redirect
Как настроить 301 редирект и убрать дубли страниц в Joomla
Запрет дублей страниц сайта для индексирования в поисковых системах — одна из аксиом сео и правильного сайтостроения вообще. По своему опыту могу сказать, что отсутствие 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)
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 редирект:
RewriteCond % ^primersite.ru$ [NC] RewriteRule ^(.*)$ http://www.primersite.ru/$1 [R=301,L]
RewriteCond % ^primersite.ru$ [NC] RewriteRule ^(.*)$ http://www.primersite.ru/$1 [R=301,L]
RewriteCond % ^www.primersite\.ru$ [NC] RewriteRule ^(.*)$ http://primersite.ru/$1 [R=301,L]
RewriteCond % ^www.primersite\.ru$ [NC] RewriteRule ^(.*)$ http://primersite.ru/$1 [R=301,L]
Настройка 301 редиректа с index.php
RewriteCond % ^[A-Z]\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://www.primersite.ru/ [R=301,L]
RewriteCond % ^[A-Z]\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://www.primersite.ru/ [R=301,L]
Для удобства показываю общий кусок кода из работающего кода .htaccecs в Joomla:
RewriteBase / RewriteEngine On RewriteCond % ^primersite.ru$ [NC] RewriteRule ^(.*)$ http://www.primersite.ru/$1 [R=301,L] RewriteCond % ^[A-Z]\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://www.primersite.ru/ [R=301,L]
RewriteBase / RewriteEngine On RewriteCond % ^primersite.ru$ [NC] RewriteRule ^(.*)$ http://www.primersite.ru/$1 [R=301,L] RewriteCond % ^[A-Z]\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://www.primersite.ru/ [R=301,L]
Ну вот, кажется и все! Все коды рабочие и сайт теперь настроен правильно. Кстати, заодно и посмотрю, как реально настройки скажутся на продвижении: код взят из реального сайта, который уже довольно давно двигается по коммерческим запросам, и по одному ВЧ находится в топе.
Опубликовано emanno
Здравствуйте, друзья! Меня зовут Михаил и я автор этого блога. Если у вас возникли вопросы, вы всегда можете связаться со мной по электронной почте или Асе. Загляните на страничку Контакты. Там расположена вся нужная информация. Посмотреть больше записей
⏯ 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 % ^[A-Z]\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://web-gate.org/$1 [R=301,L]
RewriteEngine On RewriteCond % ^site.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] RewriteCond % ^[A-Z]\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site.ru/$1 [R=301,L]
Простой редирект
Тут всё просто, если надо перенаправить с одной страницы на другую, то пропишите в htaccess Redirect 301 /категория/страница.html http://site.ru/категория/другая страница.html Обратите внимание, страница с которой идёт переадресация указывается от корня, то есть site.ru не указываем, а страница на которую идёт редирект прописывается полностью. Этот вид 301 редиректа пригодится, если вы решили изменить адрес страницы или переносите web-документ из одной категории в другую, но не хотите терять его вес. Да, перенаправление (любое) должно стоять после строк
RewriteEngine On RewriteBase /
Иначе оно не будет работать.
Перенаправление при ошибках
Некоторые при 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 % ^/sitemap.xml RewriteRule .* /index.php?option=com_xmap&sitemap=1&view=xml
RewriteEngine On RewriteCond % ^/sitemap.xml RewriteRule .* /index.php?option=com_xmap&view=xml&id=1 [R=301,L]
Вырезать кусок адреса
Часто бывает нужно вырезать из url часть адреса, например, у вас открываются страницы по адресу www.site.ru//category/art1/zapis/, А вы хотите видеть www.site.ru /zapis/ То пропишите код
RewriteRule ^category/art1/zapis/$ http://%/zapis/ [R=301,L] RewriteRule ^zapis/$ /category/art1/zapis/ [L]
- Строка делает 301 редирект с www.site.ru/category/art1/zapis/ на www.site.ru/zapis/
- Строка говорит серверу, что если урл вида 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/
How to Redirect Index.php to Homepage in Joomla?
If you are using Joomla as your CMS (Content Management System), one of the common mistakes is using /index.php in website logo. This.
If you are using Joomla as your CMS (Content Management System), one of the common mistakes is using /index.php in website logo. This creates a new URL www.example.com/index.php which actually show the same content as on home page www.example.com.
Both URLs would be seen by Google as two separate and distinct pages, thus duplicate content problem arises. This can impact your site search visibility and user experience to a great extent.
Possible URLs that can create the duplicate page content problem:
These are the possible URLs that can create the duplicate content problem:
example.com
example.com/
www.example.com
www.example.com/
example.com/index.html
example.com/home.asp
example.com/home.html
Let’s see how you can redirect index.php version to your root domain or to your home page in Joomla and remove the duplicate content problem.
1. Canonicalize the pages
When Google finds these all different URLs that actually point to the same home page, Google picks and canonicalize the URL that seems best from this set of URLs.
But this decision is much dependent on the internal linking as well, how many links you point to example.com/index.php or www.example.com across your entire site.
However, it still creates the duplicate content URL problem. In order to remove this problem and make sure that Google picks the URL that you want, you should use rel=canonical tag. Just Add the following HTML to the section of these pages:
This will set the http://www.example.com as the preferred URL and will indicate the search engines to follow it.
(This process is called canonicalization that picks the best URL when there are multiple choice or URLs.)
2. Make use of 301 Redirect
Another method to solve this problem is to use 301 redirect. It permanently redirects the pages to a single destination URL.
To make a 301 redirect to homepage from /index.php using .htaccess in Joomla, use the code:
# Redirect index.php to Root
RewriteCond % !^POST
RewriteCond % ^[A-Z]\ /index\.php\ HTTP/
RewriteCond %>s ^(443>(s)|8+>s)$
RewriteRule ^index\.php$ http%2://yoursite.com/ [R=301,L]
To make 301 redirect to subdomain homepage, for example you want to redirect xyz.example.com/index.php to xyz.example.com use the following code in Joomla .htaccess file:
RewriteCond % ^.*/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
Note: make sure to backup .htaccess file before making any changes.
Have you any experience with this problem or know any other method to make the redirection, not listed here? Please share in comments.
Written by Deepanshu Gahlaut
I write on SEO, content marketing, latest technologies, and social media. You can find me online, or at home watching sci-fi movies, listening songs, or sleeping. In addition, my latest obsession is creating, collecting and organizing visual content on my new blog — Infopixi, to help bloggers, marketers, and businesses. Profile