Шаг 1. Сделайте копию сайта как есть
Первое желание — срочно удалить всё лишнее. Не спешите. Скачайте полную копию файлов и дамп базы данных через панель хостинга. Даже заражённая копия нужна: по ней можно понять, как и когда произошёл взлом, и восстановить случайно удалённые данные. Также сохраните журналы доступа веб-сервера (access.log) — хостинг хранит их ограниченное время.
Шаг 2. Восстановите доступ к админке
Если пароль не подходит, его можно сбросить несколькими способами:
- через форму «Забыли пароль?» — если почта администратора не изменена злоумышленником;
- через phpMyAdmin в панели хостинга: в таблице
wp_usersзамените значениеuser_passна MD5-хэш нового пароля — WordPress сам переведёт его в безопасный формат при первом входе; - через WP-CLI:
wp user update admin --user_pass="новый-длинный-пароль".
Сразу после входа откройте «Пользователи» и отфильтруйте по роли «Администратор». Чужих администраторов удалите, а их записи передайте своему аккаунту. Учтите: злоумышленники умеют скрывать администраторов из списка, поэтому проверьте также таблицу wp_users напрямую.
Шаг 3. Смените все пароли и ключи
- Пароли всех администраторов WordPress.
- Пароль от панели хостинга, FTP и SSH.
- Пароль пользователя базы данных — и обновите его в
wp-config.php. - Секретные ключи в
wp-config.php(AUTH_KEY,SECURE_AUTH_KEYи другие) — сгенерируйте новые наapi.wordpress.org/secret-key/1.1/salt/. Это завершит все активные сессии, включая сессии злоумышленника. - Удалите все «пароли приложений» в профилях пользователей — их не отзывает обычная смена пароля.
Шаг 4. Оцените масштаб заражения
Типичные следы взлома WordPress:
- PHP-файлы в
wp-content/uploads— почти всегда веб-шеллы; - изменённые файлы ядра — проверяются командой
wp core verify-checksums; - незнакомые плагины, в том числе в папке
wp-content/mu-plugins; - спам-записи в базе, часто с датами из прошлого, чтобы не мелькать в начале списка;
- вставки скриптов в контент страниц, виджеты и настройки темы;
- изменённые настройки: адрес сайта, главная страница, почта администратора.
Шаг 5. Вылечите сайт
Подробная инструкция — в статье «Вирус на сайте WordPress: как найти и удалить». Коротко:
- переустановите ядро WordPress из официального дистрибутива;
- удалите все плагины и темы и установите их заново из официальных источников;
- удалите все PHP-файлы из папки загрузок;
- очистите базу данных от спама и вставок;
- удалите поддельных пользователей.
Шаг 6. Найдите точку входа
Это самый важный шаг, который чаще всего пропускают. Если не понять, как злоумышленник попал на сайт, он вернётся — обычно в течение нескольких дней. Где искать:
- журнал доступа: POST-запросы к необычным адресам, особенно к файлам плагинов и
admin-ajax.php, массовые запросы к REST API; - версии плагинов: сравните с базами уязвимостей, например WPScan или Patchstack;
- даты создания файлов: самый ранний вредоносный файл подскажет, когда начался взлом.
Шаг 7. Снимите санкции и предупредите пользователей
Если сайт попал под пометку в поиске, после чистки отправьте его на перепроверку в Яндекс.Вебмастер и Google Search Console. Если на сайте хранились персональные данные клиентов, оцените, мог ли злоумышленник получить к ним доступ.
Чего делать не стоит
- Восстанавливать сайт из бэкапа и считать проблему решённой — уязвимость останется.
- Ставить «нулённые» плагины и темы — это частая причина взлома.
- Удалять только то, что видно на главной: основная часть заражения обычно скрыта.
- Откладывать — каждый день взломанный сайт теряет позиции в поиске и рискует попасть в чёрные списки.
Частые вопросы
Почему взламывают маленькие сайты, у меня же нечего красть?
Взломы почти всегда автоматические. Ботам нужен не ваш контент, а ресурсы сервера и репутация домена: для рассылки спама, SEO-ссылок, редиректов на казино и фишинга. Размер сайта не имеет значения. Если бот оставил подпись, читайте, как удалить «Hacked by» и всё, что за ним.
Хостинг отвечает за взлом?
Как правило, нет. Хостинг отвечает за сервер, а за безопасность CMS, плагинов и паролей — владелец сайта. Некоторые хостеры помогают найти заражённые файлы, но лечить сайт обычно приходится самостоятельно.
Сколько стоит восстановление взломанного сайта?
Срочная чистка WordPress в FYZI Shield — от 4 990 ₽, включая поиск точки входа и защиту от повтора. Начинаем в течение часа после заявки.