Skip to main content

Keyword monitoring

Keyword monitoring: know the moment a word or phrase changes

HostTracker's keyword monitoring reads the response body on every check of an HTTP or API monitor and alerts you the moment a word or phrase appears or disappears - not a rank tracker for search positions, a watch on your own page's actual text.

  • Trusted since 2004
  • 500,000+ websites monitored
  • 300+ checkpoints worldwide

How a keyword change is caught, from the check to the notice

Five modes, both directionsAlert when a phrase goes missing, or when one turns up - ReverseWithResult even reports the surrounding text.
No extra requestReads the response your HTTP or API check already fetched: a comma-separated list up to 255 characters, matched case-insensitively.
Never a false alarm on sizeA response over the monitor's size cap is reported as content too large, not as a false 'keyword missing'.

Monitor a page for a word or phrase in three settings

The keyword option lives on the same HTTP or API monitor you already run - there is no separate keyword monitor to create, and it adds no extra request.

HTTP MONITOR SETTING

keywords: "Sold out, Out of stock"
keywordMode: ReverseAny

A comma-separated list, up to 255 characters

Every word or phrase in one field. Matching is a case-insensitive substring search, so "Sold Out" and "sold out" are the same keyword.

Five modes cover both directions

Alert when a keyword goes missing (PresentAny, PresentAll) or turns up (ReverseAny, ReverseAll) - ReverseWithResult adds the surrounding text.

Included on HTTP and API monitors

The same option, on the check you already run. Learn how content monitoring works

Where a keyword alert earns its keep

Content monitoring in practice: six releases that change what a page says

None of these change the HTTP status code - every one still returns 200. The first sign is the text itself, which is exactly what keyword monitoring reads.

Inventory

"Sold out" replaces "Add to cart"

A stock sync fails and product pages start showing "Sold out" while still answering 200. ReverseAny on that phrase catches it before a customer does.

Backend

A database error reaches production

"Error establishing a database connection" is valid HTML with a normal status code. ReverseAny on that string turns a page most uptime checks call healthy into an alert.

Compliance

A required line disappears

A template edit drops the legal footer or a price line that has to stay. PresentAny or PresentAll alerts the moment expected text is missing.

Release

A maintenance page outlives the deploy

The site keeps answering 200 with "under maintenance" long after the real page should be back. ReverseAny on that phrase closes the loop.

Security

A defacement string appears

"Casino" or another hacked-page marker on the homepage is a compromise, not a content bug. Pair a ReverseAny keyword with web risk monitoring for the blacklist side.

Rendering

A CMS serves a blank 200 page

A broken template renders an empty body that still answers 200. A PresentAny keyword on text that should always be there catches it.

Keyword alert settings

A keyword monitoring tool built to skip false alarms

Three things keep a keyword alert honest: how matching works, how many directions it covers, and what happens when the page is bigger than the check can read.

Match

Case-insensitive substring, not a regular expression

A keyword matches as plain text, ignoring case - "Confidential" and "confidential" are the same. For a pattern or one HTML element, an assertion rule on the same monitor covers it.

Modes

Five modes, one setting

PresentAny, PresentAll, ReverseAny, ReverseAll and ReverseWithResult cover "must be there" and "must never be there" with the same field.

Safety

A large response is never treated as evidence

A response over the monitor's size cap is reported as content too large - never as "keyword absent", so a page that briefly grows past the cap fires no false alert.

From a keyword alert to a precise assertion rule

The same monitor can carry up to 20 assertion rules alongside the keyword option - for case-sensitive text, a regular expression, or one HTML element instead of the whole page.

Case-sensitive, where the keyword option is not

Rules match text case-sensitively by default, so "Confidential" and "confidential" are different once that distinction matters.

A regular expression, not just a substring

body.regex("...") paired with not exists confirms a pattern never shows up in the response.

One element, not the whole body

body.html.path("h1").first contains "..." checks the page's own heading specifically. See the full rule language

ASSERTION RULES

body contains "Confidential"
body.regex("(?i)error establishing.*database connection") not exists
body.html.path("h1").first contains "Welcome back"

Every layer of your stack, monitored

Websites, servers, APIs, certificates. One check type per page, the same locations, alerts and reports behind all of them.

Trusted by teams at

Microsoft Panasonic OTP Bank OneProvider Worldmate
The full guide

Keyword monitoring, explained

Every chapter opens in place, so the page stays short.

The five keyword modes, explained

The mode decides which direction the alert fires in. All five compare the same comma-separated keyword list against the response body, case-insensitively, on every check.

Mode
Alerts when
Typical use
PresentAny
None of the keywords is found
A single required phrase, or a list where any one is enough
PresentAll
Any keyword is missing
A set of phrases that must all be on the page together
ReverseAny
Any keyword appears
A phrase that must never show up - "sold out", an error string, a defacement marker
ReverseAll
Every keyword appears
A combination that only matters when all of it shows up at once
ReverseWithResult
Any keyword appears
Same as ReverseAny, plus about 120 characters of text either side of the match in the alert

What counts as a match: website content monitoring without false positives

A keyword matches when it occurs anywhere in the response body, ignoring case - a plain substring search, not a regular expression and not a visual comparison of the page. The whole list shares one 255-character field, so it fits a handful of specific phrases rather than a dictionary.

The one deliberate exception is size. A response larger than the monitor's response-size cap reports content too large instead of evaluating the keywords - a page that is momentarily too big to read never gets misread as a page whose keyword went missing. A false "it's fine" is harmless; a false "the keyword is gone" pages someone for nothing, which is the direction this protects.

