
Типичный мониторинг клиентского WordPress выглядит так: стоит плагин, он раз в пять минут пингует сайт и присылает письмо, если тот не открылся. Хорошая новость: такой сайт действительно не упадёт незаметно. Плохая: почти всё, что реально ломается в WordPress, при этом продолжает отдавать честные 200 OK.
Планировщик WordPress устроен коварно: он запускается не по расписанию сервера, а при заходе посетителя. Нет трафика — нет и запусков. А если кто-то прописал в конфиге DISABLE_WP_CRON и забыл настроить настоящий cron, задачи не выполняются вообще.
Что перестаёт работать: автообновления, отложенные публикации, отправка писем из очереди, резервные копии, задачи плагинов, синхронизации с CRM. Всё тихо. Сайт при этом открывается идеально.
WordPress по умолчанию шлёт почту через PHP-mail. Такие письма всё чаще не проходят проверки SPF и DKIM: почтовый сервер их либо отбрасывает, либо кладёт в спам. Клиент видит «Спасибо, заявка отправлена» — и не видит заявку. Мы разбирали этот сценарий отдельно, потому что он самый дорогой.
Самый недвусмысленный признак взлома. Файлы ядра WordPress имеют официальные контрольные суммы — их можно сверить с эталоном. Если файл ядра отличается от эталонного, в 99 % случаев это внедрённый код: скрытые редиректы, спам-ссылки, бэкдор. Снаружи сайт выглядит как обычно — вредонос обычно не трогает витрину, он показывает мусор только поисковым роботам или посетителям с определённых источников.
Причина взлома номер один на клиентских сайтах — не «хакеры», а заброшенный плагин с известной уязвимостью. Уязвимость публикуется, через несколько дней по интернету ползут автоматические сканеры, ещё через неделю сайт торгует виагрой в поисковой выдаче. Между «вышло обновление» и «сайт взломали» обычно проходят недели — и всё это время внешний мониторинг показывает зелёную галочку.
Скучная, но частая история: таблица опций разрослась до десятков мегабайт, и каждая страница тянет их из базы при каждом запросе. Сайт не падает — он просто становится всё медленнее, пока в один день не ляжет под нагрузкой. Классика жанра — плагины, которые пишут в опции логи и не чистят за собой.
Версия ядра, признаки взлома и подмены, доступность, SSL и срок домена — за один клик, без регистрации.
Проверить WordPress| Проблема | Видно снаружи? | Видно изнутри? |
|---|---|---|
| Сайт не открывается | Да — это и есть работа внешнего мониторинга | Нет: плагин лежит вместе с сайтом |
| Истёк SSL или домен | Да | Косвенно |
| Подмена контента, редирект на чужой домен | Да, если проверять содержимое страницы | Да |
| Сайт закрылся от индексации (noindex) | Да | Да |
| Встал WP-Cron | Нет | Да |
| Не уходят письма (нет SMTP) | Нет | Да |
| Изменены файлы ядра | Нет | Да — сверка контрольных сумм |
| Устаревшее ядро и плагины | Частично, по отпечаткам | Да, точно |
| Разбухший autoload, нет кеша | Нет | Да |
| PHP-фаталы в логах | Нет (пока не положат сайт) | Да |
| Магазин перестал принимать заказы | Нет | Да |
Вывод из таблицы простой и, кажется, неизбежный: ни один из двух слоёв не заменяет другой. Внешний мониторинг — единственный, кто заметит падение сайта и хостинга (изнутри в этот момент жаловаться некому). Внутренняя диагностика — единственная, кто увидит вставший cron, изменённое ядро и молчащую почту.
Мы ставим в WordPress обычный плагин — через админку, как любой другой. Он раз в час собирает диагностику и отправляет наружу только вердикты. Никакого удалённого управления сайтом: плагин сам проверяет и сам шлёт, мы не имеем возможности что-либо выполнить на сервере клиента. Это осознанное архитектурное решение, а не недоработка.
Что он проверяет по факту:
Критичное (изменённое ядро, сломанный чекаут) сразу становится событием с алертом в Telegram, почту или Max. Предупреждения копятся в панели здоровья сайта и попадают в отчёт клиенту — вместе с внешними проверками, аптаймом и инцидентами.
Не «ещё одну панель с графиками». Три вещи, за которые платят:
WP-Cron — планировщик WordPress, который запускается не по расписанию системы, а при заходе посетителя. Если трафика мало, задачи копятся; если WP-Cron отключён константой DISABLE_WP_CRON и настоящий cron не настроен, они не выполняются вообще. Тихо перестают работать автообновления, отложенные публикации, письма, резервные копии и задачи плагинов — сайт при этом открывается нормально.
WordPress по умолчанию отправляет письма функцией wp_mail через PHP-mail. Такие письма часто не проходят проверки SPF и DKIM и уходят в спам или отбрасываются почтовым сервером. Внешний мониторинг этого не видит: страница отдаёт 200, форма показывает «спасибо», а заявка не доходит.
Самый надёжный признак — изменённые файлы ядра: их контрольные суммы сверяются с официальными, и расхождение почти всегда означает внедрённый код. Плюс косвенные: подозрительные редиректы, неожиданный контент, новые администраторы, рост PHP-ошибок.
Нет. Если сайт лёг или хостинг отключил аккаунт, плагину некому жаловаться — он лежит вместе с сайтом. Внутренняя диагностика дополняет внешний мониторинг, но не заменяет его.
Внешние проверки — доступность, SSL, домен, формы. Плагин изнутри — cron, почта, целостность ядра, уязвимые плагины, заказы. Бесплатно до 5 сайтов; диагностика CMS — на тарифе Pro.
Начать бесплатноЧитайте также: Магазин работает, а заказов нет и Сайт работает, а заявки не приходят.