Skip to content

Keyword monitoring that catches pages that load but are broken.

A page can load cleanly and still be broken — an error message sitting where your content should be. Uptimia reads the page on every check, requiring the words that must be there and flagging the error strings that must never appear, and alerts you the moment either rule breaks.

Built into every uptime monitor · no add-on No credit card EU-hosted, GDPR-ready
Broken page to alert
30s
Locations to confirm
3
Checkpoints
171+
Countries covered
70+

The page that loaded fine — with nothing on it

Every dashboard stayed green. The product page answered instantly, exactly as it always had — and served a catalog with nothing in it.

11:05:04 shop.caldmont.com/products still loads normallyThe eu-par checkpoint reads the page — “Add to cart” is gone status code: 200
11:05:12 Paris, Ashburn and Seoul agreeIncident opens — the keyword check failed in every region, not a fluke status code: 200
11:09 On-call acknowledges from SlackOne click on the signed link — body attached · MTTA 4 min status code: 200
11:23 Fixed — with the page it servedThe page as served and the failing rule — captured the moment it broke no orders lost
18 minwrong page → fixed
You saw the page was wrong — first.11:23
The status code never moved off 200 — but the body did. Uptimia read it, confirmed the missing text from three regions, and kept that exact body with the incident.
page loaded, and still caughtconfirmed from 3 regionsresponse body kept as proofSlack · SMS · PagerDuty — 12 channels
And without a keyword check? The page looks healthy on every dashboard. The broken catalog just keeps serving — until a customer emails to ask where the buy button went. looks healthy

What a keyword rule can catch

Require the words that only appear when a page is healthy, or forbid the ones that only appear when it’s broken.

Required textWords that must be present
Forbidden textStrings that must never show
Error signaturesDB errors, stack traces, exceptions
Maintenance notices“Be right back” behind a 200
171+ checkpoints reading every response body
Prices & stock“$0.00”, “Out of stock”, empty cart
Placeholders“Lorem ipsum”, “undefined”, “null”
JSON & API fieldsA field, a flag or an error message
The check fails on the failure a status code hides: the right words gone, or the wrong words present — a database error, a stack trace, a maintenance banner, an empty cart, all behind a healthy 200. 200, still wrong

Confirmation, alerting and proof

No false content alarms

Confirmed before it pages you

One region loading a half-built page never pages you. Uptimia re-reads the body from other checkpoints — only when they all report the same missing or forbidden text does the incident open. One clean read closes it.

  • Confirmed from up to 3 regions — a slow half-render can’t page you
  • Several keyword rules per monitor — require some words, forbid others
  • Runs on the same check — no extra request, same 30-second schedule
How content confirmation works
🇫🇷Pariseu-par · 11:05:04not found
🇺🇸Ashburnus-ash · 11:05:07not found
🇰🇷Seoulap-seo · 11:05:09not found
3 / 3regions
agree
Incident opened11:05:12
Sent 8 s after the first miss — confirmed real, not a slow render.
SlackEmailSMSPagerDuty
Only one region loads it slowly? Re-read and dismissed — a single half-render never pages you. no alert
Alerting

The right person hears about it

A confirmed content failure goes straight to Slack, SMS, PagerDuty or any of the 12 channels. Unanswered, the ladder climbs to the next person on your schedule; when the page reads clean again, a recovery notice closes it out.

  • Escalation ladders with one-click acknowledgement — no login mid-firefight
  • Maintenance windows — a deploy that rewrites copy never pages anyone
  • Recovery notice with the failure duration when the page reads clean again
Alerting & escalations docs
Content check failed11:05:12
shop.caldmont.com/products — “Add to cart” missing, confirmed from three regions.
SlackEmailSMSPagerDuty+ Teams, WhatsApp…
1
First on-call
paged 11:05:12 · Slack, SMS and email
unacknowledged
2
Second on-call
acknowledged 11:09:03 · one click, no login
MTTA 4 m
3
Engineering lead
never paged — stays asleep
Clean again 11:23:04 — a recovery notice with the failure duration goes to the same channels. Loop closed. wrong 18 m
The evidence

The page it actually served

Each incident keeps the response body from the failing check — so you fix the page you saw, not the one that works when you reload it.

  • The response body and headers — the exact bytes the check read, kept
  • The rules on the monitor — listed with the incident, beside the body they were read against
  • Hand it to anyone — export as PDF or HTML, or share a public incident link
