SEO редиректы для устранения дублей страниц

С данными редиректами приходится сталкиваться всем SEO-оптимизаторам для борьбы с дублями страниц. Дубли страниц - это когда одна страница сайта доступна по разным урлам, причем "разными" поисковые системы могут воспринимать одни и те же адреса, но с некоторыми отличиями, например разными будут считаться следующие урлы:

1) С www иди без www, т.е. www.site.ru и site.ru — разные, в этой ситуации также потребуется указание главного зеркала, но об этом расскажу в другой статье.

2) С слешом на конце (/) и без него, т.е. site.ru/product/ и site.ru/product соответственно.

3) Буквы адреса в разном регистре бывает и такое), т.е. site.ru/PrOdUct

Редирект с www на без www

RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]

RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Редирект с домена без www на домен с www

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]

RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

301 редирект страниц со слэшем и без

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.+)/$

RewriteRule ^(.+)/$ /$1 [R=301,L]

Если надо наоборот оставить слэш в конце урла, то

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Если появились урлы типа site.ru/category//article.html, то

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$

RewriteRule . %1/%2 [R=301,L]

где, «//» можно заменить на «—» или любые сдвоенные символы в урле.

Редирект на нижний регистр на уровне php-скрипта

if($_SERVER[‘REQUEST_URI’] != strtolower($_SERVER[‘REQUEST_URI’]))

{ header(‘Location: http://’.$_SERVER[‘HTTP_HOST’].strtolower($_SERVER[‘REQUEST_URI’]), true, 301); exit(); }

Post a comment

1 × один =


Срок проверки reCAPTCHA истек. Перезагрузите страницу.