- Головна
- Моніторинг
- Моніторинг ключових слів
Моніторинг ключових слів: ловіть сторінку з помилкою, що повертає 200
Вимагайте, щоб на сторінці була певна фраза, або щоб іншої фрази там не було. Це найдешевший спосіб помітити помилку бази даних, на яку сервер відповідає «щасливим» кодом.
- 30 моніторів безкоштовно
- Без банківської картки
- Збої підтверджуються з інших регіонів
- Amsterdam97мсзнайдено
- London142мсзнайдено
- Ключове слово«Add to cart» є
- Заборонене«Error establishing» немає
- TTFB55 мс
Ілюстративний приклад
Перевірте просто зараз, прямо в браузері
Без реєстрації. Моніторинг ключових слів: введіть адресу й подивіться, що саме відстежує такий монітор. Нічого з введеного не зберігається.
Один справжній запит із перевіряльника Tenium. Він іде за редиректами й читає сертифікат. Нічого не зберігається.
Публічний тест перевіряє, що сторінка відповідає. Саме правило (має містити, не має містити) працює у збереженому моніторі.
Що саме перевіряє цей монітор
Має бути на сторінці
Збій, коли фраза зникає. Наприклад, «Add to cart» пропадає зі сторінки товару після оновлення теми.
Не повинно бути
Збій, коли фраза з’являється. Наприклад, «Fatal error», «Error establishing a database connection» або забутий банер обслуговування.
Звичайне текстове порівняння
Спочатку видаляються скрипти, стилі й теги, потім фраза шукається у видимому тексті без урахування регістру. Регулярні вирази не підтримуються.
Лише HTML від сервера
Пошук іде в HTML, який повертає сервер, приблизно до 1 МБ. Текст, що з’являється лише після виконання JavaScript, не видно.
Моніторинг ключових слів: як виглядає сповіщення
Та сама подія приходить листом, повідомленням у Telegram або карткою в Slack. Це текст, який надсилають канали; хост, час і числа вигадані.
www.clienta.com
www.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) |
| Since | 14:02:11 UTC |
| Target | www.clienta.com |
| Next step | Check 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 · www.clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)
reply /ack or acknowledge · open incident
TTenium APP 2:02 PM
DOWN · www.clienta.com
www.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: www.clienta.com
Підтвердити отриманняOpen incident
Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Amsterdam
Моніторинг ключових слів: e-mail, Discord і Google Chat працюють на всіх тарифах, Slack, Telegram, Teams і Mattermost — з тарифу Starter. SMS і голосових дзвінків немає.
Час відповіді з порогом
Кожна перевірка зберігає, скільки тривала відповідь. Моніторинг ключових слів: посуньте поріг і подивіться, коли б спрацювало сповіщення про повільну відповідь.
Як швидко ви дізнаєтеся
Оберіть тариф, щоб побачити його інтервал перевірки та скільки збій іде до вас, враховуючи підтвердження.
Моніторинг ключових слів: збій трапляється у випадковий момент між двома перевірками, тож у середньому ви чекаєте пів інтервалу, а в найгіршому випадку — повний інтервал плюс вікно підтвердження. Одного регіону з помилкою мало: інцидент відкривається, лише коли збій підтверджують обидва регіони. Інші регіони питаються одразу, на відповіді відведено до 60 секунд.
Як налаштувати моніторинг ключових слів за 30 секунд
Вкажіть адресу
Додайте адресу сторінки й оберіть тип Keyword, а Tenium підставить розумний таймаут і стандартні налаштування підтвердження.
Оберіть інтервал
Найшвидший інтервал: 30 с на Pro й Agency, 1 хв на Starter, 5 хв на Free. Повільніші інтервали доступні на всіх тарифах.
Задайте фрази: що має бути й чого не повинно бути
Оберіть, кому надсилати сповіщення. E-mail, Discord і Google Chat працюють на всіх тарифах, Slack, Telegram, Teams і Mattermost — з тарифу Starter, webhook — з Pro.
Збережіть
Перша перевірка запускається за лічені секунди. Якщо перевірка не пройде, інші регіони перевірять ще раз, перш ніж відкриється інцидент, тож один поганий маршрут вас не розбудить.
Що означає кожна помилка
Це текст, який інцидент показує в рядку «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
Моніторинг ключових слів: що входить у тарифи
| Free $0/міс. | Starter $7/міс. | Pro $29/міс. | Agency $59/міс. | |
|---|---|---|---|---|
| Доступно | ✓ | ✓ | ✓ | ✓ |
| Монітори | 30 | 100 | 300 | 1000 |
| Найшвидший інтервал | 5 хв | 1 хв | 30 с | 30 с |
| Регіони | 1 | 2 | 2 | 2 |
| Власні заголовки | — | — | ✓ | ✓ |
| Сповіщення про повільну відповідь | — | — | ✓ | ✓ |
| Ескалація на другий контакт | — | — | ✓ | ✓ |
| Сторінки статусу | 1 | 3 | 10 | Без обмежень |
Інші типи моніторів
Сторінки, що брешуть кодом 200
Код відповіді показує, що вирішив веб-сервер, а не те, що бачить відвідувач. Чимало зламаних станів усе одно відповідають 200: CMS, що виводить помилку бази даних у шаблон; фатальна помилка PHP за ввімкненого display_errors; плагін обслуговування, який віддає свою заставку зі «щасливим» кодом; CDN, що закешував тіло помилки; прострочений хостинг-акаунт, на якому видно сторінку-заглушку провайдера; тестовий банер, що випадково потрапив у продакшн. У кожного з цих випадків є впізнаване речення, і монітор ключових слів перетворює його на сигнал тривоги.
Типові фрази, яких не повинно бути: «Fatal error», «Error establishing a database connection», «Briefly unavailable for scheduled maintenance», «Service Unavailable» і «This domain is for sale». Типові фрази, що мають бути: назва компанії у футері, «Add to cart» на сторінці товару або текст кнопки входу.
Є, немає чи обидві умови
У монітора ключових слів є два необов’язкові поля: фраза, яка має бути на сторінці, і фраза, якої там бути не повинно. На важливих сторінках заповнюйте обидва. Фраза, що має бути, захищає від порожніх сторінок і несподіваних редиректів, а фраза, якої не повинно бути, — від тексту помилки поруч зі звичайним вмістом. Якщо заповнено обидва поля, мають виконуватися обидві умови, а в описі збою названо ту, що порушена, наприклад Keyword "Add to cart" missing або Forbidden keyword "Fatal error" present.
Якщо залишити обидва поля порожніми, монітор перетвориться на звичайну перевірку статусу з приміткою в деталях, а це рідко потрібно. Для такої задачі візьміть звичайний монітор сайту.
Як вибрати фразу, що переживе редизайн
Найкращі фрази — нудні. Юридичний текст у футері, зареєстрована назва компанії, рядок про авторські права чи підпис поля форми змінюються набагато рідше за заголовки й рекламні тексти, тож не викликають сповіщення щоразу, коли маркетинг запускає тест. Уникайте тексту, що залежить від відвідувача (привітання, ціни в місцевій валюті, «3 товари в кошику»), тексту з A/B-експериментів і всього, що стоїть у банері про cookie. Фраза має бути досить короткою, щоб пережити переноси рядків і дрібні правки, і досить довгою, щоб бути унікальною: «Add to cart» краще, ніж «cart».
Якщо хочете розрізнити зникнення шапки й футера, поставте на одну сторінку два монітори з різними фразами. Це ще один монітор, зате повідомлення про збій стає зрозумілим без пояснень.
Як насправді працює зіставлення
Відповідь завантажується так само, як у будь-якій HTTP-перевірці. Потім зі сторінки видаляються скрипти, блоки стилів, коментарі й теги, декодується кілька поширених HTML-сутностей, а пробіли згортаються. Фраза шукається в отриманому тексті як звичайний підрядок без урахування регістру. Що варто пам’ятати:
- Регулярних виразів немає. Шаблон на кшталт order #[0-9]+ не задати; візьміть натомість сусідню фіксовану фразу.
- Враховується лише текст. Слово в атрибуті alt, у мета-тезі description або всередині JavaScript зіставлення не бачить, а текст у прихованих елементах — бачить.
- Пошук іде лише в HTML, який віддав сервер, приблизно до 1 МБ. Текст, який фреймворк вставляє після завантаження, невидимий, тож односторінкові застосунки перевіряйте за серверним HTML або за API, що за ними стоїть.
- Усі умови працюють на одному завантаженні, тому очікуваний діапазон статусів, редиректи, basic auth і таймаут діють у моніторах ключових слів так само, як у моніторах сайту.
Тарифи та взаємодія з іншими моніторами
Перевірки ключових слів доступні на кожному тарифі, зокрема Free. Перевірки JSON починаються з тарифу Starter ($7 на місяць). Монітор ключових слів створює такі самі інциденти, сповіщення й дані для сторінки статусу, як і будь-який інший, а коли ви плануєте змінити сторінку, його можна поставити у вікно обслуговування. Якщо сайт стоїть за фільтром ботів, сторінку перевірки буде записано як інцидент «заблоковано», а не як відсутнє ключове слово, тож зміна правила Cloudflare не виглядатиме проблемою з вмістом.
Запитання: моніторинг ключових слів
Чи враховується регістр?
Ні. Текст сторінки й ваша фраза порівнюються в нижньому регістрі, тож «Add To Cart» і «add to cart» — те саме. Увімкнути чутливість до регістру не можна.
Чи можна перевірити текст, який підвантажує JavaScript?
На самій сторінці — ні, бо скрипти не виконуються. Відстежуйте JSON-ендпоінт, який читає скрипт, за допомогою типу JSON API або віддавайте критичний текст у початковому HTML.
Як перевірити фразу одразу на всіх клієнтських сайтах?
Створіть по одному монітору ключових слів на сайт і імпортуйте їх із CSV зі стовпцем keyword; потрібні стовпці перелічено в інструкції з імпорту в документації. Теги допоможуть відфільтрувати всю групу.
А якщо фраза трапляється на сторінці двічі?
Для перевірки «має бути» досить одного входження, а для «не повинно бути» спрацьовує будь-яке. Кількість збігів не рахується.
Почніть моніторинг ключових слів безкоштовно
30 моніторів на тарифі Free, без банківської картки, а збої підтверджуються з інших регіонів (зараз працюють 2 регіони). Переходьте на вищий тариф, коли клієнтів побільшає.