What an incident records
FAILEDIncident #3391
shop.caldmont.com/products · Ashburn · 11:05 UTC · HTTP 200
dns21 ms
connect40 ms
send2 ms
wait180 ms
keywordnot found
Screenshot
0products shown
Response body
HTTP/1.1 200 OK
<div id="catalog">
  <p>No products found.</p>
Keyword rules
required   "Add to cart"
required   "Proceed to pay"
forbidden  "database error"
The body is on the incident — export it or share a public link, so anyone can see the page as it failed. No login needed. 1 click
Global network

Read from where your customers are

A CDN or edge cache can serve a stale error page in one region while origin looks perfect. Reading the body from 171+ locations catches the broken page only some visitors see.

  • Checks as often as every 30 seconds — a bad deploy can’t hide for long
  • The body read per checkpoint — every check is stamped with the region that read it
  • At least 6 locations read every monitor, always
Browse the checkpoint network
shop.caldmont.com/productsrotating across every region · 16:40 UTC
🇺🇸 Dallas
200 · text ok
🇩🇪 Frankfurt
200 · DB error
🇯🇵 Tokyo
200 · text ok
+ 168 more
reading the body
Origin looked fine from Dallas — only the Frankfurt edge served the cached error. It shows up in the per-checkpoint log the moment the rotation reaches it. 1 region

A page that loads can still be broken.Read what it sent.

Keyword rules on every uptime check, every region, every alert channel — free for 30 days, and none of it is a paid add-on.

Start your 30-day trial
30 days free no credit card cancel anytime

How keyword monitoring works

Add it to any uptime monitor in under a minute — no extra check, no code.

Step 120 seconds

Add the words that matter

On any HTTP monitor, list the text that must appear and the text that must not.

Website URL
https://shop.caldmont.com/products
200 OK from eu-par · body read in 168 ms
Must contain
"Add to cart" · "Proceed to checkout"
Must not contain
"database error" · "undefined"
Step 220 seconds

Choose who hears about it

Choose the people and the channels — ladders and quiet hours are optional.

Send alerts via
SlackEmailPagerDutySMS+ Teams, WhatsApp, Telegram…
Alert when
Keyword fails · confirmed from 3 regions
CancelStart monitoring →
Step 3automatic

Get paged when the page reads wrong

A confirmed keyword failure opens one incident and alerts every chosen channel.

#ops-alerts
Uptimia 11:05
⚠ Content check failed — shop.caldmont.com/products
"Add to cart" missingHTTP 200 · 3 regions11:05:12 UTC
Also sent to EmailSMSPagerDuty

Also included

Full REST API

Set keyword rules from CI or scripts — required and forbidden text, per monitor.

POST /api/v2/uptime 201 · keywords: must_exist + must_not_exist

Transaction monitoring

For text that only renders after JavaScript runs — checked in a real browser.

real Chrome · asserts on rendered text

Scheduled reports

Uptime and incident reports, branded with your logo and colours.

WeeklyMonthlyYearly

Public status pages

Tell customers what is happening — and what you have already fixed.

public · live status · your own domain

Maintenance windows

A content change during a deploy never pages anyone.

Thu 23:00–01:00 · alerts silenced

Every monitor type in one account

Keyword checks sit beside uptime, SSL, transaction, DNS and heartbeat monitors — same contacts, groups and roles.

shop.caldmont.com/productsKEYWORD shop.caldmont.comUPTIME checkout flowTRANSACTION

Alerts where your team already works

One content failure, delivered everywhere — the same contacts and channels you already use.

On-call & escalation
Direct

12 channels, one contact list — a keyword failure reaches them all.

Browse the full integrations directory
11:05 · content check failed — shop.caldmont.com/products · HTTP 200
#ops-alertsSlack
⚠ Content failed — shop.caldmont.com/products
"Add to cart" missingHTTP 200 · 3/3Acknowledge ↩
+371 ··· 4082SMS
Uptimia: CONTENT FAIL shop.caldmont.com/products. "Add to cart" missing, HTTP 200, 3 regions, 11:05 UTC.
InboxEmail
⚠ Content check failed — shop.caldmont.com/products
"Add to cart" missing — confirmed from Paris, Ashburn and Seoul at 11:05:12 · acknowledge…
ProductionPagerDuty
TRIGGEREDContent — shop.caldmont.com/products
assigned to on-call · sent by Uptimia

