
301 редирект – это постоянное перенаправление, сигнализирующее поисковым системам о том, что страница была окончательно перемещена на новый URL. В WordPress можно реализовать этот механизм без установки дополнительных плагинов, что позволяет уменьшить нагрузку на сайт и повысить скорость загрузки страниц.
Наиболее прямой способ настройки 301 редиректа – редактирование файла .htaccess, находящегося в корневой директории WordPress. Для Apache-серверов этот файл отвечает за обработку запросов до того, как они попадают в ядро WordPress. Пример перенаправления: Redirect 301 /staryj-url/ https://site.ru/novyj-url/. Убедитесь, что изменения вносятся между строками # BEGIN WordPress и # END WordPress не вносятся, чтобы избежать конфликта с автоматической конфигурацией.
Альтернативный метод – использовать функции WordPress, добавив PHP-код в файл functions.php активной темы. Пример:
add_action('template_redirect', function() {
if (is_page('staryj-url')) {
wp_redirect(home_url('/novyj-url/'), 301);
exit;
}
});
Этот подход полезен, когда требуется логика на уровне шаблонов или условий WordPress. Однако важно помнить, что при смене темы такой код перестанет работать, поэтому его лучше выносить в отдельный must-use плагин при необходимости постоянного использования.
Как создать 301 редирект через файл .htaccess

Откройте корневую директорию WordPress через FTP или файловый менеджер хостинга. Найдите файл .htaccess. Если он скрыт, включите отображение скрытых файлов.
Перед редактированием создайте резервную копию .htaccess.
Для постоянного перенаправления одного URL на другой добавьте следующую строку перед блоком # BEGIN WordPress:
Redirect 301 /staryj-url/ https://example.com/novyj-url/
/staryj-url/ – относительный путь от корня сайта. https://example.com/novyj-url/ – полный путь новой страницы.
Если требуется использовать условия или регулярные выражения, применяйте директиву RewriteRule. Убедитесь, что в файле активирован модуль mod_rewrite:
RewriteEngine On RewriteRule ^staryj-url$ https://example.com/novyj-url/ [R=301,L]
^staryj-url$ – шаблон URL без слеша на конце. Флаг [R=301,L] означает постоянный редирект и завершение обработки правила.
Для редиректа с HTTP на HTTPS используйте:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
После внесения изменений сохраните файл и проверьте результат в браузере или с помощью инструмента curl -I.
Добавление постоянного редиректа в functions.php темы

Для создания 301 редиректа без использования плагинов можно задействовать файл functions.php активной темы. Это позволит выполнять переадресацию на уровне WordPress, не затрагивая серверные настройки.
Добавьте следующий код в конец файла functions.php вашей темы:
add_action('template_redirect', 'custom_301_redirect');
function custom_301_redirect() {
if (is_page('staryj-url')) {
wp_redirect(home_url('/novyj-url/'), 301);
exit;
}
}
Замените 'staryj-url' на слаг старой страницы без слэша, а '/novyj-url/' – на путь новой страницы, обязательно со слэшем в конце.
Чтобы настроить несколько редиректов:
add_action('template_redirect', 'multiple_301_redirects');
function multiple_301_redirects() {
$redirects = array(
'staryj-url' => '/novyj-url/',
'drugoj-url' => '/drugoj-novyj-url/',
);
foreach ($redirects as $old_slug => $new_path) {
if (is_page($old_slug)) {
wp_redirect(home_url($new_path), 301);
exit;
}
}
}
Избегайте добавления редиректов внутри условных операторов, зависящих от внешних параметров, так как функция is_page() не сработает вне цикла запроса. Проверяйте, что указанные слаги существуют, чтобы исключить конфликты. После добавления кода проверьте редиректы в приватном окне браузера или отключите кэш перед тестированием.
Настройка редиректа на уровне сервера Apache
Для реализации 301 редиректа без использования плагинов в WordPress, достаточно внести изменения в файл .htaccess, находящийся в корне сайта. Этот файл должен быть доступен для записи и поддерживать модуль mod_rewrite.
- Откройте файл
.htaccessв корне установленного WordPress. - Убедитесь, что строки
RewriteEngine OnиRewriteBase /присутствуют в блоке WordPress. - Добавьте редиректы до стандартного блока WordPress, чтобы они не были перезаписаны движком.
Примеры корректных 301 редиректов:
# Редирект со старой страницы на новую
Redirect 301 /staraia-stranitsa https://example.com/novaya-stranitsa
# Редирект со старого домена на новый
RewriteEngine On
RewriteCond %{HTTP_HOST} ^staryi-domen\.ru$ [NC]
RewriteRule ^(.*)$ https://novyi-domen.ru/$1 [L,R=301]
# Редирект с HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Избегайте циклических редиректов – каждый URL должен иметь только один путь перенаправления.
- Проверяйте результат через инструменты, такие как httpstatus.io.
- После изменений проверьте работоспособность сайта – ошибки в
.htaccessмогут привести к полной недоступности ресурса.
Применение 301 редиректа для изменения структуры URL

