Что такое 301 редирект и как его настроить на WordPress

Опубликовано: 2018-07-25

301 Редирект перенаправляет. Он используется для перенаправления пользователей на другой URL-адрес (страницу или запись сайта), отличный от того, который они изначально запрашивали. Например, если человек в адресной строке пишет your-site.com при правильной настройке, он перейдет на www.your-site.com или наоборот.  

Кроме того, мы поможем вам реализовать эти редиректы, сохранив при этом существующий трафик и SEO.

Пять типов URL-редиректов

  • 301 — Постоянная переадресация. Используется, чтобы сообщить поисковым системам, что страница навсегда изменила свое местоположение. В 99,44% случаев вы будете использовать этот тип.
  • 302 — Временное перенаправление. Используется, чтобы сообщить поисковым системам, что страница изменила свое местоположение в данный момент, а не навсегда.
  • 303 — См. Другое перенаправление. Иногда используется в интернет-магазинах для проверки, не добавлялись ли страницы с разовыми данными во вкладки или просто обновлялись. Этот код ответа сообщает браузеру, что запрошенный документ должен быть запрошен методом GET, даже если исходный запрос был выполнен другим методом. Это код ответа, введенный для замены кода 302 в протоколе HTTP/1.1.
  • 307 — «Запрошенный документ доступен в течение короткого времени по другому URI», сообщает браузеру, что запрошенный документ требуется запрашивать методом (GET/POST), к которому был сделан первичный запрос, изменяя метод запроса запрещено. Этот код ответа также вводится для замены кода 302 в протоколе HTTP/1.1. Временная переадресация. Он работает как перенаправление 303, но с некоторыми изменениями в способе передачи информации с одной страницы на другую.
  • 308 — «Запрошенный документ был окончательно перенесен на новый URI», этот код ответа был добавлен в HTTP/1.1 вместо кода 301, кроме того это означает, что метод запроса (GET/POST) не может изменяться при появлении нового URI перенесен. Если вы запросили ресурс в первом запросе с помощью метода GET, то второй запрос также необходимо выполнить с помощью метода GET.

Чаще всего для редиректа код ответа 301, поэтому редирект еще называют 301 редиректом. Во всех примерах в этой статье будет использоваться этот код ответа. Настроить 301 перенаправление можно разными способами: PHP, JS, .htaccess, а также с помощью специальных плагинов.

Мы рассмотрим, как это сделать с помощью плагина Redirection, а также отредактируем файл .htaccess.

Плагин перенаправления WordPress

Плагин перенаправления WordPress

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

Этот плагин уже давно на рынке и популярен благодаря тому, что очень легко импортировать список адресов в таблицу, поэтому вам не придется вручную вводить все редиректы.

02 - 301 Перенаправление - Установить сейчас

Чтобы установить плагин, просто введите «перенаправление» в поиске в разделе «Плагины» → «Добавить новый» в консоли WordPress.

После активации вы можете найти меню плагина через Инструменты → Перенаправление.

Что такое 301 редирект и как его настроить на WordPress

Чтобы создать перенаправление вручную, просто введите исходный URL-адрес и новый целевой URL-адрес в соответствующие поля, а затем нажмите кнопку «Добавить перенаправление». Это отличный и простой способ, когда нужно внести всего несколько изменений.

Добавьте перенаправление 301, отредактировав файл .htaccess

В разделе управления хостингом указываются данные для подключения к файлам вашего сайта по FTP. Для подключения нужно использовать ftp-клиент, например FileZilla.
После подключения приступаем к редактированию файла .htaccess. Он находится в корневом каталоге вашего сайта.

Для редактирования необходимо использовать такой редактор кода, в котором можно указать кодировку и формат конца строк, например, Notepad++.

Примеры перенаправления:

Перенаправление с HTTP на HTTPS

Перенаправьте http://example.com на https://example.com, включая все ссылки на веб-сайты:
После подключения ssl-сертификата следует добавить обязательный редирект с http на https, чтобы все ваши соединения были зашифрованы. Такой редирект исключит возможность подключения по протоколу http.

Для этого вставьте в самое начало файла .htaccess следующий код:

# BEGIN Redirect
RewriteEngine On
RewriteCond% {HTTP: X-Forwarded-Proto}! Https
RewriteRule ^ (. *) $ Https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301] 

# END Redirect


Перенаправление с WWW на не WWW

Перенаправление с www.example.com на example.com, включая ссылки:

# BEGIN Redirect
RewriteEngine On
RewriteBase /
RewriteCond% {HTTP_HOST} ^ www. (. *) $ [NC] RewriteRule ^ (. *) $ Http: //% 1 / $ 1 [R = 301, L] 

# END Redirect

Обратите внимание, если у вас есть прикрепленный ssl-сертификат, строка:

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

Стоит поменять на:

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

не с WWW на WWW перенаправление

# BEGIN Redirect
RewriteEngine On
RewriteCond% {HTTP_HOST}! ^ Www.
RewriteRule ^ (. *) $ Http: //www.% {HTTP_HOST} / $ 1 [R = 301, L]

 # END Redirect

 

Обратите внимание, если у вас есть прикрепленный ssl-сертификат, строка:

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

Стоит поменять на:

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

При настройке этого редиректа вам необходимо изменить имя вашего сайта в базе данных, добавив www. Вам нужно сделать это в phpMyAdmin, отредактировав строки
siteurl и home в таблице wp_options (если префикс таблицы в вашей базе данных — «wp_»).

Использование перенаправления в файле .htaccess

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

Перенаправить с www.example.com на example.com или перенаправить с example.com на www.example.com.

Перенаправление с http://example.com на https://example.com.

Есть много других правил, в частности, использование регулярных выражений. Но они индивидуальны и нужны не так часто, как описанные выше и их описание выходит за рамки данной статьи.

Если вам нужно написать более сложные правила перенаправления, рекомендуем посмотреть документацию по веб-серверу apache 2 и его модулю mod_rewrite, а также по регулярным выражениям формата PCRE:

https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html
https://httpd.apache.org/docs/2.4/rewrite/
http://pcre.org/current/doc/html/