122

Полезное

У нас много интересного
Связаться с нами
170000, Россия, г. Тверь, Свободный пер., д.3, корп.2, офис 8. схема проезда
13 Октября 2020
Шпаргалка по реализации 301 редиректа
logo Site Elite Studio

Шпаргалка по реализации 301 редиректа

301 редирект нужен при «склейке» зеркал с www и без, при переводе сайта с http на https, при переезде на новый домен, в случае изменения URL страницы и переносе её в другой раздел сайта. В каждом случае он помогает сохранить ~90% ссылочного веса и позиции страниц в ПС. Как правильно настроить 301 редирект? Вот инструкция с примерами и шаблонами!

Что в статье:

Краткая справка: что есть 301 редирект


Простой код состояния 301 (Permanent Redirect), а в русскоязычном сегменте 301 редирект — это способ перенаправить пользователя со старого адреса страницы/ресурса на актуальный. Проделывается это на уровне сервера. В SEO сложно преувеличить ценность 301 редиректа — он помогает исключить из выдачи неактуальные URL, заменяя их новыми. В итоге сохраняется 90-99% ссылочного веса страниц и их позиции в выдаче поисковых систем.

Если перевести техническое взаимодействие на простой человеческий язык, то буквально происходит следующий диалог:

301 редирект:
— Запрашиваемую страницу я перенес вот сюда, на этот адрес. Это постоянное новое местоположение, возвращать мы её не будем.

Браузер:
— Хорошо, понял. Отправляю посетителя сразу туда.

Настройку можно осуществить разными способами: скриптами, через HTML и PHP, через редактирование файла .htaccess. О последнем варианте расскажем подробно.

Как задать простой 301 редирект в .htaccess: инструкция


.htaccess — файл, позволяющий менять глобальные настройки и конфигурации веб-сервера Apache.


Найдите файл .htaccess в корневой папке сайта

Иногда для настройки редиректов необходимо связаться с саппортом хостинга.


В скачанном с сайта файле .htaccess все редиректы прописывайте в конце, после исходного содержимого

Пишем простой пример:

Redirect 301 / <http://www.new-site.com/>

Разбираем:

  • Redirect 301 — инструкция, говорящая о том, что страница перемещена;
  • слэш / — указывает на то, что с верхнего уровня сайта (включая подкаталоги) всё будет переадресовано;
  • http://www.new-site.com/ — новая страница/сайт.

Переадресуем конкретную страницу:

Redirect 301 /old/old.htm <http://www.new-site.com/new.htm>

Переадресуем сайт:

RedirectPermanent / <http://www.new-site.com/>

Переадресуем каталог:

RedirectPermanent /old-directory <http://www.new-site.com/new-directory/>

Памятка: распространенные 301 редиректы и их реализация


301 редирект, перенаправляющий с сайта www на сайт без www:

RewriteCond %{HTTP_HOST} ^www.site\\.ru$ [NC]
RewriteRule ^(.*)$ <http://site.ru/$1> [R=301,L]

или

RewriteCond %{HTTP_HOST} ^www\\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.site.ru/$1/ [L,R=301]

или

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://www.site.ru/$1/ [R=301,L]


Файл .htaccess с двумя редиректами: с сайта с www на сайт без www и со страниц без / на страницы со / в конце

301 редирект со старого домена на актуальный домен:

RewriteCond %{HTTP_HOST} ^old-site\\.ru$ [NC]
RewriteRule ^(.*)$ <http://site.ru/$1> [R=301,L]

301 редирект со страницы на другую страницу:

RewriteRule ^dir/$ [<http://www.site.ru/new-dir/>](<http://www.site.ru/new-dir/>)
[R=301,L]

301 редирект с http на https:

RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ <https://www.mydomain.com/$1> [R=301,L]

301 редирект с https на http:

RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ <http://www.mydomain.com/$1> [R=301,L]

Избавляемся от дублей на сайте

Простой редирект поможет справиться с дублями страниц, засоряющими выдачу. Например, для поисковых систем адреса https://www.site.ru/ и https://www.site.ru — совершенно разные, поэтому нужно определиться, какой вариант использовать: со слэшем (/) или без.

С помощью 301 редиректа убираем слэш:

RewriteEngine On
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

С помощью 301 редиректа добавляем слэш:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Заменяем файлы .htm на файлы .html:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]

