WordPress LinuxWeb

WordPress: сайт взломан — чек-лист очистки

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

При подозрении на взлом: сделайте резервную копию, смените все пароли, обновите ядро/плагины, проверьте файлы и пользователей и удалите вредоносный код.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Если не помогло
  5. Изоляция и копия
  6. Поиск вредоносного кода
  7. Закрытие уязвимости

#Что означает ошибка

Сообщение
Сайт взломан

Признаки взлома WordPress: редиректы на чужие сайты, незнакомые администраторы, спам в выдаче, файлы с странными именами, предупреждение браузера, письма от хостинга. Действовать нужно по плану: изолировать, очистить, закрыть дыру, сменить доступы.

Перед чисткой сделайте копию файлов и базы для анализа.

Не удаляйте логи.

При подозрении на взлом: сделайте резервную копию, смените все пароли, обновите ядро/плагины, проверьте файлы и пользователей и удалите вредоносный код.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Устаревший плагинУязвимость.Реклама.Обновите.
Слабый парольАдминка.Доступ.Смените.
Заражённые файлыКод.Редиректы.Очистите.
Нулленые темыВзлом.Вирус.Удалите.

#Пошаговое решение

  1. Закройте сайт и сделайте копиюЕсли обнаружены подмены страниц, неизвестные администраторы или рассылка со взломанного сайта, сначала ограничьте доступ к сайту через панель хостинга или разрешённый режим обслуживания, сохранив доступ администратора и возможность расследования. Немедленно создайте полную копию файлов, базы данных и журналов в отдельное хранилище и запишите время инцидента. Не очищайте журналы и не удаляйте подозрительные файлы до сохранения копии.
  2. Смените все паролиС чистого устройства измените пароли хостинга, SSH/SFTP, WordPress, базы данных и связанных сервисов, включите двухфакторную аутентификацию там, где она поддерживается. В WordPress зайдите «Пользователи → Все пользователи» и проверьте неизвестных администраторов; подозрительные учётные записи сначала зафиксируйте, а блокируйте после сохранения свидетельств. Смена пароля базы потребует одновременного обновления wp-config.php.
  3. Переустановите ядро и плагиныНа отдельном стенде сравните файлы ядра WordPress с официальной версией; если доступен WP-CLI, из корня сайта выполните wp core verify-checksums. Заменяйте повреждённое ядро, темы и плагины только чистыми пакетами из доверенных источников, предварительно сверив совместимость и сохранив wp-content/uploads и содержимое базы. Не удаляйте рабочие пользовательские загрузки вместе с ядром.
  4. Найдите вредоносный кодПросмотрите недавно изменённые PHP-файлы и подозрительные исполняемые файлы в wp-content/uploads; с WP-CLI проверьте список администраторов wp user list --role=administrator и список активных расширений. Наличие PHP в uploads требует расследования, но не доказывает вредоносность само по себе. Сравнивайте файлы со штатной поставкой, а не удаляйте всё найденное поиском.
  5. Обновите и защитите сайтПосле удаления подтверждённого вредоносного кода обновите WordPress, расширения и тему, замените ключи безопасности WordPress штатным способом и настройте резервное копирование. Проверьте задания cron, дополнительные точки входа, правила веб-сервера и пользователей базы. Затем снова включите сайт, проверьте журналы и повторное появление подозрительных файлов; при компрометации серверного администратора требуется переустановка из доверенного образа.

#Если не помогло

Не используйте «нулленые» темы и плагины — они часто содержат вредоносный код.

#Изоляция и копия

Включите режим обслуживания или закройте сайт. Скачайте копию файлов и БД. Смените пароли: хостинг, FTP/SFTP, SSH, база данных, WordPress-админы, почта. Включите двухфакторную защиту. Сообщите хостингу.

#Поиск вредоносного кода

Замените ядро, плагины и темы чистыми копиями: wp core download --force --skip-content, wp plugin install имя --force. Для проверки: wp core verify-checksums и wp plugin verify-checksums --all. Ищите подозрительный код: grep -rE "eval\(base64_decode|gzinflate|str_rot13" wp-content. Проверьте wp-content/uploads на PHP-файлы: find wp-content/uploads -name "*.php". Просмотрите wp user list --role=administrator.

#Закрытие уязвимости

Обновите WordPress, плагины и темы, удалите неиспользуемые и «nulled»-плагины. Смените соли в wp-config.php (генератор). Установите права 755/644. Включите WAF и резервные копии. Проверьте сайт в Google Search Console и запросите повторную проверку, если пришло предупреждение.

Linux · Терминал (Bash)Команда
Проверка целостности ядра, плагинов и поиск подозрительных файлов.
wp core verify-checksums
wp plugin verify-checksums --all
find wp-content/uploads -name "*.php"
wp user list --role=administrator

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.