Переходите з UptimeRobot? Імпортуйте монітори одним кліком за ключем API лише для читання.Почати безкоштовно →
  1. Головна
  2. Моніторинг
  3. Моніторинг WordPress

Моніторинг WordPress: перевірки, які сайту на WordPress справді потрібні

Ключове слово на головній, статус wp-login.php, heartbeat для запланованих завдань, термін дії SSL і DNS. Збираєте набір один раз для кожного сайту зі стандартних типів моніторів.

  • 30 моніторів безкоштовно
  • Без банківської картки
  • Збої підтверджуються з інших регіонів
clienta.comGET / · має містити «Add to cart»
Працює
  • Amsterdam97мсзнайдено
  • London142мсзнайдено
  • Ключове слово«Add to cart» є
  • Заборонене«Error establishing» немає
  • TTFB55 мс

Ілюстративний приклад

Спробуйте

Перевірте просто зараз, прямо в браузері

Без реєстрації. Моніторинг WordPress: введіть адресу й подивіться, що саме відстежує такий монітор. Нічого з введеного не зберігається.

Один справжній запит із перевіряльника Tenium. Він іде за редиректами й читає сертифікат. Нічого не зберігається.

Публічний тест перевіряє, що сторінка відповідає. Саме правило (має містити, не має містити) працює у збереженому моніторі.

Результат з’явиться тут.

Створити такий моніторВідкрити повний інструмент

Що перевіряє

Що саме перевіряє цей монітор

Ключове слово на головній

Вимагайте фразу з футера й забороніть «Error establishing a database connection». Сторінка з кодом 200, яка насправді є помилкою, більше не пройде.

Доступність wp-login.php

Перевірка статусу на сторінці входу покаже, що плагін безпеки або правило WAF нікого не пускає.

Заплановані завдання

Heartbeat, який пінгує справжній системний cron, повідомить, що резервні копії чи запланована публікація тихо зупинилися.

Сертифікати й домен

Монітори SSL і домену стежать за терміном дії сертифіката та реєстрації для кожного клієнтського сайту.

Сповіщення

Моніторинг WordPress: як виглядає сповіщення

Та сама подія приходить листом, повідомленням у Telegram або карткою в Slack. Це текст, який надсилають канали; хост, час і числа вигадані.

Кому [email protected]

Тема [DOWN] clienta.com — Keyword "Add to cart" missing

DOWN

clienta.com

clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)

ErrorKeyword "Add to cart" missing
Confirmed byAmsterdam (AMS), London (LON)
Since14:02:11 UTC
Targetclienta.com
Next stepCheck the server / hosting panel. Acknowledge so the team knows you are on it.

AcknowledgeOpen incident

<h1>Error establishing a database connection</h1>

Tenium · checked from Amsterdam · 14:02 UTC

Tenium alerts

🔴 DOWN · clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)

TTenium APP 2:02 PM

DOWN · clienta.com
clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)

  • Error: Keyword "Add to cart" missing
  • Confirmed by: Amsterdam (AMS), London (LON)
  • Target: clienta.com

Підтвердити отриманняOpen incident

Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Amsterdam

Моніторинг WordPress: e-mail, Discord і Google Chat працюють на всіх тарифах, Slack, Telegram, Teams і Mattermost — з тарифу Starter. SMS і голосових дзвінків немає.

Час відповіді

Час відповіді з порогом

Кожна перевірка зберігає, скільки тривала відповідь. Моніторинг WordPress: посуньте поріг і подивіться, коли б спрацювало сповіщення про повільну відповідь.

Час відповіді Поріг сповіщення ілюстративні дані
Час відповіді з порогом. Ілюстративні дані. 0500100015002000 Поріг 900 мс 00:0006:0012:0018:0024:00 Час відповіді (мс)
Правило. Моніторинг WordPress: сповіщення спрацьовує, коли середнє за 3 останні перевірки вище порогу (Pro та Agency).
Швидкість

Як швидко ви дізнаєтеся

Оберіть тариф, щоб побачити його інтервал перевірки та скільки збій іде до вас, враховуючи підтвердження.

Перевірка кожні30 с
У середньому дізнаєтеся через15 с
У найгіршому випадку90 с
Перевірка кожніВікно підтвердження (до 60 с)

Моніторинг WordPress: збій трапляється у випадковий момент між двома перевірками, тож у середньому ви чекаєте пів інтервалу, а в найгіршому випадку — повний інтервал плюс вікно підтвердження. Одного регіону з помилкою мало: інцидент відкривається, лише коли збій підтверджують обидва регіони. Інші регіони питаються одразу, на відповіді відведено до 60 секунд.

