A 200 status code doesn't mean the page works
Plenty of broken pages return 200 OK. A database error printed in the middle of a template, an empty product grid, a "temporarily unavailable" banner the CMS added on its own, a homepage quietly replaced by someone who shouldn't have had access to it: the server is technically fine in every one of these cases, so a status check stays green.
This tool looks at what the page actually says. Enter a URL and a piece of text, choose whether that text should or should not be there, and our server downloads the page and searches for it.
What to search for
Pick something that only appears when the page is healthy. On a shop that might be the "Add to cart" button label; on a login page, the text of the submit button; on an API status endpoint, "status":"ok".
The "should not be present" option covers the opposite case. Search for Fatal error, Exception, Warning: mysqli or the name of your maintenance page, and the check fails as soon as one of them leaks onto the page.
How the search works (and the usual surprises)
The match is exact and case-sensitive. Add to cart and Add to Cart are different strings here, so copy the text from the page instead of retyping it.
The search runs against the raw HTML the server sends, before any JavaScript runs. That covers server-rendered sites, but if the text you want is drawn by React or Vue in the browser, it simply isn't in the response, and the check reports it missing. For a single-page app, look at the page source (Ctrl+U in most browsers) and choose text that's there, such as the page title, a meta tag or a JSON payload embedded in the HTML.
Special characters may be encoded in HTML. A page that shows Fish & Chips often contains Fish & Chips in its source, so search for the encoded form or for a shorter fragment that avoids the symbol.
Redirects are followed. Requests come from our server, so a site that shows different content by country or blocks data-center traffic will show that version of the page.
Keep watching the content
Content breaks in ways nobody notices for days: a deploy that empties a template, an expired API key behind a widget, an injected spam link. A Keyword monitor runs this same search every minute and alerts you the moment the text appears or disappears.