Безопасность

WordPress перенаправляет на спам-сайт: что делать

МаксимИнженер по WordPress · 10+ лет с WordPress и WooCommerce10 мин чтения54 просмотра

С Wi-Fi и ПК всё ок, с 4G — казино или «приз». Типичный cloaking-редирект после взлома, не сбой хостинга. Как проверить за 5 минут и где искать код — без полной переустановки вслепую.

В статье
  • Как отличить взлом-редирект от других проблем
  • Быстрая проверка за 5 минут
  • Где прячут редирект-вирусы
  • Порядок действий (краткий)

Нужна помощь — аудит и очистка.

WordPress перенаправляет на спам-сайт: что делать

С компьютера сайт открывается нормально, с телефона через мобильный интернет — улетает на казино или «вы выиграли приз». Владелец неделю не замечает, пока клиенты не пишут или Яндекс.Вебмастер не покажет предупреждение. Это типичный редирект-вирус с cloaking — не поломка хостинга и не «вирус на телефоне». Ниже — как подтвердить симптом за 5 минут, где искать код и что делать до полной очистки.

Как отличить взлом-редирект от других проблем

Проверка редиректа WordPress с мобильного
Проверка с 4G и инкогнито — половина редирект-вирусов прячется от Wi-Fi и десктопа.

Редирект на спам — симптом заражения, а не отдельная «поломка WordPress». Частые ложные срабатывания:

  • Редирект в .htaccess после переноса на HTTPS — легитимный 301, без чужого домена.
  • Плагин редиректа (Redirection, Rank Math) — правило на старый URL; видно в админке.
  • Кэш CDN/браузера — старая версия страницы; проверьте инкогнито.
  • DNS у регистратора — редко, но A-запись могла смениться на чужой сервер (проверьте whois и DNS в панели домена).

Признаки именно вируса:

  • редирект на чужой домен (казино, ставки, «приз», фарма);
  • срабатывает только с мобильного или только из поиска Google/Яндекса;
  • в админке всё «зелёное», антивирус ПК чист;
  • в Search Console / Вебмастере — «вредоносное ПО» или лишние страницы в site:домен.ru.

Полный план восстановления после взлома (8 шагов, бэкап, переустановка ядра) — в статье «Сайт на WordPress взломали». Здесь — фокус на диагностике и поиске редиректа.

Быстрая проверка за 5 минут

  1. Телефон, режим «В самолёте» выключен, Wi-Fi выключен, только 4G/5G — откройте главную в режиме инкогнито. Повторите для 2–3 внутренних страниц.
  2. Десктоп, инкогнито — тот же URL. Если на десктопе ок, на мобильном редирект — классический mobile cloaking.
  3. User-Agent подмена — в Chrome DevTools → Network conditions → Custom user agent → типичный Android Chrome. Иногда редирект виден только так.
  4. Sucuri SiteCheck (sitecheck.sucuri.net) — бесплатный внешний скан.
  5. Яндекс.Вебмастер → Безопасность и нарушения и Google Search Console → «Проблемы безопасности».
  6. Поиск site:ваш-домен.ru — чужие title/URL в выдаче = doorway-спам в БД или файлах.

Зафиксируйте URL, куда уводит редирект, и с какого устройства — пригодится при очистке и заявке в поддержку хостинга.

Где прячут редирект-вирусы

Вредоносные правила в htaccess WordPress
Подозрительные RewriteCond по User-Agent или Referer в .htaccess — частый источник mobile-редиректа.

1. Файл .htaccess в корне

