Первые 15 минут: остановить кровотечение
Самая частая ошибка — начинать разбираться, «как это случилось». Потом. Сейчас задача одна: минимизировать ущерб.
Шаг 1. Закройте сайт от посетителей.
Зайдите в панель хостинга и поставьте заглушку (режим обслуживания). Если не знаете как — просто переименуйте `index.php` в `index_backup.php` и создайте новый `index.php` с текстом «Сайт временно недоступен, ведутся технические работы». Это займёт 2 минуты, но спасёт ваших клиентов от вредоносных редиректов и сохранит репутацию домена в поисковиках.
Почему это критично: Яндекс и Google умеют очень быстро помечать заражённые сайты. Если ваш сайт раздаёт малварь хотя бы сутки — вы получите плашку «Сайт может угрожать безопасности» в выдаче. Снять её потом — отдельный квест на несколько недель.
Шаг 2. Смените все пароли. Все.
Буквально всё:
- пароль от хостинг-панели (ISPmanager, cPanel, Beget, TimeWeb — что у вас)
- FTP/SFTP-доступы
- пароль администратора WordPress (или другой CMS)
- пароль от базы данных MySQL
- пароль от почты, привязанной к домену и хостингу
Делайте это с чистого устройства — не с того компьютера, на котором обычно работаете. Если троян сидит на вашем ноутбуке и перехватывает пароли, толку от смены будет ноль.
Шаг 3. Свяжитесь с хостингом.
Напишите в поддержку хостинга прямо сейчас. Не стесняйтесь, они видят такое каждый день. Попросите:
- проверить, не были ли скомпрометированы другие сайты на вашем аккаунте
- предоставить логи доступа за последние 30 дней
- сделать снапшот текущего состояния (он понадобится для анализа)
У хороших хостингов вроде TimeWeb, Beget, REG.RU есть штатные инструменты проверки на вирусы — попросите запустить сканирование со стороны хостера.
Разбираемся, что произошло
Окей, сайт закрыт, пароли сменены, хостер в курсе. Теперь можно выдохнуть и начать расследование.
Как понять, что именно сломали
В 2025–2026 годах самые частые сценарии взлома бизнес-сайтов выглядят так:
Вредоносный редирект — посетитель заходит на ваш сайт и его перебрасывает на сторонний ресурс. Обычно казино, фарма-сайт или фишинговая страница. Код редиректа чаще всего сидит в `.htaccess`, `wp-config.php` или в JavaScript-файлах темы.
Скрытый SEO-спам (японский дорвей) — на сайте появляются тысячи страниц на японском или китайском с ссылками на сторонние магазины. Вы их не видите, потому что они отдаются только поисковым ботам. Проверить легко: забейте в Яндексе `site:вашсайт.ru` и посмотрите, нет ли чужих страниц в индексе.
Майнер или бэкдор — сайт работает как обычно, но на сервере крутится скрипт, который грузит процессор или открывает злоумышленнику постоянный доступ. Хостинг может прислать уведомление о превышении нагрузки — это один из сигналов.
Дефейс — главную страницу заменили на сообщение хакера. Самый заметный, но обычно наименее опасный вариант, потому что такие атаки чаще делают ради самоутверждения.
Где искать следы
Начните с логов. Попросите у хостера или найдите самостоятельно `access.log` и `error.log`. Ищите подозрительные POST-запросы к файлам вроде `wp-login.php`, `xmlrpc.php`, `admin-ajax.php`. Если видите сотни запросов с одного IP — это, скорее всего, брутфорс.
Проверьте даты изменения файлов. Через SSH это делается командой:
find /path/to/site -mtime -7 -type fОна покажет все файлы, которые менялись за последние 7 дней. Если среди них есть файлы ядра WordPress, которые вы точно не трогали — вот они, следы взлома.
Лечение сайта: что делается на практике
Вариант А: есть чистый бэкап
Если есть резервная копия, сделанная до момента взлома — это лучший сценарий.
- Разверните чистый бэкап в отдельную директорию на сервере
- Сравните файлы бэкапа с текущей заражённой версией — используйте `diff` или WinMerge, чтобы увидеть все изменения
- Восстановите сайт из бэкапа
- Сразу обновите WordPress, все плагины и тему до актуальных версий
- Проверьте базу данных — вредоносный код часто прячется в `wp_options` (поля `siteurl`, `home`) или в контенте записей
Но просто откатить бэкап недостаточно. Если не закрыть дыру, через которую вломились — взломают повторно. Иногда в тот же день.
Вариант Б: бэкапа нет
Тяжёлый случай, но решаемый. Порядок действий:
- Скачайте чистое ядро WordPress с wordpress.org той же версии, что стоит на сайте
- Полностью замените директории `wp-admin` и `wp-includes` чистыми файлами
- Проверьте корневую директорию — `wp-config.php`, `.htaccess`, `index.php` и другие файлы в корне сравните с эталонными
- В папке `wp-content` проверьте каждый плагин и тему вручную. Удалите всё, что не используется
- Ищите файлы с подозрительными именами: `wp-tmp.php`, `class-wp-cache.php`, `db-safe.php` — если не знаете, для чего файл, почти наверняка он не ваш
- Прогоните базу данных на наличие вставок `<script>`, `eval(`, `base64_decode(`, `str_rot13(`
Полезный приём — поиск строк, типичных для бэкдоров:
grep -r "eval(" wp-content/ --include="*.php"
grep -r "base64_decode" wp-content/ --include="*.php"
grep -r "str_rot13" wp-content/ --include="*.php"
grep -r "gzinflate" wp-content/ --include="*.php"Не каждый `eval()` — это вредоносный код, но каждый стоит проверить.
Бесплатные инструменты для проверки
- Yandex Вебмастер → раздел «Безопасность и нарушения». Яндекс покажет, обнаружены ли на сайте вредоносные элементы
- Google Search Console → «Проблемы безопасности». Аналогично — Google расскажет, если нашёл что-то плохое
- Sucuri SiteCheck (sitecheck.sucuri.net) — внешний сканер, проверяет сайт со стороны. Бесплатно
- Wordfence (плагин WordPress) — сканирует файлы на сервере, сравнивает с эталонными. Бесплатная версия вполне рабочая
- AI-BOLIT — скрипт от Revisium, одно из лучших решений для поиска вредоносного кода на PHP-сайтах. Актуален и в 2026 году
После лечения: как вернуть позиции в поисковиках
Сайт вылечен. Но если Яндекс или Google успели пометить его как опасный — трафик не вернётся сам по себе.
Действия для Яндекса
Зайдите в Яндекс Вебмастер, перейдите в раздел «Безопасность и нарушения». Если там висит предупреждение — после устранения проблемы нажмите «Я всё исправил». Яндекс перепроверит сайт в течение нескольких дней. Обычно от 3 до 14 дней.
Действия для Google
В Google Search Console зайдите в «Проблемы безопасности», изучите детали и запросите повторную проверку. Google обычно реагирует быстрее — от 1 до 5 дней.
Что делать с потерянными позициями
Плохая новость: даже после снятия пометки позиции могут просесть. Поисковики теряют доверие к сайту, который раздавал вирусы. Хорошая новость: это временно. Если сайт был «здоров» до взлома и всё быстро починили — позиции восстанавливаются в течение 2–6 недель. Главное — не дёргать сайт лишний раз, не менять структуру URL и продолжать обычную работу.
Почему WordPress ломают чаще всего
WordPress — не плохая система. Но по разным оценкам, WordPress стоит на 40%+ всех сайтов в интернете. Это делает его главной мишенью.
Основные точки входа, которые встречаются снова и снова:
Устаревшие плагины. Это причина номер один. Не ядро WordPress, не тема — именно плагины. Разработчик забросил плагин, перестал выпускать обновления, а уязвимость в нём уже в публичных базах. Боты сканируют миллионы сайтов и находят ваш за минуты.
Nulled-темы и плагины. Скачали «бесплатно» премиум-тему с пиратского сайта? С вероятностью 80% внутри уже встроен бэкдор. Экономия 50 долларов оборачивается потерей сайта.
Слабые пароли. admin/admin123 — до сих пор встречается в 2026 году. Без комментариев.
Открытый xmlrpc.php. Этот файл позволяет массово перебирать пароли, обходя стандартную защиту формы логина. Многие даже не знают о его существовании.
Защита WordPress от повторного взлома: чеклист
Обновления — на автомат. Начиная с WordPress 5.6, минорные обновления безопасности ставятся автоматически. Убедитесь, что это не отключено. Мажорные обновления — ставьте вручную, но не затягивайте дольше недели.
Удалите всё лишнее. Неактивные плагины и темы — не просто отключите, а именно удалите. Неактивный плагин с уязвимостью всё ещё может быть вызван напрямую по URL.
Двухфакторная аутентификация. Поставьте любой плагин 2FA для входа в админку. Это одна из самых эффективных мер — даже если пароль утечёт, без второго фактора в админку не попадут.
Ограничьте попытки входа. Плагин Limit Login Attempts Reloaded или аналог. После 3–5 неудачных попыток — блокировка IP на час. Это остановит большинство брутфорс-атак.
Закройте xmlrpc.php. Добавьте в `.htaccess`:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>Если не используете мобильное приложение WordPress или Jetpack — вы ничего не потеряете.
Смените префикс таблиц базы данных. Стандартный `wp_` — это первое, что пробуют при SQL-инъекциях. Да, на работающем сайте менять неудобно, но на этапе установки — обязательно ставьте кастомный префикс.
Регулярные бэкапы. Настройте автоматический бэкап раз в сутки с хранением минимум 30 дней. UpdraftPlus — бесплатная версия умеет отправлять копии на Google Drive или Яндекс Диск. Без бэкапа вы просто играете в рулетку.
Файрвол уровня приложения. Wordfence или Sucuri в бесплатных версиях дают базовую защиту. Если бюджет позволяет — подключите Cloudflare Pro с WAF-правилами.
Сколько стоит лечение сайта и когда звать специалиста
Самостоятельно, бесплатно — если вы технически подкованы, понимаете структуру файлов WordPress и готовы потратить от 4 до 12 часов. Риск: можете пропустить бэкдор, и через неделю всё повторится.
Фрилансер — от 5 000 до 30 000 рублей в зависимости от сложности. Адекватный специалист вылечит сайт за 1–2 дня, найдёт точку входа и закроет уязвимость. Ищите человека с отзывами именно по лечению сайтов — это специфическая задача.
Специализированные сервисы (Revisium, Sucuri) — от 10 000 рублей. Плюс — это их основная работа, у них отработанные процессы и гарантия от повторного заражения.
Если сайт приносит деньги — не экономьте на специалисте. Каждый день простоя — это потерянные заявки, клиенты и позиции в поиске. Час работы профессионала часто дешевле, чем день простоя бизнеса.
Чего точно НЕ надо делать
Не удаляйте сайт целиком в панике. Без файлов и логов невозможно понять, как вас взломали. А без понимания точки входа — взломают снова.
Не платите вымогателям. Если вам пишут «мы взломали ваш сайт, переведите N биткоинов» — в большинстве случаев это блеф. Даже если нет — оплата не гарантирует ничего.
Не ставьте 20 плагинов безопасности одновременно. Они конфликтуют друг с другом и могут положить сайт быстрее любого хакера. Один нормальный плагин безопасности — достаточно.
Не игнорируйте проблему. «Ну работает же» — это не аргумент. Если сайт взломали и вы не отреагировали, последствия нарастают: поисковики банят, хостинг блокирует, посетители уходят. С каждым днём восстановление обходится дороже.
Чеклист на экстренный случай
Если вы сейчас в ситуации «сайт взломали, что делать» — вот сжатый план действий. Сохраните его:
- Поставить заглушку — закрыть сайт от посетителей
- Сменить ВСЕ пароли с чистого устройства
- Написать хостеру — попросить логи и сканирование
- Сделать копию заражённого сайта (для анализа)
- Восстановить из чистого бэкапа или вылечить вручную
- Обновить CMS, плагины, тему
- Проверить сайт сканерами (Wordfence, AI-BOLIT, Sucuri SiteCheck)
- Запросить повторную проверку в Яндекс Вебмастере и Google Search Console
- Настроить защиту от повторного взлома
- Настроить автоматические бэкапы, если их не было