- Главная
- Мониторинг
- Мониторинг ключевых слов
Мониторинг ключевых слов: ловите страницу с ошибкой, которая отдаёт 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 региона). Переходите на тариф выше, когда клиентов станет больше.