seo-sitemaps
Installation
SKILL.md
seo-sitemaps (M17)
Sitemaps are the discovery contract you hand the crawler — they should list exactly the canonical, indexable URLs and nothing else. Schema rules for related markup: references/schema-tier1.md.
Audits
Working from the PageSnapshot (rendered_dom if present, else raw_html) plus fetched /sitemap.xml and /robots.txt:
- Presence & validity: locate XML sitemap(s) (
/sitemap.xml, robotsSitemap:lines, sitemap index); parse as well-formed XML against the sitemaps.org schema. - Size limits: each sitemap
<=50,000URLs and<=50MBuncompressed; if exceeded, expect a sitemap index splitting the set. - Extensions: where relevant, validate
image:,video:, andnews:namespace entries (correct namespace declared, required child elements present). - lastmod accuracy:
<lastmod>is valid ISO 8601 and reflects real last-modified time — not a build-time stamp on every URL (which trains crawlers to ignore it). - robots referencing: at least one absolute
Sitemap:line inrobots.txt. - Sitemap-to-canonical consistency: no URL in the sitemap is
noindex, redirected, 4xx/5xx, or non-canonical (self-referencing canonical only). Cross-check indexability with M-indexability. - Orphan reconciliation: diff sitemap URLs against the internal link graph — flag indexable pages absent from the sitemap and sitemap URLs unreachable by internal links.
Fixes
- AUTO: generate or repair XML sitemap entries (correct
<loc>, accurate<lastmod>from observed last-modified data, validimage:/video:extension children where media exists) and add an absoluteSitemap:line torobots.txt. These are additive/deterministic diffs forfix. - PROPOSED: removing or splitting entries (e.g. dropping non-canonical/noindex URLs, sharding into a sitemap index) — drafted, accepted per-item.
- ADVISORY: changing site-wide lastmod strategy or canonical decisions — described, never written by the tool.
- Never fabricate lastmod times, media URLs, or canonical targets — pull from observed data, ask the user, or leave a clearly-marked
TODOplaceholder per the schemafixablecontract.