Если вы читаете это в панике, сначала выдохните: взлом WordPress – неприятная, но решаемая история. Сайт почти всегда можно вернуть, главное не делать лишних движений в первые часы. Расписываю по времени, как я действую, когда мне пишут «нас взломали».
Как понять, что это именно взлом
Не каждая странность – взлом, но следующие признаки заставляют насторожиться:
- сайт отправляет посетителей на чужие страницы, особенно с телефона или из поиска, а сами вы этого не видите;
- в поиске появились чужие страницы со спамом, а браузер или поисковик предупреждает об опасном сайте;
- в админке завелись незнакомые администраторы;
- письма с сайта перестали доходить или уходят в спам;
- сервер внезапно нагрузился, а посетителей не прибавилось.
Забавная особенность: вирусы часто прячутся от владельца и показывают вредное только гостям. Поэтому сайт может «выглядеть нормально» у вас и быть заражённым для всех остальных.
Первый час: остановить ущерб
- Сохраните копию как есть. Скачайте файлы и базу в нынешнем виде. Она нужна для разбора и доказательства, как попали на сайт.
- Включите режим обслуживания, если сайт опасен для посетителей.
- Смените пароли: хостинг, FTP, база данных, все администраторы сайта. Проверьте компьютер, с которого заходили: иногда пароль утёк именно оттуда.
- Удалите лишних администраторов из списка пользователей.
Чего не делать: не удалять файлы наугад, не ставить сразу пять «антивирусных» плагинов и не восстанавливать старую копию, не проверив, что в ней нет заражения.
Следующие несколько часов: поиск заражения
Здесь работает простая логика: сравниваем то, что есть, с тем, что должно быть.
- Файлы ядра WordPress сравнивают с эталоном нужной версии.
- Папку загрузок проверяют на исполняемые файлы: в картинках не должно быть PHP.
- Смотрят недавно изменённые файлы, особенно в темах и плагинах.
- В базе ищут подозрительные записи, чужих пользователей и странные задачи планировщика.
Код злоумышленника часто спрятан в нескольких местах сразу, поэтому одно найденное заражение не значит, что работа закончена.
Чистка
Самый надёжный способ: заменить ядро и плагины чистыми копиями с официальных источников, проверить тему вручную, удалить подозрительные записи и пользователей. Чистка одним плагином помогает не всегда: скрытые «чёрные ходы» остаются, и взлом возвращается через неделю.
Через сутки: закрыть дверь, в которую вошли
Это самый важный этап, о нём чаще всего забывают. Выясните, как попали на сайт: взломанный плагин, слабый пароль, заражённый компьютер администратора, соседний сайт на том же хостинге. Обновите или замените проблемный компонент, включите двухфакторную защиту, поправьте права на файлы, настройте копии вне сервера.
Как узнать, что виновен плагин: сопоставьте дату первых признаков с датой, когда плагин давно не обновлялся, и посмотрите журналы сервера на странные запросы к его файлам. Если на сайте стояла «бесплатная» версия платного расширения, причина почти наверняка в ней.
Как вернуть сайт в поиск
После чистки проверьте сайт в Яндекс Вебмастере и Google Search Console, отправьте запрос на повторную проверку, чтобы снять предупреждения. Чужие страницы удалите из индекса. Сколько времени займёт снятие метки, зависит от поисковой системы, обычно от нескольких дней.
Когда стоит отдать это специалисту
Если вы не уверены, что нашли всё, или это магазин с заказами и платежами, лучше не рисковать. Я лечу сайты и закрываю причину: лечение взломанного WordPress от 15 000 ₽ за 1–2 дня. Чтобы не повторилось, смотрите чек-лист защиты.
Как отличить взлом от обычного сбоя
| Признак | Скорее сбой | Скорее взлом |
|---|---|---|
| Сайт не открывается или показывает ошибку | да, после обновления или правки | реже |
| Редирект на чужие страницы | нет | да |
| Незнакомые администраторы | нет | да |
| Чужие страницы в поиске по вашему адресу | нет | да |
| Предупреждение браузера об опасном сайте | нет | да |
Что спросить у хостинга
Хостинг часто видит больше, чем вы: журналы доступа, список недавно изменённых файлов, сканирование на вирусы. Напишите в поддержку и попросите: журналы доступа за последние дни, список файлов, изменённых после определённой даты, информацию о том, не заражены ли соседние сайты на аккаунте. Это сильно ускоряет поиск причины.
Вопросы после чистки
Можно просто восстановить старую копию?
Можно, если копия сделана до взлома и вы закрыли причину. Иначе сайт заразится заново.
Утекли ли данные клиентов?
Зависит от взлома. Если на сайте были заказы и личные данные, оцените риск и при необходимости предупредите пользователей.
Другие сайты на том же аккаунте тоже заражены?
Заражение часто переходит на соседей. Проверьте все сайты на аккаунте и смените общие пароли.