Assertion rules: when a keyword list needs more precision

The keyword option answers one question - is this text in the response, yes or no. When the question is more specific, the same monitor can carry up to 20 assertion rules alongside it:

  • Case-sensitive matching - rules compare text case-sensitively by default, unlike the keyword option.
  • Regular expressions - body.regex("..."), paired with exists or not exists, matches a pattern instead of a literal phrase.
  • HTML selectors - body.html.path("h1").first contains "..." checks one element by its CSS path, not any occurrence of the text anywhere on the page.

Layer them rather than choosing: a broad ReverseAny keyword as the first line, one or two assertion rules where the check needs to be exact. The full rule language is documented on the API monitoring page.

Setting up a keyword alert

  1. Run the free instant HTTP check against the page to see the response you are about to write a keyword against.
  2. Add an HTTP or API monitor for the page, or open an existing one - the keyword option lives on both types.
  3. Enter the phrase or comma-separated list, up to 255 characters, and pick a mode: PresentAny/PresentAll for text that must stay, ReverseAny/ReverseAll/ReverseWithResult for text that must never appear.
  4. Where the keyword option is not precise enough, add an assertion rule on the same monitor - case-sensitive text, a regular expression, or one HTML element.
  5. Subscribe the people who need to know, and pick their channel - email, SMS, voice call, Slack, Telegram, webhook and more.
  6. Let the first check run as a baseline. Checks repeat from 300+ checkpoints in 158 cities, and a failure is re-checked from other locations before anyone is alerted.

Key takeaways

Key takeaways

  • The keyword option on a HostTracker HTTP or API monitor checks the response body for a comma-separated list of words or phrases, up to 255 characters in total, on every check; matching is case-insensitive.
  • Five modes cover both directions: alert when any keyword is missing, when all are missing, when any is present, when all are present, or when one appears with the surrounding text reported in the alert.
  • A body larger than the monitor's size cap is never treated as proof that a phrase is absent; the check reports the content as too large instead of raising a false alert.
  • Assertion rules on the same monitor add case-sensitive matching, regular expressions and HTML selectors, up to 20 rules per monitor.
  • Checks run from 300+ checkpoints in 158 cities at the interval the plan allows, and alerts go out by email, SMS, voice call, Slack, Telegram and more.

Frequently Asked Questions

It is an option on an HTTP or API monitor: give it a comma-separated list of words or phrases, up to 255 characters in total, and a mode, and on every check HostTracker reads the response body it already fetched and looks for them. Matching is a case-insensitive substring search - 'Sold Out' and 'sold out' are the same keyword - not a regular expression. Depending on the mode, a check fails when a keyword is missing, when one appears, or when all of them do, and the alert can include the text around the match.

No. Some search traffic for 'keyword monitoring' is actually looking for SEO rank tracking - watching where a page sits in Google's results for a target term. HostTracker does not do that: this option reads the text of your own page on your own check, and never queries a search engine or reports a ranking position. If a word or phrase must be present or absent on a page you control, this is the right tool; if you need to know where a page ranks, it is not.

PresentAny alerts when none of the listed keywords is found - a single required phrase, or a list where any one being present is enough. PresentAll alerts when any keyword is missing - every phrase in the list has to be there. ReverseAny alerts when any keyword appears - the mode behind most 'this text must never show up' checks, like a defacement string. ReverseAll alerts only once every keyword appears together. ReverseWithResult behaves like ReverseAny, but the alert also carries roughly 120 characters of text either side of the match, so you see the sentence without opening the page.

No. Keyword monitoring reads the text HostTracker's check already fetched and looks for a specific word or phrase - it does not compare screenshots, layout, colours or pixels between checks, and it does not extract or track a price. If what you need is 'tell me when this page looks different' visually, or 'track this product's price over time', this option is not built for either job; it only answers whether specific text is present or absent.

The response body is read up to the monitor's size cap. A response that hits that cap is reported as content too large - it is never treated as proof a phrase is absent, and never raises a false 'keyword missing' alert on a page HostTracker could not finish reading. Raising the monitor's response-size limit avoids the cap being hit at all.

The keyword option is case-insensitive substring matching only - no regular expressions, no wildcards. For case-sensitive matching, a regular expression, or a check scoped to one HTML element, add an assertion rule on the same monitor: rules are case-sensitive by default, support `body.regex("...")` for patterns, and can select an element by CSS path, such as `body.html.path("h1").first contains "..."`.

Yes. The same monitor carries both: the keyword option for a quick, case-insensitive presence or absence check, and up to 20 assertion rules for anything more exact - case-sensitive text, a regular expression, or text inside one element. A common pairing is a broad keyword check as a first line and one or two targeted rules for the cases that need precision.

HTTP and API monitors. Open the keyword setting, enter your comma-separated list and pick a mode - included on every plan with HTTP monitors, with no separate keyword monitor to add. Checks run from 300+ checkpoints in 158 cities at the monitor's interval, a failing check is re-checked from other locations before anyone is alerted, and the alert can go out by email, SMS, voice call, Slack, Telegram, webhook and more.

On every plan with HTTP monitors

A keyword alert for the text that has to stay - or has to go

Add a keyword to an HTTP or API monitor and get an alert the moment it appears or disappears, checked from 300+ locations worldwide.

30-day free trial - 100 monitors - no credit card
  • Trusted since 2004
  • 500,000+ websites monitored
  • 300+ checkpoints worldwide

Part of HostTracker's website monitoring software.