Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when auditing an XML sitemap or diagnosing indexing issues. Applies to any site where noindex meta tags or X-Robots-Tag headers may be applied to URLs also listed in the sitemap.
.claude/skills/thedaviddias-noindex-in-sitemap/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 3% | 0% |
| case-01 | ✓→✓ | = Same ✓ | -6% | 0% |
| case-04 | ✓→✓ | = Same ✓ | -29% | 0% |
Listing noindexed pages in your sitemap sends contradictory signals to Googlebot—it wastes crawl budget and may confuse Google into ignoring the noindex directive or spending crawl time on pages you don't want indexed.
Fetch the XML sitemap(s) and check each listed URL. For each URL, retrieve the page and check for <meta name='robots' content='noindex'> in the <head> or an X-Robots-Tag: noindex HTTP header. Report any URLs present in the sitemap that also carry a noindex directive.
For each URL that has a noindex directive AND appears in the sitemap: decide whether the page should be indexed. If yes — remove the noindex directive. If no — remove the URL from the sitemap. Never leave both in place.
The XML sitemap is a recommendation to search engines: 'please crawl and index these pages'. A noindex directive is an instruction: 'do not index this page'. Including noindexed pages in the sitemap creates a contradiction—Google will resolve it by following noindex, but the URL still gets crawled, wasting crawl budget.
Fetch each URL in the XML sitemap. For each URL, check the HTTP response for X-Robots-Tag: noindex header, and check the rendered <head> for <meta name='robots' content='noindex'>. Report any URL that appears in the sitemap AND carries a noindex directive. Also check for sitemap entries returning non-200 status codes.
For full implementation details, code examples, and framework-specific guidance, see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/seo/noindex-in-sitemap
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | pass→pass | 12,864 | 10,243 | -20% | 1 | 1 | 0% | 2,242 | 2,305 | +3% | 0 | 0 | — |
case-01 | pass→pass | 9,917 | 6,395 | -36% | 1 | 1 | 0% | 1,765 | 1,653 | -6% | 0 | 0 | — |
case-03 | fail→pass | 6,531 | 4,737 | -27% | 1 | 1 | 0% | 1,263 | 1,352 | +7% | 0 | 0 | — |
case-04 | pass→pass | 10,512 | 5,282 | -50% | 1 | 1 | 0% | 1,948 | 1,383 | -29% | 0 | 0 | — |
case-05 | pass→pass | 10,074 | 10,678 | +6% | 1 | 1 | 0% | 1,739 | 2,230 | +28% | 0 | 0 | — |
case-06 | pass→pass | 2,553 | 3,248 | +27% | 1 | 1 | 0% | 412 | 1,070 | +160% | 0 | 0 | — |
case-07 | pass→pass | 10,780 | 6,064 | -44% | 1 | 1 | 0% | 2,008 | 1,491 | -26% | 0 | 0 | — |
case-08 | pass→pass | 9,612 | 6,671 | -31% | 1 | 1 | 0% | 1,966 | 1,756 | -11% | 0 | 0 | — |
case-09 | pass→pass | 4,462 | 2,834 | -36% | 1 | 1 | 0% | 710 | 1,017 | +43% | 0 | 0 | — |
case-10 | pass→pass | 10,539 | 6,697 | -36% | 1 | 1 | 0% | 1,833 | 1,598 | -13% | 0 | 0 | — |
case-11 | pass→pass | 10,513 | 4,568 | -57% | 1 | 1 | 0% | 1,964 | 1,260 | -36% | 0 | 0 | — |
case-12 | fail→pass | 11,281 | 11,273 | -0% | 1 | 1 | 0% | 2,005 | 2,525 | +26% | 0 | 0 | — |
case-13 | pass→pass | 4,346 | 3,107 | -29% | 1 | 1 | 0% | 736 | 954 | +30% | 0 | 0 | — |
case-14 | pass→pass | 9,359 | 5,336 | -43% | 1 | 1 | 0% | 1,787 | 1,428 | -20% | 0 | 0 | — |
case-15 | pass→pass | 4,775 | 3,757 | -21% | 1 | 1 | 0% | 920 | 1,202 | +31% | 0 | 0 | — |
case-16 | pass→pass | 8,481 | 6,283 | -26% | 1 | 1 | 0% | 1,531 | 1,626 | +6% | 0 | 0 | — |
case-17 | pass→pass | 4,464 | 3,004 | -33% | 1 | 1 | 0% | 819 | 1,056 | +29% | 0 | 0 | — |
case-18 | pass→pass | 10,304 | 7,765 | -25% | 1 | 1 | 0% | 1,974 | 1,868 | -5% | 0 | 0 | — |
case-19 | pass→pass | 12,802 | 8,107 | -37% | 1 | 1 | 0% | 2,348 | 1,976 | -16% | 0 | 0 | — |
case-20 | pass→pass | 2,538 | 3,897 | +54% | 1 | 1 | 0% | 460 | 1,148 | +150% | 0 | 0 | — |
case-21 | pass→pass | 3,299 | 4,190 | +27% | 1 | 1 | 0% | 738 | 1,337 | +81% | 0 | 0 | — |
case-22 | pass→pass | 1,789 | 1,903 | +6% | 1 | 1 | 0% | 348 | 775 | +123% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.