Agent skill

SEO Sitemap

by seranking in seranking/seo-skills

Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit.

MITAuto-check passedMarketing & SEO

Install SEO Sitemap

skills CLI
$ npx skills add seranking/seo-skills --skill seo-sitemap -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install seranking/seo-skills seo-sitemap --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-sitemap .claude/skills/seo-sitemap && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
seo-sitemap
GitHub stars
161
Token cost
~2.3k tokens
SKILL.md length
824 words
Files
1
Skills in repo
32
Repo updated
First seen
Licence
MIT

At a glance

Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit.

  • Works in 8 steps: Validate target & confirm audit → Build URL lists WebFetch (sitemap) +… → Pull the audit's crawled pages… → …
  • The user asks for sitemap analysis
  • SKILL.md covers Prerequisites, Process, Output format and Tips
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

SEO Sitemap is an agent skill from seranking/seo-skills. Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit. Surfaces (a) sitemap entries the crawler couldn't find (orphans from the sitemap), (b) audit pages missing from the sitemap (probably an oversight), (c) sitemap entries that are now 404, (d) lastmod inconsistencies. Use when the user asks for "sitemap analysis", "check my sitemap", "sitemap vs audit", "missing pages", "orphan pages", or "sitemap health".

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering Technical SEO and Web scraping. It works with Model Context Protocol and Firecrawl. The repository describes itself as: Claude SEO Skills — production Claude Agent Skills for the SE Ranking MCP server. Content briefs, AI Search share of voice, audits, backlink gaps, keyword clusters, schema… The licence is MIT.

When your agent uses it

  • The user asks for sitemap analysis
  • Check my sitemap
  • Sitemap vs audit

Example prompts

  • “sitemap analysis”
  • “check my sitemap”
  • “sitemap vs audit”
  • “/seo-sitemap”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Validate target & confirm audit
  2. Build URL lists WebFetch (sitemap) + mcpfirecrawl-mcpfirecrawl_map (optional Mode-2)
  3. Pull the audit's crawled pages DATA_getCrawledPages
  4. Pull domain pages DATA_getDomainPages
  5. Pull orphan-page issues DATA_getAuditPagesByIssue
  6. Compute the four diffs
  7. Validation
  8. Synthesise SITEMAP.md

What it can do on your machine

Read from SKILL.md and the folder at commit fd6d140. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • developers.google.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

SEO Sitemap loads about 2.3k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 824 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from seranking/seo-skills at commit fd6d140, republished under its MIT licence (© seranking). 824 words, ~2,270 tokens.

