SEO · Content Systems · Publishing Infrastructure

What Should an Automated SEO Content Validator Check?

Learn what an automated SEO content validator should check before publication: titles, descriptions, headings, word count, slugs, canonicals, links, markdown, duplication, and schema.

An automated SEO content validator should not try to “understand quality” in the abstract. It should enforce the rules that your publishing system can verify before a page goes live: does the page have the right title, description, headings, word count, slug, canonical URL, links, required sections, clean markdown, acceptable duplication risk, and valid schema? If those checks are deterministic, they can run on every draft and fail fast when something would otherwise create an indexing or maintenance problem.

Start with the page contract, not the content itself

The validator should compare the draft against the expected page type. A category page, glossary entry, comparison page, and article do not share the same requirements. The validator needs a schema for the content model: required fields, allowed values, field lengths, and page-type-specific constraints.

That usually means checking:

  • title exists, is within your length policy, and is not empty or generic
  • description matches the intended page type and does not repeat the title
  • slug is valid, stable, lowercase, and unique
  • canonical resolves to the expected URL and matches your canonical policy
  • headings follow the required structure for that page type
  • word count meets the minimum for the template, not an arbitrary editorial preference
  • links include the required internal and external references, if any are mandatory
  • schema is present, valid, and aligned with the page type

This is less about style and more about preventing broken output from entering the publishing pipeline. If a page type is supposed to produce a comparison article but the draft only contains an intro and two bullet points, the validator should reject it before anyone argues about whether it is “good enough.”

For systems that generate or transform content automatically, this kind of validation belongs in the same layer as job control and publication safety. If you are designing the broader workflow, how to build automated QA gates for SEO content shows how deterministic checks fit alongside human review.

Title, description, and headings need structural validation

The validator should check the title and description as metadata, but also as search-facing content.

A good title check is not “contains the keyword.” That is too weak and too easy to game. Better checks are:

  • title length within a configurable range
  • title uniqueness against existing pages
  • title not duplicated inside the H1 unless that is your design choice
  • title not mechanically copied from the template with only one token changed
  • title aligned with the page intent and page type

The description should be checked for:

  • existence
  • length boundaries
  • duplication with title or nearby pages
  • sentence quality if you are using an NLP or LLM-assisted check
  • consistency with the canonical page type and search intent

Headings should be validated as an outline, not as decoration. Common checks include:

  • exactly one H1, unless your rendering system deliberately supports otherwise
  • required H2s present for the template
  • no skipped heading levels if your content model forbids them
  • no repeated section headings across the same page
  • no malformed markdown that causes headings to render incorrectly

Malformed markdown deserves explicit validation because it often creates invisible failures: a heading becomes plain text, a list nests incorrectly, or a code fence breaks the rest of the article. A validator should parse the rendered output, not only the source text, so it can catch markup that looks fine in the editor but breaks after transformation.

Word count should be a policy check, not a vanity metric

Word count is useful only when it is tied to a page model.

For automated publishing, the real question is whether the draft contains enough material to satisfy the page’s intended purpose. A 600-word glossary entry may be fine. A 600-word comparison page with multiple competitors, criteria, and a decision framework may not be.

So the validator should check:

  • minimum word count by page type
  • minimum content in required sections
  • optional penalties for overly repetitive text
  • ratio of boilerplate to unique text, if your pipeline can estimate it

Word count alone can be misleading. A long page can still be thin if it repeats the same idea three times. A shorter page can be adequate if it is tightly scoped and genuinely complete. Use word count as one input into the page contract, not as the contract itself.

Duplicate content checks should look beyond exact matches

Duplicate content is usually treated too narrowly. An automated validator should catch more than exact copy-paste duplication.

At minimum, check for:

  • exact duplicate text blocks within the same page
  • near-duplicate sections across pages in the same cluster
  • boilerplate paragraphs that repeat unchanged across many URLs
  • titles and descriptions that differ only by token swaps
  • page bodies that are structurally identical but use different entities

The goal is not to eliminate all similarity. Templates inevitably create shared structure. The goal is to distinguish acceptable templating from pages that are effectively the same document with new names. That distinction matters most in programmatic publishing, where the surface area for repetitive output grows quickly. If you are building that system, how to avoid duplicate content in programmatic SEO is the relevant adjacent problem, because validation alone cannot fix a bad page model.

A useful validator pattern is to compare each draft against:

  1. the page type’s expected template pattern
  2. sibling pages in the same cluster
  3. existing live pages that share the same entity set

If the draft exceeds your similarity threshold, it should fail or route to review. The threshold itself is a policy decision, not a universal SEO rule.

