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

Редирект на спам — симптом заражения, а не отдельная «поломка WordPress». Частые ложные срабатывания:
- Редирект в .htaccess после переноса на HTTPS — легитимный 301, без чужого домена.
- Плагин редиректа (Redirection, Rank Math) — правило на старый URL; видно в админке.
- Кэш CDN/браузера — старая версия страницы; проверьте инкогнито.
- DNS у регистратора — редко, но A-запись могла смениться на чужой сервер (проверьте whois и DNS в панели домена).
Признаки именно вируса:
- редирект на чужой домен (казино, ставки, «приз», фарма);
- срабатывает только с мобильного или только из поиска Google/Яндекса;
- в админке всё «зелёное», антивирус ПК чист;
- в Search Console / Вебмастере — «вредоносное ПО» или лишние страницы в
site:домен.ru.
Полный план восстановления после взлома (8 шагов, бэкап, переустановка ядра) — в статье «Сайт на WordPress взломали». Здесь — фокус на диагностике и поиске редиректа.
Быстрая проверка за 5 минут
- Телефон, режим «В самолёте» выключен, Wi-Fi выключен, только 4G/5G — откройте главную в режиме инкогнито. Повторите для 2–3 внутренних страниц.
- Десктоп, инкогнито — тот же URL. Если на десктопе ок, на мобильном редирект — классический mobile cloaking.
- User-Agent подмена — в Chrome DevTools → Network conditions → Custom user agent → типичный Android Chrome. Иногда редирект виден только так.
- Sucuri SiteCheck (sitecheck.sucuri.net) — бесплатный внешний скан.
- Яндекс.Вебмастер → Безопасность и нарушения и Google Search Console → «Проблемы безопасности».
- Поиск
site:ваш-домен.ru— чужие title/URL в выдаче = doorway-спам в БД или файлах.
Зафиксируйте URL, куда уводит редирект, и с какого устройства — пригодится при очистке и заявке в поддержку хостинга.
Где прячут редирект-вирусы

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, кроме <?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. База данных

Через phpMyAdmin:
wp_options→siteurlи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, точка в начале). Удалять после бэкапа — не «лечить» внутри файла.
Порядок действий (краткий)
- Бэкап заражённой версии (файлы + БД) — обязательно до правок.
- Закрыть сайт на 503 для посетителей (см. план взлома, шаг 3) — пока идёт очистка.
- Сменить пароли FTP, БД, админов, соли в wp-config — до удаления кода.
- Удалить вредоносные блоки из
.htaccess,index.php, темы; удалить PHP изuploads. - Переустановить ядро из ru.wordpress.org (свежие
wp-admin,wp-includes, корневые PHP кроме wp-config). - Очистить БД от doorway-страниц и подозрительных options.
- Проверить с мобильного 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 и восстановления после взлома.
Опишите симптом (куда редиректит, с какого устройства) — разберём и закроем дыру, чтобы не повторилось через неделю.