Налаштування

Як налаштувати моніторинг WordPress за 30 секунд

1

Додайте головну сторінку як монітор Keyword

Має бути: фраза з футера. Не має бути: Error establishing a database connection.

2

Додайте wp-login.php як HTTP-монітор

Вкажіть повну адресу. Очікуваний статус зазвичай 200-299; якщо вхід перенаправляє на https, поставте 200-399.

3

Додайте heartbeat для запланованих завдань

Викликайте його ping-адресу в кінці серверного cron або завдання WP-CLI, що запускає wp cron event run --due-now.

4

Додайте SSL і домен, потім позначте набір тегом

Дайте всім моніторам одного сайту однаковий тег, щоб знаходити їх разом.

Режими збоїв

Що означає кожна помилка

Це текст, який інцидент показує в рядку «Error», типова причина й що перевірити першим.

KEYWORDKeyword "Add to cart" missing

Сторінка відповіла, але фрази в ній немає: закешована сторінка помилки, недорендерений шаблон, порожній фід товарів. Саме це не бачать перевірки лише за статусом.

Виглядає як: Keyword "Add to cart" missing

KEYWORDForbidden keyword "Error establishing a database connection" present

Текст помилки з’явився в тілі, зазвичай під бадьорим кодом 200. WordPress та багато CMS так роблять, коли зникає база даних.

Виглядає як: Forbidden keyword "Error establishing a database connection" present

BLOCKEDBlocked by WAF challenge (Cloudflare)

Перевірка на бота замінила сторінку, тож ключове слово знайти неможливо. Це «заблоковано», а не «недоступно»: дозвольте перевіряльник, і все стихне.

Виглядає як: Blocked by WAF challenge (Cloudflare)

TIMEOUTTimeout after 15 s

Сторінка так і не завантажилась. Перевірка читає до приблизно 1 МБ тіла, тож дуже повільний origin збоїть тут ще до оцінки тексту.

Виглядає як: Timeout after 15 s

CERT_HAS_EXPIREDTLS error: certificate has expired

Сертифікат більше не дійсний, тому сторінку не можна отримати безпечно. Поновіть його.

Виглядає як: TLS error: certificate has expired

Тарифи

Моніторинг WordPress: що входить у тарифи

Free
$0/міс.
Starter
$7/міс.
Pro
$29/міс.
Agency
$59/міс.
Повний набір моніторів—✓✓✓
Монітори301003001000
Найшвидший інтервал5 хв1 хв30 с30 с
Регіони1222
Власні заголовки——✓✓
Сповіщення про повільну відповідь——✓✓
Ескалація на другий контакт——✓✓
Сторінки статусу1310Без обмежень

Перевірки JSON/API, DNS, UDP, heartbeat, SSL і терміну дії домену та відстеження змін починаються з тарифу Starter. Перевірки HTTP(S), ключових слів, ping і портів доступні на всіх тарифах.

Усі тарифи

Набір моніторів для одного сайту на WordPress

У WordPress немає окремого типу монітора, і він не потрібен. Надійний набір складається зі стандартних типів, а для типового сайту це п’ять-шість моніторів:

  • Keyword на головній: фраза з футера має бути, а «Error establishing a database connection» — ні (з тарифу Starter).
  • HTTP на /wp-login.php із типовим діапазоном 200-299 або 200-399, якщо він перенаправляє на https.
  • JSON API на /?rest_route=/ із шляхом name і назвою вашого сайту як очікуваним значенням; це працює без «гарних» постійних посилань і разом перевіряє PHP, базу даних і шар REST.
  • Heartbeat для запланованих завдань (наступний розділ).
  • SSL / домен для дат закінчення сертифіката й реєстрації.
  • За бажанням DNS для A-запису або HTTP-монітор, що очікує 403 на /xmlrpc.php, якщо ви заблокували його навмисно.

wp-cron — це не годинник

За замовчуванням WordPress виконує заплановані завдання лише тоді, коли хтось відвідує сайт. Тому на малолюдному сайті заплановані записи виходять із запізненням, черги листів відправляються пізно, а резервні копії пропускаються. Гірше того, на жвавому сайті те саме завдання може запуститися двічі. Виправлення, яке радить більшість гайдів від хостерів: встановити в wp-config.php DISABLE_WP_CRON у true і запускати завдання зі справжнього планувальника кожні п’ять хвилин: */5 * * * * cd /var/www/site && wp cron event run --due-now && curl -fsS https://YOUR-APP-HOST/hb/hb_TOKEN. Створіть heartbeat із періодом 600 секунд і допуском 300. Тепер відсутній пінг означає, що зупинився сам планувальник, а це заодно пояснює, чому зникли резервні копії та заплановані записи.

