On-Page Schema Coverage Auditor
Classifies each page's content type and compares the structured data it should carry against what is present and valid,…
Updated
Use this skill
$ npx skills add seoskills.sh/schema-coverage-auditorAbout this skill
On-Page Schema Coverage Auditor is a On-Page SEO skill for AI agents, published in the seoskills.sh catalog. Reach for it when your work involves titles, meta tags, headings, internal linking, and content structure that ranks. Install it with one command and it runs inside your own agent, so the work happens in your workflow, not a separate SEO tool.
SKILL.md
On-Page Schema Coverage Auditor
AGENT ROLE: Autonomous structured-data agent. Determine the schema each page SHOULD have, compare to what it HAS, validate required properties, and emit the JSON in references/output.schema.json. Audit coverage; do not generate the markup.
OBJECTIVE
For each page, detect its content type, look up the recommended schema.org types and required properties in references/content_type_schema.json, and report exactly what structured data is missing, incomplete, or invalid — with rich-result eligibility impact.
INPUTS
urls(REQUIRED string[]) ORsitemap_url.content_type_hints(OPTIONAL): mapurl → typeto override auto-classification.max_pages(OPTIONAL, default 2000).
AUTHENTICATION / RUNTIME
- No API key. Keyless HTTPS GET, UA
seoskills-schema-audit/1.0, honor robots.
EXPECTED TOOL CALLS
- Run
scripts/schema_coverage.py --urls a,b,c. - Per URL: GET; parse all JSON-LD blocks and microdata; classify content type from on-page signals.
PROCEDURE (deterministic, per page)
STEP 1 — CLASSIFY content type (article, product, faq, howto, localbusiness, recipe, event, breadcrumb-eligible, organization) from signals: URL pattern, og:type, presence of price/rating (product), Q&A structure (faq), step lists (howto), address/geo (local). Use content_type_hints when provided.
STEP 2 — RECOMMENDED: from content_type_schema.json, get the recommended @type(s) and their required + recommended properties for the classified type.
STEP 3 — PRESENT: parse existing JSON-LD/microdata; map to schema types found.
STEP 4 — DIFF + VALIDATE:
SCHEMA_MISSING: a recommended type is entirely absent.REQUIRED_PROPERTY_MISSING: present type lacks a required property (e.g., Product withoutoffers/name).INVALID_VALUE: property present but malformed (e.g.,priceCurrencynot ISO-4217,aggregateRating.ratingValueout of range).RECOMMENDED_PROPERTY_MISSING: info-level. STEP 5 — ELIGIBILITY: map missing/invalid to lost rich-result types (review star, FAQ accordion, breadcrumb, sitelinks). STEP 6 — SCOREcoverage_score0–100; EMIT per page with the exact properties to add.
RATE LIMITS & ERROR HANDLING
- Crawl: ≤ 5 concurrent, ≥ 150ms per host, timeout 12s. Per-URL failure →
{url, status:"unreachable"}. - Malformed JSON-LD → capture as
INVALID_JSONLD(a finding), do not crash the page.
MISSING / INSUFFICIENT DATA
- Auto-classification can be wrong for ambiguous pages — always return
detected_type+classification_confidence; low confidence → recommend Organization/WebPage only and note it. - Never invent property values; report what is missing, not what to set them to (that is content, not audit).
- A page legitimately needing no special schema (e.g., a contact page) is
passwithrecommended_types: [].
OUTPUT
One JSON object per references/output.schema.json. No prose.
FILES
scripts/schema_coverage.py— content-type classification, JSON-LD/microdata parse, diff + validation.references/content_type_schema.json— recommended types + required/recommended properties + validators.references/output.schema.json— output contract.
Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.
Embed a badge
Install into your agent
More in On-Page SEO
schema
When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see seo-audit. For AI search optimization, see ai-seo.
schema-markup
When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see seo-audit. For AI search optimization, see ai-seo.
seo-schema
Detect, validate, and generate Schema.org structured data. JSON-LD format preferred. Use when user says "schema", "structured data", "rich results", "JSON-LD", or "markup".
seo-images
Image optimization analysis for SEO and performance. Checks alt text, file sizes, formats, responsive images, lazy loading, CLS prevention, image SERP rankings (via DataForSEO), and image file optimization (WebP/AVIF conversion, IPTC/XMP metadata injection). Use when user says "image optimization", "alt text", "image SEO", "image size", "image audit", "optimize images", "image metadata", "image SERP", "convert to webp", or "image file optimize".
seo-image-gen
AI image generation for SEO assets: OG/social preview images, blog hero images, schema images, product photography, infographics. Powered by Gemini via nanobanana-mcp. Requires banana extension installed. Use when user says \"generate image\", \"OG image\", \"social preview\", \"hero image\", \"blog image\", \"product photo\", \"infographic\", \"seo image\", \"create visual\", \"image-gen\", \"favicon\", \"schema image\", \"pinterest pin\", \"generate visual\", \"banner\", or \"thumbnail\".
seo-drift
SEO drift monitoring: capture baselines of SEO-critical elements, detect changes, and track regressions over time. Git for SEO: baseline, diff, and track changes to your on-page SEO. Use when user says "SEO drift", "baseline", "track changes", "did anything break", "SEO regression", "compare SEO", "before and after", "monitor SEO changes", or "deployment check".