Assertion Rules Glossary

17 assertion rules you can test against any URL with the SEODiff Agentic Evaluation API. Each rule is a building block — combine them to create custom quality gates for your pSEO, CI/CD, or AI agent workflows.

Quick start

Use these assertions with POST /api/v1/agent/evaluate. Pass an array of URLs and rules — SEODiff evaluates them all and returns a pass/fail verdict. Full API docs →

no_placeholders

Find template variables like {{city}} or [TBD] that leaked into production HTML.

max_token_bloat

Detect when boilerplate overwhelms useful content for LLM crawlers.

float

has_schema

Ensure every page has valid JSON-LD schema markup for rich results.

min_schema_count

Require a minimum number of JSON-LD schema blocks per page.

integer

min_acri

Ensure pages meet a minimum AI-Crawler Reality Index score.

integer

min_word_count

Prevent thin content by requiring a minimum number of words per page.

integer

selector_exists

Verify critical DOM elements are present on every page.

CSS selector

selector_count

Verify a minimum number of matching elements on each page.

integer (minimum match count)

status_code

Ensure pages return the expected HTTP status code.

integer (HTTP status)

has_h1

Ensure every page has exactly one H1 heading tag.

has_meta_description

Ensure every page has a non-empty meta description tag.

contains_string

Verify that specific text appears in the rendered page.

string

not_contains_string

Ensure specific text does NOT appear in the rendered page.

string

regex_match

Verify that a regex pattern matches somewhere in the page HTML.

regex

regex_not_match

Ensure a regex pattern does NOT match in the page HTML.

regex

no_noindex

Ensure pages are indexable and don't have stray noindex directives.

max_js_ghost_ratio

Flag pages where content is rendered client-side and invisible to crawlers.

float 0–1

Start testing in 30 seconds

Get an API key and run your first evaluation with a single cURL command.

Get API Key or Read full API docs