Как настроить редиректы в WordPress
Опубликовано: 05.09.2018
Редирект — это перенаправление браузера с одной веб-страницы на другую. В этой статье мы расскажем чем могут быть полезны подобные перенаправления, и рассмотрим несколько вариантов настройки редиректов в WordPress.
Зачем нужны редиректы
Редиректы чаще всего используются при смене домена или адреса сайта. Это позволяет посетителям и поисковым роботам находить содержимое используя старые адреса, и не терять при этом все внешние ссылки указывающие на старый домен.
При смене формата постоянных ссылок (ЧПУ) в WordPress, тоже часто настраивают редиректы, хотя во многих случаях ядро WordPress может самостоятельно настроить внутренние перенаправления. Это также касается смены названия определенной статьи или страницы.
Wordpress SEO. Урок 4 - зеркала сайта и 301 редирект
Редиректы также используются для создания упрощенных или укороченных версий некоторых более длинных адресов. Например на WP Magazine мы используем адрес wpmag.ru/subscribe для переадресации пользователей на форму подписки на рассылку MailChimp. Плюсом в таком подходе является то, что при смене провайдера почтовых рассылок, нам нужно будет изменить адрес лишь в одном месте.
Типы редиректов
Существует два основных типа редиректов — постоянный (301) и временный (302, или иногда 307). Числа в скобках это коды, используемые в протоколе HTTP при перенаправлении.
Проверка редиректа в Google Chrome
Чтобы узнать, какой тип редиректа используется в конкретном случае, можно воспользоваться вкладкой Network/Сеть в панели для разработчиков браузера Chrome или Firefox, и просмотреть заголовки передаваемые веб-сервером.
Учтите, что постоянный редирект не означает, что его нельзя будет в будущем изменить. Постоянные редиректы запоминаются браузерами и поисковыми системами на более долгий срок, чем временные редиректы.
Редирект с помощью плагина в WordPress
Самым популярным плагином для работы с редиректами в WordPress является Redirection . Данный плагин насчитывает более двух миллионов скачиваний и полностью совместим с последней версией WordPress.
Плагин Redirection позволяет создавать неограниченное количество редиректов, просматривать статистику по перенаправлениям, а также отслеживать ошибки 404 (не найдено) на сайте WordPress. Redirection также поддерживает регулярные выражения.
В качестве альтернативы можно рассмотреть более новый плагин Safe Redirect Manager от разработчиков из компании 10up. Данный плагин имеет более приятный пользовательский интерфейс, поддерживает регулярные выражения и полностью поддерживает режим Multisite .
Плагин Simple Redirect Manager
Следует также упомянуть плагин Simple 301 Redirects , который является более простым решением для перенаправлений в WordPress. Именно данный плагин мы используем на сайте WP Magazine.
Плагин Simple 301 Redirects
Редирект с помощью .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 и Яндекс. Они покажут вам несуществующие страницы на вашем сайте, на которые ссылаются другие страницы. Подобное поведение часто является результатом потерянных редиректов или опечаток в адресах.
Сегодня | Завтра | ||
USD | 32.62 | 32.50 | |
EUR | 39.90 | 39.92 |
Обменник | Переходов |
Wmchanger | 6 |
E-Market | 5 |
WMtoCash.com | 4 |
Str-Money | 3 |
Hot-Change | 3 |
Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки | |
Кошелек
|
|
Код
|
|
Обмен Webmoney |