При изменении структуры постоянных ссылок в WordPress важно сохранить доступность старых адресов. Это необходимо для сохранения позиций в поисковой выдаче и предотвращения ошибок 404. Для этого используется редирект 301, указывающий поисковым системам на постоянный перенос страницы.
Чтобы настроить редиректы вручную, откройте файл .htaccess, расположенный в корне сайта. Добавьте правила до блока # BEGIN WordPress. Пример переноса всех URL со структуры /category/post-name на /post-name:
RedirectMatch 301 ^/category/(.*)$ /$1
Если структура изменилась более кардинально, используйте регулярные выражения. Например, чтобы перенаправить все статьи из папки /blog/ на /articles/:
RedirectMatch 301 ^/blog/(.*)$ /articles/$1
После внесения изменений проверьте корректность редиректов с помощью консоли браузера или инструментов вроде curl и Redirect Checker. Ошибки в правилах могут привести к циклическим редиректам или потере трафика.
При большом количестве адресов стоит создать карту старых и новых URL и прописывать каждое правило отдельно. Это обеспечивает точный контроль и предсказуемость поведения сайта после изменения структуры ссылок.
Перенаправление старых страниц после смены домена

Для перенаправления всех URL со старого домена на новый используйте файл .htaccess в корне старого сайта. Добавьте следующую директиву:
Redirect 301 / https://новый-домен.ru/
Эта команда гарантирует, что все запросы на старый домен будут перенаправлены на соответствующие адреса нового домена, сохраняя структуру URL. Например, старый-домен.ru/page автоматически станет новый-домен.ru/page.
Если структура изменилась, настройку нужно уточнить. Для индивидуальных редиректов используйте правила с регулярными выражениями через модуль mod_rewrite:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^старый-домен\.ru$ [NC]
RewriteRule ^старый-путь/(.*)$ https://новый-домен.ru/новый-путь/$1 [R=301,L]
Избегайте цепочек редиректов. Каждая старая страница должна иметь прямой путь к новой. Проверьте корректность с помощью инструмента httpstatus.io.
После переноса обновите адреса в настройках WordPress: «Настройки» → «Общие». Укажите новый URL сайта и WordPress. Проверьте wp-config.php на наличие параметров WP_HOME и WP_SITEURL, если заданы – измените вручную.
Добавьте оба домена в Google Search Console. Настройте перемещение сайта, чтобы поисковики быстро переиндексировали новые URL и перенесли авторитет домена.
Проверка работы 301 редиректа без сторонних инструментов

Для проверки работы 301 редиректа без использования сторонних инструментов можно воспользоваться стандартными возможностями браузера и командной строки. Рассмотрим несколько методов, которые позволяют удостовериться в правильности перенаправления.
Первый способ – использование инструментов разработчика в браузере. Откройте нужную страницу в браузере, затем нажмите правой кнопкой мыши и выберите «Инспектировать» или используйте сочетание клавиш F12. Перейдите на вкладку «Сеть» (Network). После этого обновите страницу и посмотрите на запрос, который будет отправлен серверу. В строке с запросом будет указан статус HTTP (например, 301). Если редирект настроен правильно, вы увидите ответ сервера с кодом 301, что означает постоянное перенаправление.
Второй способ – использование командной строки для выполнения HTTP-запроса с помощью утилиты curl. Откройте терминал и выполните команду:
curl -I http://ваш-сайт.ru/старый-адрес
В ответе вы получите заголовки HTTP-ответа, где будет указан код статуса (301) и новый URL, куда происходит редирект. Этот метод удобен для быстрой проверки работы редиректа без использования браузера.
Третий способ – проверка через консоль браузера. Для этого откройте консоль (F12), перейдите на вкладку «Сеть» и введите адрес старой страницы в строку браузера. Если редирект настроен правильно, то сразу после загрузки страницы вы увидите, что запрос был перенаправлен на новый URL, и это отобразится в панели инструментов.
Проверив результат одним из этих способов, вы получите точную информацию о том, работает ли 301 редирект, без необходимости использовать сторонние инструменты или плагины.
Избежание циклических редиректов при ручной настройке

