Перейти к содержимому

Сайт редиректит на другой домен: причины, диагностика и исправление

Сайт редиректит на другой домен: причины, диагностика и исправление

Дата публикации: 5 июня 2026
Дата обновления: 5 июня 2026
Автор: Александр, технический специалист WordPress


Ситуация: вы открываете свой сайт на WordPress, а он мгновенно перенаправляет (редиректит) на совершенно другой, часто незнакомый или подозрительный домен. Это одна из самых пугающих проблем для владельцев сайтов, и она требует немедленного вмешательства. В этой статье разберём две основные причины — взлом и неправильные настройки базы данных — и дадим пошаговую инструкцию, как вернуть сайт под контроль.

Почему сайт редиректит на другой домен?

В 99% случаев причин две:

  1. Взлом (хак-редирект) — злоумышленник внедрил вредоносный код, который перенаправляет посетителей на сторонний ресурс (рекламный сайт, фишинговую страницу или сайт с вредоносным ПО).
  2. Неверные значения siteurl и home в таблице wp_options — частая ошибка при переносе сайта на новый домен, смене доменного имени или восстановлении из бэкапа.

Разберём каждую причину подробно.

Причина 1. Взлом (хак-редирект)

Это самая опасная причина. Сайт был взломан, и злоумышленник добавил код, который срабатывает при загрузке страницы. Хак-редиректы бывают «умными» — они перенаправляют не всех посетителей, а только определённые категории (например, только с Google, только с мобильных устройств, только раз в N часов). Это делает их труднообнаружимыми.

Где искать вредоносный код

1. Файлы темы (functions.php)

Самый популярный способ — добавить редирект в functions.php активной темы. Злоумышленник может вписать код в начало файла, замаскировав его под легитимную функцию.

// Пример вредоносного кода в functions.php
add_action('init', 'malicious_redirect');
function malicious_redirect() {
    if (!is_admin()) {
        wp_redirect('https://xn--bad-site-xxx.com');
        exit;
    }
}

Что делать: откройте wp-content/themes/ваша-тема/functions.php в редакторе (через админку или FTP) и проверьте первые 10-20 строк. Любой wp_redirect() без вашего ведома — подозрителен.

2. Файл .htaccess

Apache-серверы используют .htaccess для правил редиректа. Злоумышленник может дописать правило, которое перехватывает весь трафик.

# Пример вредоносного редиректа в .htaccess
RewriteCond %{HTTP_USER_AGENT} !^.*(bot|crawl|spider).*$ [NC]
RewriteRule ^(.*)$ https://xn--bad-site-xxx.com/$1 [R=302,L]

Что делать: откройте .htaccess в корне сайта. Ищите строки с чужими доменами. Если не уверены — временно переименуйте файл в .htaccess_backup. Стандартный .htaccess WordPress очень прост и безопасен.

3. Инфицированные плагины

Пиратские (nulled) плагины или давно не обновляемые — самый частый вектор атаки. Вредоносный код может быть глубоко в файлах плагина, зашифрован или обфусцирован.

Что делать: отключите все плагины через админку или переименовав папку wp-content/plugins/. Если редирект пропал — включайте плагины по одному, пока не найдёте виновника.

4. База данных — опции и пост-контент

Иногда вредоносный код лежит в wp_options (например, в widget_text или theme_mod) или внутри самих постов (через JavaScript-вставки).

SELECT * FROM wp_options WHERE option_value LIKE '%xn--bad-site%';
SELECT * FROM wp_posts WHERE post_content LIKE '%xn--bad-site%';

Как полностью очистить сайт от взлома

  1. Смените все пароли — админ WordPress, FTP/SFTP, база данных, хостинг-панель.
  2. Обновите всё — ядро WordPress, все плагины и тему до последних версий.
  3. Удалите подозрительных пользователей — проверьте список пользователей в админке (Пользователи → Все пользователи). Удалите незнакомых админов.
  4. Установите плагин безопасности — Wordfence, Sucuri Security или Solid Security для полного сканирования.
  5. Восстановите из бэкапа — если есть чистый бэкап до заражения, это самый надёжный способ.

