Журнал действий WordPress: чек-лист перед продакшеном
WordPress не ведёт полноценный журнал действий из коробки: после инцидента вы можете не узнать, кто изменил запись или отключил плагин. Проверьте, что именно пишет выбранный журнал, кто имеет к нему доступ и переживёт ли он сбой сайта.

Перед запуском сайта проверьте не только, включён ли журнал действий WordPress, но и можно ли по нему восстановить цепочку событий: кто вошёл в админку, изменил страницу, установил плагин или поменял права пользователя. Сам WordPress не предоставляет полноценный журнал аудита для таких действий; его добавляют плагины, а их настройки и хранение данных нужно проверить отдельно.
Сначала определите, что журнал должен доказать
Журнал полезен не сам по себе, а когда помогает ответить на конкретные вопросы после ошибки или подозрительного входа. Составьте короткий список действий, которые важны именно для вашего сайта: например, публикация материалов, изменения пользователей и ролей, установка расширений, правки настроек и входы в административную панель.
Затем проверьте выбранный плагин на тестовой копии сайта. Не полагайтесь на описание в каталоге: состав событий, интеграции и сроки хранения зависят от продукта, его версии и настроек.
Если запись журнала не позволяет установить пользователя, время и конкретное действие, это не аудит, а просто список технических уведомлений.
Выберите подход с учётом задачи
Для небольшого редакционного сайта обычно достаточно журнала, который фиксирует действия пользователей в WordPress и позволяет быстро найти событие. Для магазина, сайта с несколькими администраторами или проекта с требованиями к расследованию важнее полнота событий, контроль доступа и хранение копии вне самого сайта.
| Подход | Что проверить | Цена выбора |
|---|---|---|
| Плагин журнала действий | Какие события фиксируются, есть ли фильтры и экспорт, где хранятся записи | Нужно поддерживать плагин и следить за объёмом базы данных |
| Журнал плюс отправка копии наружу | Передаёт ли продукт события на внешний сервис или в систему мониторинга; как устроены доступ и срок хранения | Дополнительная настройка, стоимость сервиса и зависимость от внешней инфраструктуры |
| Журналы хостинга или веб-сервера | Есть ли там только HTTP-запросы или также действия внутри WordPress | Они помогают расследовать запросы, но сами по себе обычно не объясняют, кто изменил настройки в админке |
В качестве кандидатов можно изучить Simple History и WP Activity Log. Это не рекомендация «установить и забыть»: сравните актуальные функции и ограничения по документации конкретной версии. Журналы веб-сервера и WordPress отвечают на разные вопросы, поэтому часто дополняют друг друга, а не заменяют.
Чек-лист перед запуском
- Зафиксируйте версию. Запишите версию WordPress, выбранного плагина и PHP на тестовом и рабочем окружениях. Материал относится к WordPress 6.x; для более новых или старых версий проверьте совместимость в документации плагина и каталоге WordPress. Проверка: версии записаны, обновления не установлены впервые прямо на рабочем сайте.
- Проверьте нужные типы событий. Выполните на тестовом сайте несколько безопасных действий: измените тестовую запись, создайте и удалите тестового пользователя, поменяйте его роль, включите и выключите тестовый плагин. Проверка: журнал показывает ожидаемое действие и учётную запись, которая его выполнила. Не проверяйте удаление на реальных данных.
- Проверьте точность записей. Откройте каждое событие и посмотрите, указаны ли время, тип действия, объект и пользователь. Проверка: по записи можно отличить, например, изменение конкретной страницы от общего сообщения «настройки обновлены».
- Ограничьте доступ. Убедитесь, что просмотр журнала доступен только тем ролям, которым он нужен. Проверьте это отдельной тестовой учётной записью с обычными правами. Проверка: пользователь без административных полномочий не может читать журнал или менять его настройки без необходимости.
- Решите, сколько хранить записи. Уточните, можно ли задать срок хранения и как очищаются старые события. Проверьте размер таблиц журнала и наличие резервного копирования базы данных. Проверка: в настройках понятен срок хранения, а резервная копия включает данные плагина.
- Проверьте поведение при сбое. На тестовом окружении изучите, что происходит, если база данных или внешний сервис временно недоступны. Не устраивайте нагрузочный тест на рабочем сайте. Проверка: вы понимаете, где появится ошибка и потеряется ли событие при недоступности хранилища.
- Проверьте восстановление. Восстановите тестовую резервную копию на отдельной среде и найдите в ней записи журнала. Проверка: после восстановления события доступны, а плагин не требует действий, которые невозможно выполнить без доступа к админке.
- Опишите процедуру расследования. Укажите, кто проверяет журнал, где искать события и как сохранить экспорт или копию записей. Проверка: дежурный сотрудник может выполнить эти шаги без доступа к личной учётной записи администратора.
Что ломается чаще всего
Журнал виден только внутри сайта
Если злоумышленник получил административный доступ, записи в базе сайта могут оказаться недоступны или изменены. Для критичного проекта настройте передачу копий во внешнее хранилище или систему мониторинга, если выбранный инструмент это поддерживает. Проверьте доставку реальным тестовым событием и убедитесь, что внешнее хранилище защищено отдельными учётными данными.
В журнале нет нужного действия
Плагин может записывать входы и изменения пользователей, но не фиксировать конкретное действие стороннего расширения. Проверьте сценарии на тестовой копии до запуска. Если событие не появляется, не считайте отсутствие записи доказательством, что действие не происходило: выясните, поддерживает ли его инструмент или интеграция.
Событий слишком много
Подробный журнал усложняет поиск и увеличивает объём данных. Не отключайте события вслепую: сначала определите, какие из них нужны для расследования, а затем проверьте фильтрацию и очистку старых записей. Особенно внимательно настройте сайты с автоматизированными публикациями и частыми изменениями каталога.
Время в журнале не совпадает с другими системами
Сравните часовой пояс WordPress, хостинга и внешнего сервиса, если он используется. При расследовании расхождение даже на несколько часов мешает сопоставить действия с запросами к серверу. Проверка: выполните тестовое действие и сравните время в журнале с системным событием на хостинге.
Аудит — последовательная фиксация событий, позволяющая выяснить, что произошло, когда и при чьём участии. Журнал действий может быть частью аудита, но сам по себе не гарантирует, что записи полны, неизменны или сохранены вне сайта.
Что сделать дальше
После проверки назначьте ответственного за журнал и добавьте его проверку в регламент обновлений WordPress и плагинов. Раз в несколько месяцев повторяйте тестовые сценарии, сверяйте версии и проверяйте восстановление резервной копии. Если сайт обрабатывает важные данные или простой обходится дорого, отдельно оцените внешнее хранение журналов и доступ к ним.
Тендерный специалист 44-ФЗ / 223-ФЗ: Разбор PDF-документации закупки, поиск «заточек» под поставщика, чек-лист заявки.
Спросить за 20 ₽Источники: WordPress: Hardening WordPress, Simple History — документация
Частые вопросы
Есть ли журнал действий в WordPress без плагинов?
Какой плагин журнала действий выбрать?
Можно ли хранить журнал только в базе WordPress?
Как понять, что журнал действительно работает?
Может ли журнал замедлить сайт?
Что делать, если нужного события в журнале нет?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.