Циклические редиректы возникают, когда браузер перенаправляет пользователя с одного URL на другой, а затем снова возвращает его на исходный адрес. Это может привести к бесконечному циклу, из-за которого сайт становится недоступен. При настройке 301 редиректа вручную важно учитывать несколько ключевых факторов, чтобы избежать таких ситуаций.
1. Проверка текущих редиректов. Прежде чем добавлять новый редирект, необходимо убедиться, что на сайте уже нет настроенных перенаправлений, которые могут вызвать конфликт. Например, если на старом URL уже настроен редирект на новый адрес, а затем вы добавите еще один редирект с этого нового адреса обратно на старый, цикл будет неминуем. Проверьте файл .htaccess или другие файлы конфигурации сервера на наличие предыдущих редиректов.
2. Тщательное тестирование редиректов. После внесения изменений в конфигурацию необходимо протестировать работу всех редиректов, чтобы убедиться, что они не приводят к циклическим ссылкам. Используйте инструменты, такие как curl или онлайн-сервисы для проверки цепочек редиректов и диагностики возможных ошибок.
3. Уникальные условия для разных URL. Важно понимать, что редиректы должны быть четко определены для конкретных URL. Применение одного редиректа ко всем страницам на сайте или использование «wildcard» (масок) без точных условий может привести к конфликтам. Убедитесь, что каждый редирект настраивается для уникальной пары исходного и целевого адреса.
4. Предотвращение рекурсии редиректов. Убедитесь, что ваш сервер или CMS (например, WordPress) не добавляет новые редиректы, если они уже существуют. В случае использования WordPress, иногда плагины могут автоматически генерировать редиректы, которые не были вами предусмотрены. Поэтому важно отключать или корректировать их поведение, чтобы избежать конфликта.
5. Правильная настройка домена. При ручной настройке редиректов не забудьте учитывать возможные нюансы работы с доменом. Например, редирект с www на без www или наоборот, если настроен неправильно, может привести к циклическому перенаправлению. Убедитесь, что редиректы с поддоменов или на разные версии доменов (HTTP/HTTPS) прописаны корректно.
6. Использование абсолютных URL. В некоторых случаях, вместо использования относительных путей в редиректах, предпочтительнее прописывать полные, абсолютные URL. Это снижает вероятность возникновения циклических редиректов, так как путь будет точно определен.
7. Документирование изменений. Ведение журнала изменений и отслеживание редиректов в конфигурации поможет выявить, когда и где произошел сбой, если цикл все же возник. Это также поможет вам при необходимости отменить изменения и восстановить прежнюю конфигурацию.
Правильная настройка 301 редиректа требует внимания к деталям и тщательного контроля за конфигурацией сервера. Следуя этим рекомендациям, можно избежать появления циклических редиректов и обеспечить стабильную работу сайта.
Вопрос-ответ:
Что такое 301 редирект и почему его стоит настроить в WordPress?
301 редирект — это код ответа сервера, который указывает, что страница была окончательно перемещена на новый адрес. Это важно, чтобы сохранить позиции в поисковых системах, а также обеспечить правильный доступ пользователей к обновленным URL. Если ваш сайт изменяет структуру или URL страниц, использование 301 редиректа помогает избежать потери трафика и сохранит SEO-результаты.
Как проверить, что 301 редирект работает правильно?
Для проверки редиректа можно использовать различные онлайн-сервисы, например, Redirect Checker. Просто введите старый URL, и сервис покажет, правильно ли происходит перенаправление. Также можно проверить редирект с помощью инструмента разработчика в браузере: откройте вкладку «Сеть» и смотрите на код ответа сервера. Если код 301 отображается, значит редирект настроен корректно.
Какие ошибки могут возникнуть при настройке 301 редиректа в WordPress?
Ошибки при настройке 301 редиректа могут возникнуть по нескольким причинам. Одна из самых распространенных — неправильный синтаксис в файле .htaccess или functions.php, что может привести к сбоям на сайте. Также стоит учитывать, что если настроить редиректы на неправильные страницы или не обновить все ссылки, это может создать проблемы для пользователей и поисковых систем. Перед внесением изменений всегда рекомендуется сделать резервную копию файла .htaccess или functions.php.
Что такое 301 редирект и зачем он нужен в WordPress?
301 редирект — это метод перенаправления пользователей и поисковых систем с одного URL на другой, что помогает избежать ошибок 404 (страница не найдена). Это перенаправление сообщает поисковым системам, что старый адрес перенесён на новый, и помогает сохранить поисковый рейтинг старой страницы. В WordPress 301 редирект можно настроить без плагинов, используя настройки сервера или файл .htaccess.