Download SKILL.mdSave it as .claude/skills/seo-sitemap/SKILL.md (or your agent's skills folder).
name
seo-sitemap
description
Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit. Surfaces (a) sitemap entries the crawler couldn't find (orphans from the sitemap), (b) audit pages missing from the sitemap (probably an oversight), (c) sitemap entries that are now 404, (d) lastmod inconsistencies. Use when the user asks for "sitemap analysis", "check my sitemap", "sitemap vs audit", "missing pages", "orphan pages", or "sitemap health".

Example output: examples/seo-sitemap-notion-so-20260514/SITEMAP.md

Sitemap Analysis

Compare a domain's XML sitemap against the most recent SE Ranking website audit. Surface what the sitemap claims vs what the crawler actually found, in both directions.

Prerequisites

  • SE Ranking MCP server connected.
  • Claude's WebFetch tool available.
  • User provides: a target domain. Optional: the sitemap URL if not at /sitemap.xml (auto-discovery from robots.txt is attempted first).
  • Predecessor: seo-technical-audit (or any prior SE Ranking audit) on this domain. Without an existing audit, this skill has nothing to compare against — chain seo-technical-audit first.

Process

  1. Validate target & confirm audit

    • Normalise the domain.
    • DATA_listAudits → confirm an audit exists for this domain. If none, surface a clear message: "Run seo-technical-audit first; this skill compares the sitemap to that audit's crawl."
    • Use the most recent done audit by default.
    • Firecrawl availability check. If mcp__firecrawl-mcp__firecrawl_map is available, Mode-2 (URL discovery via crawl) is offered when the sitemap is missing or suspect. Cost: ~0.5 Firecrawl credits per URL discovered, hard cap 500 URLs (~250 credits). Without Firecrawl, the skill runs Mode-1 only and notes the gap if Mode-2 was needed. User may pass --no-firecrawl to force Mode-1 even when Firecrawl is available (saves credits at the cost of orphan/missing analysis when sitemap is broken).
  2. Build URL lists WebFetch (sitemap) + mcp__firecrawl-mcp__firecrawl_map (optional Mode-2)

    • Mode-1 (default). Try https://{domain}/sitemap.xml. If 404, fetch /robots.txt and look for Sitemap: directives. For sitemap-of-sitemaps, recursively fetch each child sitemap. Build the canonical URL list from the sitemap.
    • Mode-2 trigger. Switch on Mode-2 when (a) no sitemap is reachable, (b) the sitemap returns < 10% of the audit's DATA_getCrawledPages count, or (c) the user explicitly requests --discover. Always surface the trigger and the cost estimate to the user before running Mode-2.
    • Mode-2 execution (requires Firecrawl): call firecrawl_map(url=domain, limit=500). The response is the URL list Firecrawl could discover from the homepage and internal linking. Use this list as the "sitemap-equivalent" in step 6 — the diffs run identically, just with discovered URLs in place of declared sitemap URLs.
    • If Mode-2 is needed but Firecrawl is unavailable: continue with whatever sitemap data Mode-1 returned (possibly empty). Surface clearly in SITEMAP.md: Mode-2 (Firecrawl URL discovery) needed but Firecrawl not installed — sitemap-vs-audit diffs run on partial data only.
  3. Pull the audit's crawled pages DATA_getCrawledPages

    • All URLs the crawler found, with status codes, indexability flags, depth.
  4. Pull domain pages DATA_getDomainPages

    • Domain-level page inventory (broader than the audit's crawl scope in some cases).
  5. Pull orphan-page issues DATA_getAuditPagesByIssue

    • Filter for orphan-page and depth-related issues. These intersect with sitemap analysis.
  6. Compute the four diffs

    • Missing from sitemap: URLs in DATA_getCrawledPages (status 200, indexable) that don't appear in the sitemap. Probably should be added.
    • Orphans from sitemap: URLs in the sitemap that the crawler didn't find via internal links (cross-ref DATA_getAuditPagesByIssue orphan flags). The sitemap is the only thing pointing at them — investigate whether they should be linked internally.
    • Broken sitemap entries: sitemap URLs that returned non-200 in the audit's crawl. Remove from sitemap or fix the URL.
    • Lastmod issues: sitemap entries where (a) all <lastmod> dates are identical (lazy generation) or (b) <lastmod> is older than the audit's crawl date for the page even though the page changed (stale).
  7. Validation

    • URL count <50,000 per file (sitemap protocol limit). Flag if exceeded.
    • Sitemap referenced in robots.txt.
    • Encoding: each URL is XML-safe (ampersands escaped, etc.).
    • HTTPS consistency: sitemap URLs match the canonical protocol.
    • <lastmod> is the only optional tag Google still consumes. Validate it (step 6). <priority> and <changefreq> have been explicitly ignored by Google for years (per Google's sitemap docs — "Google ignores priority and changefreq values"). Don't validate them; if present, flag as low-signal noise the user can strip to shrink the sitemap.
  8. Synthesise SITEMAP.md

Show full SKILL.md (213 more words)Show less

Output format

Create a folder seo-sitemap-{target-slug}-{YYYYMMDD}/ with:

seo-sitemap-{target-slug}-{YYYYMMDD}/
├── SITEMAP.md                       (synthesised report — primary deliverable)
├── recommended-sitemap-diff.md      (proposed changes: add X, remove Y — load-bearing artefact engineering applies to sitemap.xml)
└── evidence/
    └── source-data.md               (consolidated raw step output: fetched sitemap content, Firecrawl-discovered URLs if Mode-2 ran, audit's crawled-pages list, the four diffs (missing/orphans/broken/lastmod-issues) — preserved for reproducibility)

Top-level: SITEMAP.md + recommended-sitemap-diff.md. The seven raw step files (01-sitemap-raw, 01b-firecrawl-discovered, 02-audit-pages, 03-missing-from-sitemap, 04-orphans-from-sitemap, 05-broken-entries, 06-lastmod-issues) are consolidated into a single evidence/source-data.md document with the same per-step section headers — a reader who needs to replay the diff has all raw inputs in one file rather than seven.

SITEMAP.md follows this shape:

markdown
# Sitemap Analysis: {domain}

> Sitemap pulled {YYYY-MM-DD} · Audit reference {audit-date}

## Mode

- **Mode-1 (sitemap-vs-audit):** {ran / skipped — no sitemap reachable}
- **Mode-2 (Firecrawl URL discovery):** {ran with {n} URLs / not triggered / triggered but Firecrawl not installed}

## Health summary

| Metric | Value | Status |
|---|---|---|
| Sitemap URLs (Mode-1) | {n} | — |
| Discovered URLs (Mode-2, if ran) | {n} | — |
| Audit crawled URLs (200, indexable) | {n} | — |
| Missing from sitemap (probable adds) | {n} | {🔴 if >5%} |
| Orphans from sitemap (probable cuts or link-ins) | {n} | {🟡 if >5} |
| Broken sitemap entries (non-200) | {n} | {🔴 if >0} |
| Lastmod issues | {n} | {🟡 if uniform; 🔴 if stale} |

## Recommended changes

### Add to sitemap ({n} URLs)
- {URL} — found by crawler at depth {n}, status 200, indexable.
- ...

### Remove from sitemap ({n} URLs)
- {URL} — returns {status code}.
- ...

### Investigate (orphan from sitemap, {n} URLs)
- {URL} — in sitemap but not reachable via internal links. Either link from {suggested parent} or remove from sitemap.
- ...

### Fix lastmod ({n} URLs)
- {URL} — lastmod is {date} but the audit crawled the page on {date} and detected changes since.
- ...

## Validation

- Total URL count: {n} ({✓ under 50k limit | ✗ exceeds — split into sitemap-of-sitemaps})
- Referenced in robots.txt: {✓/✗}
- HTTPS consistency: {✓/✗}
- Encoding: {✓/✗}

## Apply
- See `recommended-sitemap-diff.md` for the proposed sitemap.xml changes.
- After applying, re-run `seo-technical-audit` to refresh the crawl, then re-run this skill to verify.

Tips

  • Run seo-technical-audit first. Without an audit, this skill has nothing to compare.
  • Re-run after deploys that change page inventory (new content, removed pages, URL restructures).
  • Sitemap-of-sitemaps fan-out can be large for big sites — the skill recursively fetches all child sitemaps. For sites with 50+ child sitemaps, fetching dominates runtime; not credit cost.
  • <priority> and <changefreq> are dead signals — Google explicitly ignores both. Don't waste time tuning them; if your sitemap generator emits them, the bytes are pure overhead. <lastmod> is still consumed, so keep that one accurate.
  • The "investigate orphans" list is often the highest-leverage finding — pages that exist but aren't linked are usually accidentally orphaned, and adding a couple of internal links can revive them.
  • Pair with seo-drift to track sitemap composition over time (URL count, lastmod patterns).
  • Cost: ~5–10 SE Ranking credits typical (mostly the getCrawledPages and getDomainPages calls). Mode-2 adds Firecrawl credits at ~0.5 per discovered URL — surface the estimate before triggering.

© seranking, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/seo-sitemap of seranking/seo-skills.

Open the folder on GitHubat commit fd6d140

Compare with similar skills

SEO Sitemap next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

SEO Sitemap compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SEO Sitemap this skillseranking/seo-skills161—~2.3kAutomated safety check: PassMIT
Firecrawl Site Crawl ExtensionAgriciDaniel/claude-seo19k1 repos~2kAutomated safety check: PassMIT
SEO Site Auditspronta/crawlie114—~966Automated safety check: PassCustom licence
SEO DataforseoAgriciDaniel/codex-seo7992 repos~4.6kAutomated safety check: PassMIT
Competitor Analysisaaron-he-zhu/aaron-marketing-skills2.9k1 repos~2kAutomated safety check: PassApache-2.0
SEO Checkerhanzili/hanzi-browse177—~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Firecrawl Site Crawl Extension

    AgriciDaniel/claude-seo

    Crawls, maps, and scrapes an entire site through the Firecrawl MCP server for broken-link checks and content inventories.

    19k GitHub starsUsed in 1 repo~2k tokens
    Marketing & SEOAuto-check passed
  • SEO Site Audit

    spronta/crawlie

    Run a complete technical SEO + AI-search audit of a website with crawlie.

    114 GitHub stars~966 tokensUpdated 2 mo ago
    Marketing & SEOAuto-check passed
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    799 GitHub starsUsed in 2 repos~4.6k tokens
    Marketing & SEOAuto-check passed
  • Competitor Analysis

    aaron-he-zhu/aaron-marketing-skills

    A skill your agent uses when the user asks to "analyze competitors" or "竞品分析"; benchmarks competitor keywords, content, backlinks, AI citations, and traffic share into strengths, weaknesses, and an…

    2.9k GitHub starsUsed in 1 repo~2k tokens
    Marketing & SEOAuto-check passed
  • SEO Checker

    hanzili/hanzi-browse

    Audit web pages for SEO issues in a real browser. An agent skill from hanzili/hanzi-browse.

    177 GitHub stars~1.9k tokensUpdated 5 mo ago
    Marketing & SEOAuto-check passed
  • Geo Audit

    vellum-ai/vellum-assistant

    Runs a one-command technical GEO audit on any domain. An agent skill from vellum-ai/vellum-assistant.

    1.4k GitHub stars~2k tokensUpdated today
    Marketing & SEOAuto-check passed

More from seranking/seo-skills

All 32 skills in this repo
  • SEO Google

    seranking/seo-skills

    Direct access to Google's own SEO data via Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, GA4 organic…

    161 GitHub stars~4.8k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO API

    seranking/seo-skills

    SE Ranking API integration architect. An agent skill from seranking/seo-skills.

    161 GitHub stars~4.1k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Content Audit

    seranking/seo-skills

    E-E-A-T + CITE quality audit for an EXISTING piece of content.

    161 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Content Brief

    seranking/seo-skills

    Generate a writer-ready SEO content brief from a target domain and topic.

    161 GitHub stars~2.5k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Drift

    seranking/seo-skills

    Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions.

    161 GitHub stars~3.4k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Firecrawl

    seranking/seo-skills

    Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP.

    161 GitHub stars~2.3k tokensUpdated 3 mo ago
    Auto-check passed

Questions about SEO Sitemap

What does SEO Sitemap do?

Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit. SEO Sitemap is an agent skill from seranking/seo-skills. Pull a domain's XML sitemap (and sitemap-of-sitemaps), then compare against the most recent SE Ranking website audit.

When should I use SEO Sitemap?

SEO Sitemap fits situations like: the user asks for sitemap analysis; check my sitemap; sitemap vs audit.

How do I install SEO Sitemap in Claude Code?

Run `npx skills add seranking/seo-skills --skill seo-sitemap -a claude-code`. Or copy the skill folder (skills/seo-sitemap in seranking/seo-skills) into .claude/skills/seo-sitemap in your project. Claude Code loads it when a task matches its description.

How do I install SEO Sitemap in Codex?

Run `npx skills add seranking/seo-skills --skill seo-sitemap -a codex`. Or copy the skill folder (skills/seo-sitemap in seranking/seo-skills) into .agents/skills/seo-sitemap in your project. Codex loads it when a task matches its description.

Can I use SEO Sitemap in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add seranking/seo-skills --skill seo-sitemap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seo-sitemap, .gemini/skills/seo-sitemap, .github/skills/seo-sitemap and .opencode/skills/seo-sitemap in your project.

What does SEO Sitemap need to run?

SKILL.md names no scripts, command-line tools or credentials: SEO Sitemap is instructions for the agent only.

Does SEO Sitemap access the network?

SKILL.md names 1 domain. As links in the text: developers.google.com. This is read from the text; nothing was executed.

Is SEO Sitemap safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does SEO Sitemap use?

SEO Sitemap is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does SEO Sitemap use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to SEO Sitemap?

Skills that share tags, products or a category with SEO Sitemap: Firecrawl Site Crawl Extension (AgriciDaniel/claude-seo, 19k stars), SEO Site Audit (spronta/crawlie, 114 stars), SEO Dataforseo (AgriciDaniel/codex-seo, 799 stars) and Competitor Analysis (aaron-he-zhu/aaron-marketing-skills, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SEO Sitemap?

seranking (a GitHub organization) maintains it in seranking/seo-skills, which has 161 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on June 25, 2026.

Source: seranking/seo-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.