Как настроить редиректы в WordPress

Опубликовано: 08.03.2018

видео Как настроить редиректы в WordPress

Быстрая настройка редиректов на WordPress

Редирект — это перенаправление браузера с одной веб-страницы на другую. В этой статье мы расскажем чем могут быть полезны подобные перенаправления, и рассмотрим несколько вариантов настройки редиректов в WordPress.



Зачем нужны редиректы

Редиректы чаще всего используются при смене домена или адреса сайта. Это позволяет посетителям и поисковым роботам находить содержимое используя старые адреса, и не терять при этом все внешние ссылки указывающие на старый домен.

При смене формата постоянных ссылок (ЧПУ) в WordPress, тоже часто настраивают редиректы, хотя во многих случаях ядро WordPress может самостоятельно настроить внутренние перенаправления. Это также касается смены названия определенной статьи или страницы.


Как правильно настроить 301-й редирект в .htaccess и не только? Просто о сложном

Редиректы также используются для создания упрощенных или укороченных версий некоторых более длинных адресов. Например на WP Magazine мы используем адрес wpmag.ru/subscribe для переадресации пользователей на форму подписки на рассылку MailChimp. Плюсом в таком подходе является то, что при смене провайдера почтовых рассылок, нам нужно будет изменить адрес лишь в одном месте.

Типы редиректов

Существует два основных типа редиректов — постоянный (301) и временный (302, или иногда 307). Числа в скобках это коды, используемые в протоколе HTTP при перенаправлении.

Чтобы узнать, какой тип редиректа используется в конкретном случае, можно воспользоваться вкладкой Network/Сеть в панели для разработчиков браузера Chrome или Firefox, и просмотреть заголовки передаваемые веб-сервером.

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

Редирект с помощью плагина в WordPress

Самым популярным плагином для работы с редиректами в WordPress является  Redirection . Данный плагин насчитывает более двух миллионов скачиваний и полностью совместим с последней версией WordPress.

Плагин Redirection позволяет создавать неограниченное количество редиректов, просматривать статистику по перенаправлениям, а также отслеживать ошибки 404 (не найдено) на сайте WordPress. Redirection также поддерживает регулярные выражения.

В качестве альтернативы можно рассмотреть более новый плагин  Safe Redirect Manager  от разработчиков из компании 10up. Данный плагин имеет более приятный пользовательский интерфейс, поддерживает регулярные выражения и полностью поддерживает  режим Multisite .

Следует также упомянуть плагин  Simple 301 Redirects , который является более простым решением для перенаправлений в WordPress. Именно данный плагин мы используем на сайте WP Magazine.

Редирект с помощью .htaccess

Если ваш хостинг-провайдер использует веб-сервер Apache, то вам наверняка предоставлен доступ к дополнительному файлу конфигурации .htaccess, в котором можно настроить редиректы, например:

Redirect 301 /subscribe http://example.org/path/to/subscribe

А с помощью директивы RedirectMatch в файле .htaccess можно настроить редиректы с использованием регулярных выражений:

RedirectMatch ^/foo/(.*)$ http://example.org/bar/$1

Если на вашем сервере используется nginx, то редиректы можно настроить в файле конфигурации веб-сервера с помощью директивы rewrite в контексте server. Учтите, что если вы используете shared-хостинг, прямого доступа к файлам конфигурации nginx у вас скорее всего не будет, но большинство хостинг-провайдеров позволяют добавить перенаправления через специальный интерфейс , или с помощью службы технической поддержки.

rewrite ^/foo/(.*)$ http://example.org/bar/$1 permanent;

Плюсом данных методов является то, что редиректы обрабатываются еще до запуска обработчика .php файлов и WordPress, поэтому такие редиректы как правило создают меньше нагрузки на сервер, хотя при грамотном кэшировании HTTP запросов в WordPress, это не имеет значения.

Использование wp_redirect () и wp_safe_redirect ()

В WordPress есть две встроенные функции для редиректов: wp_redirect() и wp_safe_redirect().

Данные функции отличаются только тем, что wp_safe_redirect() проверяет адрес и сравнивает его со списком «разрешенных» хостов. Этим списком можно управлять с помощью специального  фильтра  allowed_redirect_hosts.

Вторым аргументом к функциям можно указать тип редиректа, например 301 или 302. Использовать эти функции можно в собственном плагине, что может быть легкой альтернативой выше-упомянутым плагинам, особенно для опытных разработчиков WordPress:

add_action( 'template_redirect', function() {

if ( preg_match( '#^/subscribe/?$#i', $_SERVER['REQUEST_URI'] ) ) {

wp_redirect( 'http://example.org/path/to/subscribe', 301 );

exit;

}

} );

Заключение

В заключение стоит отметить, что редиректы это первое, что чаще всего теряется при переезде сайта от одного хостинг-провайдера к другому. Поэтому все редиректы лучше хранить в одном месте.

Также советуем использовать инструменты для веб-мастеров от поисковых систем Google и Яндекс. Они покажут вам несуществующие страницы на вашем сайте, на которые ссылаются другие страницы. Подобное поведение часто является результатом потерянных редиректов или опечаток в адресах.

Источник

Похожие материалы:

Автор публикации

не в сети 2 дня

admin

создание сайтов, seo, smm

Комментарии: 50 Публикации: 491 Регистрация: 06-11-2011
rss