What is keyword monitoring?

Keyword monitoring is a content check that confirms a page’s response body contains the text it should — or none of the text it shouldn’t — on every uptime check. So a page that returns 200 OK while showing a database error, an empty grid or a maintenance notice is caught as down, not counted as up.

While everything works

How does a keyword check run?

Uptimia
171+ checkpoints
reads the body · every 30 s
Your page
200 OK · text found

Each check fetches the page and scans the response body for your required and forbidden text, alongside the status code and response time.

When a check fails

When the words are wrong

Your page
200 OK · text missing
re-checked · 3 regions
Uptimia
opens the incident

confirmed 3/3 → content incident opens

Two rules

What can a keyword rule check?

Two rules cover most broken-but-200 pages: require text that only appears when the page is right, or forbid text that only appears when it’s wrong.

Guide: choosing keywords that don’t false-alarm
RuleYou requireCatches
must exist“Add to cart”catalog didn’t render
must existyour price stringpricing widget broke
must not exist“database error”DB connection lost
must not exist“Exception”stack trace leaked
must not exist“Be right back”stray maintenance page

Keyword monitoring FAQ

01What is keyword monitoring?+
A content check that rides on your uptime monitor: it reads the page’s response body on every check and fails if required text is missing or forbidden text is present. A page can return 200 OK and still be broken — a keyword check is what catches that.
02How does a keyword check work?+
On each check Uptimia fetches the page and searches the response body for the text you set: “must contain” words that have to be present, and “must not contain” words that have to be absent. A failed rule is re-read from other regions before an incident opens.
03What’s the difference between “must exist” and “must not exist”?+
“Must exist” fails when required text is gone — a missing “Add to cart”, a price, a success message. “Must not exist” fails when forbidden text appears — a database error, a stack trace, a “Be right back” banner. Use as many of each as you need.
04Does it work on pages rendered by JavaScript?+
A keyword check reads the raw HTML the server returns, so it won’t see text a browser paints later with JavaScript. For single-page apps and other client-rendered content, a transaction monitor loads the page in a real Chrome browser and asserts on the text after it renders.
05Is keyword monitoring a separate monitor?+
No — it’s part of an HTTP/uptime monitor. You add keyword rules to a website monitor you already have, and they run on the same schedule and the same locations, with no extra request.
06Can I check for more than one keyword?+
Yes. A monitor can carry several rules at once — require a few strings and forbid a few others — and the check fails if any single rule fails.
07Can I use it on a JSON API?+
Yes. The rule matches text anywhere in the response body, so you can require a field or value to be present, or forbid an error message, on a JSON endpoint as easily as on an HTML page.
08What do I see when a keyword check fails?+
The incident records the failure the check reported, the keyword rules on the monitor, and the response body it actually read — so you’re looking at the page as it failed, not a version that works when you reload.
09How do you avoid false alarms from a slow page?+
A keyword failure is re-read from several regions before any alert, so a single half-rendered load never pages you. Recovery is fail-safe — one clean read closes the incident.
10Is there a free plan?+
Yes. Keyword checks are part of every uptime monitor on every plan, never a paid add-on. The free plan includes one monitor with keyword rules at 5-minute intervals, no credit card; Basic raises that to 10 monitors, Professional to 100 with 30-second intervals, and plans go up to 1,000. The 30-day trial opens everything, with room for 500 monitors.
11Will a page that only breaks in one region page me?+
Not on the default settings, and that is deliberate. A failed read is re-checked from other regions, and by default three have to agree before an incident opens — which is what stops a single slow or half-rendered load from waking anyone. A genuinely region-specific failure, like one CDN edge serving a cached error, may well not be reproduced elsewhere, so it will show in the per-checkpoint log without opening an incident. If that is the failure you care about most, set the monitor’s outage confirmation to one region: the first checkpoint that reads the wrong body then pages you.

Check what your pages actually say.

Add a keyword rule to any monitor — be the first to know when a page reads wrong.

30-day free trial Runs on your uptime checks No credit card EU-hosted, GDPR-ready
Keyword checks are built into uptime monitoring — free plan included.