Причина 2. Неверные значения siteurl и home

Если вы недавно переносили сайт на новый домен, восстанавливали из бэкапа на другой адрес или меняли доменное имя — проблема почти наверняка в настройках базы данных, а не во взломе.

Что такое siteurl и home?

В таблице wp_options хранятся две ключевые записи:

  • siteurl (option_name = ‘siteurl’) — адрес, по которому WordPress обращается к своим файлам (ядро, темы, плагины).
  • home (option_name = ‘home’) — адрес, который видят посетители (главная страница сайта).

Если после переноса на новый домен вы забыли обновить эти значения, WordPress будет редиректить на старый адрес.

Как исправить (4 способа)

Способ 1: Через phpMyAdmin (самый надёжный)

Зайдите в phpMyAdmin на хостинге, выберите базу данных сайта, откройте таблицу wp_options (префикс может отличаться — wp2_options, site_options и т.д.).

Найдите строки с option_name = 'siteurl' и option_name = 'home'. Измените их значения на правильный домен:

option_name option_value
siteurl https://ваш-правильный-домен.ru
home https://ваш-правильный-домен.ru

⚠️ Важно: URL должен быть без слеша в конце. Правильно: https://example.com. Неправильно: https://example.com/.

Способ 2: Через WP-CLI (если есть доступ по SSH)

wp option update siteurl 'https://ваш-правильный-домен.ru'
wp option update home 'https://ваш-правильный-домен.ru'

Способ 3: Через wp-config.php (экстренный)

Добавьте в файл wp-config.php перед строкой /* That's all, stop editing! Happy blogging. */:

define('WP_HOME', 'https://ваш-правильный-домен.ru');
define('WP_SITEURL', 'https://ваш-правильный-домен.ru');

После этого зайдите в админку, перейдите в Настройки → Общие и сохраните их ещё раз (это запишет правильные значения в базу). Затем удалите эти строки из wp-config.php.

Способ 4: SQL-запрос напрямую

UPDATE wp_options SET option_value = 'https://ваш-правильный-домен.ru' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://ваш-правильный-домен.ru' WHERE option_name = 'home';

Дополнительные проблемы после смены домена

Даже после исправления siteurl и home на новом домене могут остаться ссылки на старый домен внутри контента (в статьях, медиафайлах, произвольных полях). Для массовой замены используйте плагин Better Search Replace или SQL:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://старый-домен.ru', 'https://новый-домен.ru');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://старый-домен.ru', 'https://новый-домен.ru');

Как отличить взлом от конфигурационной ошибки

Признак Взлом Ошибка в siteurl/home
Редиректит на посторонний домен ✅ Да ❌ Нет (редиректит на старый свой домен)
Редиректит не всегда, а с условиями ✅ Часто ❌ Всегда
В админку зайти можно ❌ Может быть ✅ Обычно можно (через прямой URL /wp-admin)
Сайт переносили недавно ❌ Редко ✅ Почти всегда
В коде есть подозрительные вставки ✅ Да ❌ Нет

Если хотя бы на один вопрос ответили «Да» в колонке «Взлом» — начинайте с проверки на вредоносный код.

Профилактика

Чтобы проблема не повторилась:

  1. Регулярные бэкапы — файлов и базы данных. Автоматизируйте через плагин (UpdraftPlus, BlogVault) или на уровне хостинга.
  2. Своевременные обновления — включите автообновления для ядра WordPress.
  3. Надёжные пароли — используйте менеджер паролей и двухфакторную аутентификацию.
  4. Проверенные плагины — только из официального репозитория WordPress.org, никаких nulled-версий.
  5. Мониторинг — подключите сервис вроде Sucuri SiteCheck для регулярной проверки на вредоносный код.

Резюме

Если ваш сайт редиректит на незнакомый домен — сначала проверьте .htaccess и functions.php на вредоносный код. Если редиректит на старый домен после переноса — обновите siteurl и home в таблице wp_options через phpMyAdmin или WP-CLI. В любом случае не паникуйте: обе проблемы решаемы, а своевременный бэкап — ваша лучшая страховка.