Переходите с UptimeRobot? Импортируйте мониторы одним кликом по ключу API только для чтения.Начать бесплатно →
  1. Главная
  2. Мониторинг
  3. Мониторинг ключевых слов

Мониторинг ключевых слов: ловите страницу с ошибкой, которая отдаёт 200

Требуйте, чтобы на странице была нужная фраза или чтобы другой фразы там не было. Это самый дешёвый способ заметить ошибку базы данных, на которую сервер отвечает «счастливым» кодом.

  • 30 мониторов бесплатно
  • Без банковской карты
  • Сбои подтверждаются из других регионов
www.clienta.comGET / · должна содержать «Add to cart»
Работает
  • 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. Это текст, который отправляют каналы; хост, время и числа выдуманы.

Кому [email protected]

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

DOWN

www.clienta.com

www.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
Targetwww.clienta.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 · www.clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)

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 и голосовых звонков нет.

Время ответа

Время ответа с порогом

Каждая проверка сохраняет, сколько длился ответ. Мониторинг ключевых слов: подвигайте порог и посмотрите, когда сработало бы оповещение о медленном ответе.

Время ответа Порог оповещение иллюстративные данные
Время ответа с порогом. Иллюстративные данные. 02505007501000 Порог 500 мс 00:0006:0012:0018:0024:00 Время ответа (мс)
Правило. Мониторинг ключевых слов: оповещение срабатывает, когда среднее за 3 последние проверки выше порога (Pro и Agency).
Скорость

Как быстро вы узнаете

Выберите тариф, чтобы увидеть его интервал проверки и сколько сбой идёт до вас, с учётом подтверждения.

Проверка каждые30 с
В среднем узнаете через15 с
В худшем случае90 с
Проверка каждыеОкно подтверждения (до 60 с)

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

Настройка

Как настроить мониторинг ключевых слов за 30 секунд

1

Укажите адрес

Добавьте адрес страницы и выберите тип Keyword, а Tenium подставит разумный таймаут и стандартные настройки подтверждения.

2

Выберите интервал

Самый быстрый интервал: 30 с на Pro и Agency, 1 мин на Starter, 5 мин на Free. Более редкие интервалы доступны на всех тарифах.

3

Задайте фразы: что должно быть и чего быть не должно

Выберите, кому отправлять оповещения. E-mail, Discord и Google Chat работают на всех тарифах, Slack, Telegram, Teams и Mattermost — с тарифа Starter, webhook — с Pro.

4

Сохраните

Первая проверка запускается через несколько секунд. Если проверка не пройдёт, другие регионы проверят ещё раз, прежде чем откроется инцидент, поэтому один неудачный маршрут вас не разбудит.

Режимы сбоев

Что означает каждая ошибка

Это текст, который инцидент показывает в строке «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/мес.
Доступно✓✓✓✓
Мониторы301003001000
Самый быстрый интервал5 мин1 мин30 с30 с
Регионы1222
Собственные заголовки——✓✓
Оповещения о медленном ответе——✓✓
Эскалация на второй контакт——✓✓
Страницы статуса1310Без ограничений

Все тарифы

Страницы, которые лгут кодом 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 региона). Переходите на тариф выше, когда клиентов станет больше.