Клиент и контекст проекта
Заказчик — российская компания из сферы услуг (B2C-сегмент, Москва), эксплуатирующая корпоративный сайт-визитку на WordPress более 6 лет. Сайт используется как основной канал привлечения заявок через органический поиск и контекстную рекламу. Внутреннего IT-специалиста в штате нет, техническое обслуживание ранее велось силами внешнего фрилансера, который перестал выходить на связь. Все технические работы по восстановлению я выполнил лично — от первичной диагностики до финальной настройки мониторинга. Я базируюсь в Москве и работаю с заказчиками из любого региона РФ, СНГ и за рубежом — в данном случае весь цикл работ был проведён удалённо.
Проблема
Сайт клиента полностью перестал открываться для пользователей — при попытке загрузки страницы браузер возвращал белый экран либо редиректил на сторонние ресурсы с фишинговым контентом. Органический трафик за несколько дней упал до нуля, рекламные кампании в Яндекс.Директе и Google Ads были приостановлены вручную, чтобы не сливать бюджет на нерабочий домен. Поисковые системы уже начали помечать сайт в выдаче как «потенциально опасный», что могло привести к долговременной потере позиций.
До обращения ко мне заказчик уже привлекал стороннего разработчика, который безуспешно пытался восстановить сайт в течение трёх дней. Предыдущий подрядчик обнаружил признаки заражения, но не смог идентифицировать источник проблемы: после удаления видимых вредоносных файлов сайт продолжал перенаправлять трафик, а спустя несколько часов заражение возвращалось. Это классический сценарий скрытого бэкдора — вредоносный код прятался не только в файлах темы и плагинах, но и в базе данных и конфигурации сервера. Чтобы разорвать этот цикл, требовался не «косметический ремонт», а глубокий аудит инфраструктуры — именно за такой формат работ меня и ценят заказчики.
Решение
Я подключился к проекту в режиме экстренного реагирования и в течение одного рабочего дня лично выполнил полный цикл работ: от диагностики до восстановления и защиты. Никаких субподрядчиков и «команд» — все технические шаги я делаю сам, потому что именно за личную экспертизу меня и ценят заказчики. Работы велись параллельно по нескольким направлениям, чтобы минимизировать время простоя и исключить повторное заражение.
Этап 1. Изоляция и диагностика
- Перевод сайта в режим обслуживания и блокировка публичного доступа на уровне web-сервера для предотвращения дальнейшего распространения вредоносного трафика.
- Полное сканирование файловой системы с помощью Sucuri Scanner, Wordfence и ручного аудита PHP-файлов на наличие обфусцированного кода и известных сигнатур.
- Анализ базы данных на наличие вредоносных скриптов в полях wp_options, записях пользователей и записях контента (часто используемый вектор — скрытые администраторы и зашифрованные payload).
Этап 2. Очистка и устранение root cause
- Удаление 47 заражённых файлов, включая бэкдоры в директориях wp-includes, wp-content/uploads и в файлах активной темы.
- Перекат WordPress-ядра и всех используемых плагинов до актуальных версий из официальных репозиториев с последующей проверкой целостности контрольных сумм.
- Удаление скрытых администраторских аккаунтов, созданных злоумышленниками, и принудительный сброс паролей всех легитимных пользователей с правами выше Contributor.
- Закрытие 12 критических уязвимостей: устаревшие версии плагинов, открытый файловый менеджер, отключённый WP-cron с внешним вызовом, слабые права на директории.
Этап 3. Восстановление и бэкап
- Запуск сайта в штатном режиме с проверкой корректности работы всех ключевых страниц, форм заявок.
- Создание трёхуровневого резервного копирования: полная копия файловой системы, дамп базы данных и снимок конфигурации сервера — с размещением в независимом хранилище.
- Настройка автоматического ежедневного бэкапа с retention 30 дней и проверкой восстанавливаемости.
Этап 4. Защита и мониторинг
- Установка и настройка Cerber для фильтрации входящего трафика и блокировки типовых атак.
Результаты
Сайт был полностью восстановлен и возвращён в эксплуатацию за один рабочий день с момента обращения — все работы выполнены мной лично, без передачи задач на сторону. Повторного заражения не зафиксировано спустя 6+ месяцев наблюдения. Дополнительно проведённые мной работы по закрытию уязвимостей и оптимизации серверной конфигурации привели к росту технических метрик, что положительно сказалось на SEO-видимости.
| Показатель | Результат |
| Время восстановления сайта | 1 рабочий день |
| Время недоступности до обращения | более 72 часов |
| Обнаружено вредоносных файлов | 47 шт. |
| Уязвимостей в ядре WP закрыто | 12 критических |
| Создано бэкапов | 3 уровня (файлы, БД, конфиг) |
| Время отклика после восстановления | ускорено на 38% |
| PageSpeed (мобильный) после работ | 92 / 100 |
После повторной индексации поисковыми системами сайт был снят с «опасных» меток в выдаче Google и Яндекс. Восстановление органического трафика до уровня до инцидента заняло 11 дней; через 2 месяца после моих работ трафик превысил доинцидентный показатель на 23% за счёт параллельной технической SEO-оптимизации серверной части. Дальнейшее SEO-сопровождение контента и рекламные кампании заказчик ведёт со своими подрядчиками (директолог, SEO-специалист), с моей стороны была только техническая инфраструктура.
Технологический стек
WordPress 6.x
PHP 8.2
MySQL 8.0
UpdraftPlus Backup
Redis Cache
Let’s Encrypt

