Всем известно, что для поисковой оптимизации контент страниц должен быть уникальным. Тем не менее даже если вы честно написали для каждой страницы свой текст, могут появиться дубли, которые возникают из-за генерации адресов со слешем и без слеша. Для пользователя это неважно, а вот поисковые машины воспримут такие страницы как разные, но с одинаковым контентом.
Чтобы проверить, есть ли такая проблема у вашего сайта, нужно просто забить его адрес со слешем и без слеша на конце («http://www.mysite.ru/page.html» и «http://www.mysite.ru/page.html/»). Если существуют обе страницы, это негативным образом сказывается на ранжировании.
Эту проблему можно решить правкой файла .htaccess (он лежит в корне сайта). Нужно открыть файл и добавить туда следующий код:
1 2 3 4 | RewriteBase / RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $1 [L,R=301] |
Теперь слеши на конце будут удаляться.
Как убрать переадресацию с админки (ошибка ERR_TOO_MANY_REDIRECTS)
После удаления слешей при входе в админку иногда возникает ошибка: «На этой странице обнаружена циклическая переадресация
ERR_TOO_MANY_REDIRECTS». Это из-за того, что ее адрес должен быть со слешем. Тогда нужно добавить еще строчку, исключающую удаление слеша из адреса админки:
1 | RewriteCond %{REQUEST_URI} !^/admin(/(.*)|$) |
(вместо admin прописывается адрес к админке, например, в WordPress это wp-admin, в modx — manager).
Целиком правила получаются вот такие:
1 2 3 4 5 | RewriteBase / RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteCond %{REQUEST_URI} !^/manager(/(.*)|$) RewriteRule ^(.*)(/)$ $1 [L,R=301] |
Большое СПАСИБО! Помогли 🙂
спасибо за вставку в исключением!
Скажите, а можно через .htaccess удалить расширения файлов, к примеру было mysite.php а стало просто mysite?
Спасибо! Очень актуально! 🙂
Все равно пишет цикл