Как удалить redirect cycling в WordPress после переноса сайта

Что такое redirect cycling и почему он появляется после переноса WordPress

Redirect cycling (циклическая переадресация) — это ситуация, когда браузер постоянно перенаправляется между двумя или более URL, что приводит к ошибке «Too Many Redirects» или бесконечному циклу загрузки. В WordPress такая проблема часто возникает после переноса сайта на новый домен или хостинг. Основные причины — неправильные настройки URL, конфликт плагинов или ошибки в файле .htaccess.

Диагностика redirect cycling после переноса сайта

Для выявления причины редирект цикла выполните следующие шаги:

  • Проверьте значения siteurl и home в таблице wp_options базы данных.
  • Проанализируйте файл .htaccess на предмет лишних правил редиректа.
  • Отключите все плагины, особенно кеширующие и SEO-плагины.
  • Проверьте конфигурацию SSL и настройки HTTPS.
  • Используйте инструменты браузера (DevTools > Network) для отслеживания цепочки редиректов.

Проверка URL в базе данных

SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');

Значения должны соответствовать новому домену без лишних слэшей и протоколов.

Анализ цепочки редиректов

В командной строке выполните:

curl -I -L https://example.com

Обратите внимание на повторяющиеся переходы между одними и теми же URL.

Пошаговое решение проблемы redirect cycling

1. Исправляем URL в базе данных

Если URL не совпадают с новым доменом, исправьте их через SQL или wp-cli:

wp option update home 'https://newdomain.com'
wp option update siteurl 'https://newdomain.com'

2. Временное отключение плагинов

Переименуйте папку wp-content/plugins через FTP или SSH, чтобы отключить все плагины. Если редиректы пропали, включайте их по одному для выявления виновника.

3. Проверка файла .htaccess

Замените содержимое .htaccess на стандартный код WordPress:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

4. Настройка HTTPS и SSL

Проверьте, не вызывает ли редирект цикл принудительное переключение с HTTP на HTTPS в коде или плагинах. Для теста временно отключите принудительные редиректы HTTPS.

5. Использование define в wp-config.php для жесткой установки URL

define('WP_HOME','https://newdomain.com');
define('WP_SITEURL','https://newdomain.com');

Этот способ позволяет обойти проблемные записи в базе данных.

Проверка результата после внедрения решений

  • Очистите кеш браузера и кеш на сервере (если используется).
  • Выполните curl -I -L https://newdomain.com и убедитесь, что цепочка редиректов не повторяется.
  • Проверьте сайт вручную, убедитесь, что он загружается без ошибок.
  • Просмотрите логи сервера на предмет ошибок переадресации.

Частые ошибки при устранении redirect cycling

  • Неправильный формат URL в базе данных: лишние слэши, отсутствие https:// или http:// приводят к циклам.
  • Конфликт плагинов: два плагина одновременно пытаются принудительно редиректить на HTTPS или менять URL.
  • Ошибки в .htaccess: неправильные правила перенаправления с регулярными выражениями.
  • Закешированные старые редиректы: кеш браузера или серверный кеш мешают проверить изменения.
  • Настройка HTTPS без сертификата или с ошибками: это может вызвать постоянные перенаправления.

Практические советы для предотвращения redirect cycling после переноса

  • Перед переносом экспортируйте настройки URL и убедитесь, что они корректны.
  • Используйте wp-cli для массового поиска и замены URL в базе данных:
wp search-replace 'http://olddomain.com' 'https://newdomain.com' --all-tables
  • Временно отключайте плагины, которые могут влиять на редиректы при тестировании.
  • Используйте плагины для управления редиректами (например, Redirection), но настраивайте их аккуратно.
  • Проверяйте файл .htaccess и избегайте дублирующих правил.
  • Убедитесь в правильной настройке SSL и HTTPS, используйте плагины типа Really Simple SSL с осторожностью.

Сравнение способов решения redirect cycling

МетодПростотаРиск ошибокКомпромисс
Изменение URL в базе данныхСредняяНизкийТребуется доступ к базе и осторожность с поиском и заменой
Правка .htaccessСредняяСреднийМожно случайно сломать доступ к сайту
Отключение плагиновВысокаяНизкийВременное, нужно выявить конфликтующий плагин
Определение URL в wp-config.phpПростаяНизкийПереопределяет базу, но не лечит корень проблемы
Как автоматизировать удаление спама в комментариях WordPress
27.11.2025
Оптимизация базы данных WordPress с помощью WP-Host: практические советы и примеры
04.11.2025
Как использовать PHPMailer в WordPress для отправки писем с примерами кода
16.02.2026
Как автоматизировать раскрытие и закрытие блоков в WordPress с помощью JavaScript и PHP
02.03.2026
Как разрешить доступ к WordPress по IP адресу
21.12.2025