Canonical URLs should be validated as system logic

Canonical tags are not a cosmetic field. They are part of how your site defines the preferred URL for a page.

The validator should confirm that:

  • the canonical URL is present
  • it matches the expected URL for the page record
  • it is absolute and normalized in the format your system requires
  • it does not point to a staging host or old environment
  • it does not conflict with redirect rules or published slug values
  • it resolves to a page that is indexable and live

For sites with URL variants, filters, or generated combinations, canonical validation should happen against the source of truth, not against whatever the draft happened to render. That is one reason canonical handling is better treated as infrastructure than as front-end markup. If your team is still deciding how to centralize that logic, how to manage canonical URLs at scale is the better companion article.

A validator can also catch canonical drift after slug edits. If the slug changes but the canonical is still pointing to the previous URL, the page may publish with conflicting signals. That is the kind of bug that is easier to prevent than to untangle later.

Link checks should be contextual, not purely numeric

Internal links matter because they connect the page to the rest of the site’s structure. But a validator should not just count links. It should check whether the required links are present and whether they point to the right place.

Useful link validations include:

  • required parent or hub link present on page types that depend on hierarchy
  • no broken internal links
  • no links to unpublished, deleted, or redirected targets unless explicitly allowed
  • anchor text matches the intended destination and page function
  • link placement appears in the expected section, if the template requires it

For large sites, internal linking is part of the publishing contract. A page that publishes successfully but is disconnected from its cluster may be technically live and operationally incomplete. If your system needs to coordinate this more intentionally, how to automate internal linking without making it terrible is the natural next read.

The validator should also protect against link spam inside generated content. A page with ten internal links in the first paragraph may satisfy a naive rule and still be poor UX. Prefer rules that test location, relevance, and link density by section.

Required sections should be enforced by page type

If a page template expects a comparison table, method section, pricing summary, FAQ block, or implementation notes, those sections should be mandatory where they serve the page’s purpose.

The validator should confirm:

  • required section headings exist
  • required fields are populated in each section
  • section order is correct where order matters
  • empty placeholder sections are not being published
  • sections specific to a page type are not missing due to prompt or generation drift

This is especially important for systems that publish from structured data. A draft can look complete in raw text while silently omitting a critical section in the rendered page. Required-section validation prevents that class of failure.

Schema requirements should be validated at the rendered JSON-LD level

If the page type needs schema, validate the actual schema payload, not just the presence of a schema block.

At minimum, check that:

  • the schema type matches the page type
  • required properties are present
  • property values match visible page content where applicable
  • JSON is syntactically valid
  • the schema is not duplicating conflicting types on the same page
  • the schema output matches the page’s canonical URL and metadata

A validator should also catch malformed JSON-LD, stray commas, invalid quotes, missing arrays, and environment-specific placeholders that make schema unusable. Schema validation belongs in automated QA because it is deterministic and easy to break accidentally during template changes.

The validator should detect malformed markdown before render

Markdown errors are a common source of silent publishing bugs. A draft can pass a casual inspection but fail after rendering because of:

  • unclosed emphasis markers
  • broken lists
  • nested bullets that collapse incorrectly
  • tables with inconsistent columns
  • code fences that swallow the rest of the document
  • headings that render as paragraph text because of syntax mistakes

The safest approach is to validate both the source markdown and the rendered HTML. Source validation catches authoring mistakes. Render validation catches transformation issues introduced by the CMS, markdown parser, or component layer.

Use severity levels, not a single pass/fail bucket

Not every validation failure should block publication. Some should fail hard; others should route to warning or review.

A practical model is:

  • Blockers: missing title, invalid canonical, malformed schema, broken markdown, duplicate slug, missing required sections
  • Warnings: thin word count, weak description, low internal link count, high similarity, secondary headings missing
  • Info: optional improvements, style suggestions, or non-blocking editorial nudges

This lets the validator support real publishing operations instead of freezing them. The main job is to stop bad pages from shipping automatically and to surface ambiguous cases to a human reviewer.

That approach is easier to operate when validation sits inside a broader publishing workflow, not as a detached linting script. The validator should produce machine-readable reasons, route failures to the right queue, and preserve a trace of what was checked. If you are designing the whole lifecycle, how to build an automated SEO publishing pipeline provides the larger system context.

The most useful automated validator is boring in the best way: it checks the rules your team has already decided matter, rejects content that would create obvious technical risk, and leaves judgment calls to humans. When it works well, nobody thinks about it much. That is usually a sign the publishing system is doing its job.

← Back to SEO Infrastructure