Heartbeat починається зі Starter, ліміти щедрі: 20 на Starter і 100 на Pro, тож один на сайт реально навіть для студії.

Перші п’ять хвилин після оновлення

Більшість збоїв WordPress починається з оновлення плагіна, теми чи ядра. Три екрани помилок заслуговують окремих перевірок «фрази не має бути», бо кожен кеш або власний шаблон помилки може віддати зі звичайним кодом: «There has been a critical error on this website» (екран фатальної помилки), «Briefly unavailable for scheduled maintenance» (оновлення зависло й лишило файл обслуговування) та «Error establishing a database connection». Додайте їх в окремі монітори ключових слів або виберіть дві, які бачите найчастіше; тоді повідомлення про збій назве, яка саме з’явилася.

Поєднуйте перевірки з вікном обслуговування, коли оновлюєте навмисно, щоб кілька хвилин запланованого простою не лякали клієнта й не псували аптайм у місячному звіті.

Кеш може приховати збій

Кеш сторінок і CDN створені, щоб і далі віддавати останню справну копію, що чудово для відвідувачів і погано для моніторингу. Коли база даних лежить, закешована головна може бути «зеленою» годинами. Тримайте хоча б один монітор на тому, що обов’язково виконує PHP і звертається до бази: wp-login.php за розумного налаштування не кешується, а корінь REST за адресою /?rest_route=/ також динамічний. Якщо ваш кеш якийсь час віддає сторінки помилок, перевірка «фрази не має бути» їх теж виявить.

Трапляється й зворотне: плагін безпеки чи WAF сприймає IP-адресу моніторингу як зловмисника. Wordfence, правила Cloudflare та fail2ban можуть заблокувати її після кількох запитів. Додайте список IP-адрес перевіряльників до білого списку (allow-list) або надсилайте заголовок X-Tenium-Secret, за яким спрацьовує ваше правило, і монітор перестане бути частиною поверхні атаки. Перевірка на бота з’являється як інцидент «заблоковано», а не «недоступно».

Коли сайтів сорок

При п’яти моніторах на сайт 300 моніторів тарифу Pro вистачить приблизно на 60 сайтів, а 1000 моніторів тарифу Agency — на 200 сайтів. Послідовність важливіша за винахідливість: однакові назви моніторів (Client A, home keyword), однакові теги й однакові контакти для сповіщень скрізь, щоб інциденти однаково читалися на сторінці статусу й у звіті. Монітори можна створити масово через імпорт CSV; потрібні стовпці наведено в документації з імпорту. На тарифі Agency дайте кожному клієнту власний простір із логіном для перегляду та місячним звітом під вашим брендом; детальніше для агенцій.

Знайте межі. Tenium дивиться на ваш сайт ззовні, тож повідомить, що сайт недоступний, чого плагін уже не зробить, коли сайт упав. Версій плагінів, змін у файлах, шкідливого коду й резервних копій він не бачить. Це роблять ManageWP і MainWP, і вони доповнюють, а не замінюють Tenium.

Запитання: моніторинг WordPress

Чи потрібно встановлювати плагін на сайт?

Ні. Кожен монітор працює ззовні через публічні адреси. Єдине, що ви додаєте, — рядок у планувальнику сервера для cron-heartbeat, якщо він вам потрібен.

Які адреси WordPress безпечно відстежувати?

Публічні сторінки, які легко відрендерити: головну, /wp-login.php і /?rest_route=/. Уникайте /wp-admin, який для анонімних відвідувачів перенаправляє на вхід, і ніколи не вписуйте облікові дані в адресу монітора.

Чи є готовий шаблон для WordPress?

Не як рішення в один клік. Наведений набір швидко створити вручну або імпортом CSV, а теги тримають групу разом.

Чи працюватиме це з multisite?

Розглядайте кожен сайт мережі як окремий хост і відстежуйте їх окремо, плюс одна REST-перевірка головного сайту. Збій усієї мережі тоді проявиться як багато інцидентів одночасно.

Почніть моніторинг WordPress безкоштовно

30 моніторів на тарифі Free, без банківської картки, а збої підтверджуються з інших регіонів (зараз працюють 2 регіони). Переходьте на вищий тариф, коли клієнтів побільшає.