Особенности 301 редиректа, о которых полезно знать


Методы редиректа с .htaccess срабатывают только на серверах с ОС Linux, с установленным Apache и включенным Mod-Rewrite. Кстати, .htaccess дополнительно нагружает сервер Apache, потому прописывать те же команды в hpptd.conf куда эффективнее, однако веб-мастерам редко предоставляют доступы к конфигурационным файлам.

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

Избегайте исправления файла .htaccess напрямую через CMS сайта! В случае критической ошибки в действиях административная панель прекратит работу, а для восстановления потребуется FTP / SSH-доступ. Используйте для доступа к каталогам и файлам на сайте любой из FTP-клиентов, который вам удобен: FileZilla, WinSCP, FAR Manager, FireFTP, Total Commander, Cyberduck. Запросите доступы FTP для проекта у менеджера по документам, зайдите на FTP-клиент, заполните окошки «хост», «имя пользователя», «пароль». В корневом разделе сайта найдите .htaccess, далее скачайте и сделайте бэкап перед началом работы.

При реализации 301 редиректа для поисковой системы Яндекс не забудьте дополнительно прописать в файле robots.txt директиву host, чтобы «склейка» сайтов была произведена корректно. И еще: «склейка» и передача PR занимает довольно много времени (сроки зависят от скорости обработки роботами поисковых систем), поэтому не удаляйте старую страницу/сайт, пока не убедитесь в окончательном переносе.

Чего НЕ нужно делать при работе с 301 редиректом

  • Не применяйте иные статус-коды ответа сервера в случаях, где требуется 301 редирект. Совет распространяется на настройку https, настройку зеркал сайта с www и т. д. Самая частая ошибка, допускаемая по незнанию, — настройка временного 302 редиректа вместо постоянного 301 редиректа. В результате такой настройки роботы поисковых систем получают данные о том, что страницы перемещены на время, хотя это не так. В дальнейшем эта ошибка может привести к пессимизации сайта поисковыми системами.
  • Опасайтесь запуска циклической переадресации. Из-за некорректной настройки .htaccess или неправильной работы плагина CMS может образоваться целая цепочка перенаправлений. Циклическая переадресация приводит к ошибке ERR_TOO_MANY_REDIRECTS при запросе перенесенной страницы.

  • Не перенаправляйте запросы на страницу 404. Регулярно проверяйте сайт на битые ссылки.
  • Не ставьте подряд два, три и более редиректов. Переизбыток перенаправлений увеличивает нагрузку на сервер, замедляя загрузку сайта. В результате теряется вес конечной страницы.
  • Не настраивайте переадресацию для страниц с несколькими URL, которые относятся к разным каталогам. В качестве альтернативы применяйте rel=canonical.
  • Не ставьте редиректы на похожие страницы, содержащие разную информацию. К примеру, на 2 схожих по характеристикам товара в интернет-магазине.
  • Не применяйте редиректы в работе со служебными файлами. Файл robots.txt при любых переездах оставляйте доступным, чтобы роботы Гугла и Яндекса свободно его распознавали и обрабатывали.

Обязательно перепроверяйте результаты настройки. Работа с редиректами — дело тонкое, а от опечаток и ошибок, в итоге нарушающих работоспособность сайта, не застрахован никто. И помните о том, что браузеры кэшируют редиректы, поэтому проверку проводите только после очистки кэша. Удачи в реализации!

Закрыть
ЕСТЬ ПРОЕКТ?
давайте его обсудим, продумаем и сделаем!
Нажимая «Отправить запрос» вы соглашаетесь с политикой конфиденциальности

Мы гарантируем полную конфиденциальность данных, которые Вы оставите в данной форме. Вся информация не передается третьим лицам без Вашего согласия.

Закрыть
Запрос принят
Спасибо что выбрали нас

В ближайшее время мы свяжемся с вами для уточнения деталей заказа.