What it does
Fetches the sitemap (or sitemap index) and cross-checks every listed URL against its actual indexability: noindex tag, robots.txt block, redirect status, and canonical target. Produces a cleanup list of URLs to remove from the sitemap and, separately, pages that should be in the sitemap but are missing.
Install
This skill isn't packaged in an installable registry. It's a plain SKILL.md file you can copy directly. Copy it from the SKILL.md tab and save it at the path for your assistant:
Use it in your AI assistant
Claude Code
.claude/skills/xml-sitemap-auditor/ (or ~/.claude/skills/xml-sitemap-auditor/ for all projects)
GitHub Copilot (VS Code)
.github/skills/xml-sitemap-auditor/
OpenAI Codex
.codex/skills/xml-sitemap-auditor/
Cursor
.cursor/skills/xml-sitemap-auditor/ (or ~/.cursor/skills/xml-sitemap-auditor/ globally)
Compatibility
Any WordPress site with a generated sitemap (from an SEO plugin or WordPress core). Needs read access to the sitemap XML and the pages it lists.
The complete SKILL.md for this skill:
---
name: xml-sitemap-auditor
description: Use when a user wants their WordPress sitemap checked for bloat, orphaned URLs, or entries that shouldn't be indexed. Triggers on "sitemap audit", "clean up sitemap", "sitemap errors", or "why is this URL in my sitemap".
---
# XML Sitemap Auditor
## When to use
The user wants to know whether their sitemap accurately reflects what should be indexed, free of noindexed pages, duplicates, redirects, or orphaned URLs that dilute crawl budget.
## Procedure
1. Fetch the sitemap or sitemap index and expand it into a flat list of URLs.
2. For each URL, check whether it carries a noindex tag, is blocked in robots.txt, returns a redirect, or has a canonical pointing elsewhere.
3. Separate findings into: should be removed from sitemap (noindexed, redirected, blocked, duplicate) and should be added but is missing (indexable pages absent from the sitemap).
4. Present the cleanup list with the reason for each flagged URL, not just the URL itself.
5. Recommend whether the fix belongs in the sitemap generator's settings (exclude a post type or category) or on individual pages.
## Guardrails
- Never remove a URL from the sitemap without confirming it's genuinely meant to be non-indexable, some noindex tags are set by mistake and the real fix is removing the tag, not the sitemap entry.
- Large sitemaps should be sampled and reasoned about in batches rather than assumed fully checked from a partial fetch.