Откройте по FTP/SFTP. Сравните с эталоном WordPress (блок между # BEGIN WordPress и # END WordPress). Всё до или после этого блока с условиями — подозрительно:

  • RewriteCond %{HTTP_USER_AGENT} (iPhone, Android, Mobile);
  • RewriteCond %{HTTP_REFERER} (google, yandex);
  • редирект на домен, которого нет в ваших настройках.

Легитимный перенос на HTTPS обычно редиректит на ваш же домен. Чужой URL — вирус.

2. index.php и wp-config.php

Вредоносный код в index.php WordPress
1–3 строки в начале index.php с eval или include на чужой URL — типичная вставка.

В index.php не должно быть ничего до стандартного комментария WordPress, кроме <?php и require wp-blog-header.php. Лишние include, eval, base64_decode — заражение.

В wp-config.php — только константы WordPress и подключение ядра. Строки include / require на файлы в uploads или с случайными именами — удалять после бэкапа.

3. Тема: functions.php, header.php, footer.php

Вирус часто дописывает JS-редирект в footer.php или PHP в конец functions.php (после закрывающего ?> или в середине). Сравните с чистой версией темы с wordpress.org / ThemeForest — diff покажет лишнее.

Если правки в дочерней теме — проверьте и родительскую: вирус любит прятаться в parent, пока вы смотрите только child.

4. wp-content/uploads и mu-plugins

Любой .php, .phtml, .ico.php в uploads/ — бэкдор. Папка wp-content/mu-plugins/, которую вы не создавали — проверить целиком; часто там лежит автозагрузчик редиректа.

5. База данных

Редирект-вирус в базе данных WordPress
Вредоносный script в post_content или в option siteurl — редирект без правки файлов на диске.

Через phpMyAdmin:

  • wp_optionssiteurl и home — только ваш домен, без http://чужой.ру.
  • Поиск по wp_options и wp_postmeta на %eval%, %base64%, %<script%location%.
  • wp_posts — записи типа attachment или page с title на иероглифах или «viagra» — doorway; статус часто publish.
  • Виджеты в wp_options (widget_text, sidebars_widgets) — вставки <script> с редиректом.

6. Подозрительные плагины

В wp-content/plugins/ папки, которых нет в админке «Плагины» (случайные имена: wp-engine, cache-helper, точка в начале). Удалять после бэкапа — не «лечить» внутри файла.

Порядок действий (краткий)

  1. Бэкап заражённой версии (файлы + БД) — обязательно до правок.
  2. Закрыть сайт на 503 для посетителей (см. план взлома, шаг 3) — пока идёт очистка.
  3. Сменить пароли FTP, БД, админов, соли в wp-config — до удаления кода.
  4. Удалить вредоносные блоки из .htaccess, index.php, темы; удалить PHP из uploads.
  5. Переустановить ядро из ru.wordpress.org (свежие wp-admin, wp-includes, корневые PHP кроме wp-config).
  6. Очистить БД от doorway-страниц и подозрительных options.
  7. Проверить с мобильного 4G снова; запросить переобход в Яндекс.Вебмастер и Search Console.

Если после замены ядра редирект вернулся через сутки — остался бэкдор или скомпрометирован пароль админа. Повторите поиск в mu-plugins и проверьте wp_users на чужих администраторов.

После очистки

  • В Вебмастере — «Проверить исправление» по нарушениям безопасности.
  • В Search Console — запрос проверки статуса безопасности.
  • Запретить PHP в uploads, включить 2FA и лимит входа — чек-лист защиты.
  • Проверить REST API и xmlrpc — онлайн-проверка, статья про wp-json.

Что НЕ нужно делать

  • Не ставьте «антивирус для WordPress» как единственное решение без удаления бэкдора — часто не находит cloaking.
  • Не удаляйте только .htaccess без бэкапа и без проверки index/темы — редирект может остаться в БД.
  • Не игнорируйте редирект «потому что с компьютера нормально» — мобильный трафик и реклама страдают первыми.
  • Не меняйте CMS «из-за вируса» — чистый WordPress с гигиеной работает; проблема в дыре и устаревшем плагине.

Когда звать специалиста

Если за 2–3 часа не нашли источник, редирект возвращается после переустановки ядра или хостинг угрожает блокировкой за спам с IP — нужна ручная форензика: grep по серверу, аудит cron, проверка соседей на shared. Это уровень безопасности WordPress и восстановления после взлома.

Опишите симптом (куда редиректит, с какого устройства) — разберём и закроем дыру, чтобы не повторилось через неделю.

Поделиться: Telegram VK
Сложный случай?

Опишите ситуацию — поможем

Только WordPress. Если статья не закрыла вопрос — напишите, посмотрим конкретно ваш сайт.

Если есть — поможет быстрее оценить задачу.
Необязательно · до 10 МБ · PNG, JPG, PDF, ZIP
Удобный канал связи

URL сайта и краткое описание задачи. Чем больше деталей, тем точнее оценка.

Не передаём третьим лицам · Политика