
Sitemap Coverage
- 1 installs
- 73.4k repo stars
- Updated June 18, 2026
- thedaviddias/frontendchecklist
Compares indexable pages against the sitemap to find canonical pages missing from it and add them for faster discovery.
About
Verifies every canonical indexable page appears in the sitemap while noindex and non-self-canonical pages are excluded. A developer uses it when new pages take too long to appear in search.
- Every indexable canonical page should be in the sitemap
- Exclude noindex, non-self-canonical, and faceted URLs
Sitemap Coverage by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,710 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/thedaviddias/frontendchecklist --skill sitemap-coverageAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 73.4k |
| Last updated | June 18, 2026 |
| Repository | thedaviddias/frontendchecklist ↗ |
What it does
Compares indexable pages against the sitemap to find canonical pages missing from it and add them for faster discovery.
Files
Include indexable pages in your sitemap
Pages absent from the sitemap rely entirely on crawl discovery via links, which can delay indexing of new content, especially on large sites or pages with few inbound links.
Quick Reference
- Every canonical-url, indexable page should appear in the sitemap
- Pages with
noindexor non-self canonical tags must NOT be included in the sitemap - Paginated pages, filtered variants, and faceted URLs are usually excluded unless they have unique content
- Use Google Search Console Coverage report to find indexable pages not in the sitemap
Check
Compare the list of all canonical-url, indexable URLs on the site against the URLs in the XML sitemap. Flag any page that returns HTTP 200, has no noindex directive, has a self-referencing canonical, but is absent from the sitemap.
Fix
Add missing indexable pages to the sitemap. Remove pages that carry noindex, redirect, or non-self canonical tags from the sitemap. Automate sitemap generation so newly published content is included immediately.
Explain
Explain how missing sitemap coverage slows crawl discovery, which types of pages should and should not be included, and how to use Google Search Console to identify gaps.
Code Review
Review metadata generation, rendered HTML, structured data, and response headers related to Include indexable pages in your sitemap. Flag exact routes or templates where search-facing output violates the rule, and describe how to verify the final page output.
---
For full implementation details, code examples, and framework-specific guidance, see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/seo/sitemap-coverage
Include indexable pages in your sitemap
Checks for canonical-url, indexable pages that are missing from the XML sitemap.
Priority: medium · Difficulty: intermediate · Time: 10 min
--- Sitemap coverage measures how well your sitemap represents the pages you want indexed. Google's sitemap best practices and your noindex-in-sitemap policy should align so search engines are not forced to guess which URLs matter.
Code Examples
<!-- sitemap.xml includes a noindex page — wrong -->
<url>
<loc>https://example.com/thank-you</loc>
</url><!-- /thank-you carries noindex — contradicts sitemap inclusion -->
<meta name="robots" content="noindex">Including a noindex page in the sitemap creates conflicting signals. Google's best practice is: sitemaps should only list pages you want indexed.
Why It Matters
Pages absent from the sitemap rely entirely on crawl discovery via links, which can delay indexing of new content, especially on large sites or pages with few inbound links. Google Search Console is usually the quickest place to confirm whether the delay is sitemap coverage or broader crawl issues.
Include in Sitemap
- ✅ Canonical pages returning HTTP 200
- ✅ Pages with
<meta name="robots" content="index, follow">(or no robots tag) - ✅ Pages with self-referencing canonical tags (
<link rel="canonical" href="[same URL]">) - ✅ New pages published in the last 7 days (high-priority for timely indexing)
Exclude from Sitemap
- ❌ Pages with
<meta name="robots" content="noindex"> - ❌ Pages blocked by
robots.txt(they cannot be crawled anyway) - ❌ Pages with canonical tags pointing to a different URL
- ❌ Redirect pages (3XX responses)
- ❌ Paginated subpages (e.g.,
/category/?page=2) unless they have unique, indexable content - ❌ Faceted/filtered URLs that duplicate canonical-url category pages
- ❌ Login, checkout, and other private pages
✅ Automated Coverage
Generate sitemaps from your CMS or database by querying only published, indexable content:
// Next.js sitemap.ts
const posts = await fetchPublishedPosts() // Only published posts
return posts.map(post => ({
url: `https://example.com/blog/${post.slug}`,
lastModified: post.updatedAt,
}))
}Finding Gaps
1. Google Search Console → Coverage: Pages marked "Discovered – currently not indexed" may need sitemap entry 2. Crawl your site: Compare all crawled 200-OK pages against sitemap URLs 3. Log analysis: Check server logs for URLs Googlebot is visiting that are not in your sitemap
Exceptions
- Staging, utility, login, account, or internal search pages may intentionally use different crawl or index signals if they are not meant to rank.
- Temporary migration states can produce noisy intermediate signals; flag the live production URL pattern, not one-off transition artifacts.
- When redirects, canonicals, robots directives, or indexability signals conflict, fix the strongest final signal first instead of reporting every downstream symptom as a separate blocker.
Standards
- Use these references as the standard for the final search-facing HTML, metadata, and crawl behavior.
- Check the implementation against Google: Sitemap best practices before treating the rule as satisfied.
- Check the implementation against Google: Build and submit a sitemap before treating the rule as satisfied.
Verification
Automated Checks
- Inspect rendered HTML and HTTP headers to confirm the expected metadata or crawlability signal is present.
- Test the affected URL with Google Search Console or equivalent tooling where relevant.
- Re-crawl a representative page set after deployment.
Manual Checks
- Confirm the change does not create conflicting canonical-url, robots, or structured-data signals.