Robots & Sitemap Checker — Example Report Run Your Own Audit →
📋 Example Report — Demo Data

Robots and Sitemap Example: Disallow Rules and XML Audit

This example shows the aiwebpageseo Robots & Sitemap Checker for a medium-sized website. The report shows a robots.txt scoring 88/100 with valid sitemap references and AI crawler permissions, plus an XML sitemap with 1,204 URLs and recent lastmod dates.

robots.txt — example-site.com
88
/ 100
✓ Found ✓ 2 sitemap refs ✓ 4 user-agents ⚠ 3 disallow rules ✓ 3 AI crawlers permitted
Health Overview
Found
User-agent
Sitemap Ref
No Blocks
70%
AI Crawlers
WARN

Disallow rule blocks /admin/ for all bots

Disallow: /admin/ is applied to all User-agents via wildcard. This is correct but ensure no important pages live under this path.

Disallow Rules
all bots/admin/
all bots/private/
all bots/wp-login.php
Sitemap — /sitemap.xml
94
/ 100
Found
1,204
URLs
Referenced
2026-03-19
Last updated
Valid XML
✓ All sitemap URLs appear valid · ✓ No duplicate URLs detected · ✓ lastmod dates present on 1,198/1,204 URLs
robots.txt blocks crawling, not indexing — and the difference matters enormously

This is the most consequential misunderstanding in technical SEO, and it produces a failure that looks impossible until you know the mechanism.

A Disallow rule tells a crawler not to fetch the URL. It does not tell Google not to index it. If Google discovers the URL another way — an external link, an internal link, a sitemap — it can index it without ever fetching it. The result is a search listing for a page Google has never read: the URL, no title it can trust, and often the text "No information is available for this page."

TRAP

Disallow and noindex cancel each other out

The instinct on discovering an indexed page you wanted hidden is to add both a Disallow and a noindex. This is exactly wrong. The noindex lives inside the page — Google has to crawl the page to read it. Block the crawl and the noindex is never seen, so the URL stays in the index indefinitely. To remove a page: allow the crawl, serve noindex, wait for the recrawl, and only then add a Disallow if you want to save crawl budget afterwards.

The rule of thumb: robots.txt is for controlling crawl budget. noindex is for controlling the index. They are different tools for different jobs and using one for the other's purpose fails silently.

Reading the 88/100 — three disallow rules is not a defect

The score is docked to 70% on "No Blocks" because three Disallow rules exist. But /admin/, /private/ and /wp-login.php are exactly what should be blocked. The report is measuring the presence of rules, not their correctness, and a robots.txt with zero disallow rules is not a better one — it is usually one nobody has configured.

Judge the rules, not the count. What actually makes a robots.txt dangerous:

note

robots.txt is a public file, and it is a map

Disallow: /wp-login.php announces to everyone that this is a WordPress site with a login at the standard path. Disallow: /private/ tells an attacker exactly where to look. This is not an argument for removing the rules — it is an argument for not relying on robots.txt as a security measure. Anything genuinely sensitive needs authentication. Well-behaved crawlers obey the file; a scraper reads it as a to-do list.

AI crawlers: the bot names are not interchangeable

"3 AI crawlers permitted" is a green tick, and the underlying picture is more granular than a single decision. Different bots from the same company do different jobs, and blocking the wrong one has consequences people do not intend:

BotWhat it is forBlocking it means
GPTBotOpenAI's crawler for model training dataYour content is not used for training
OAI-SearchBotOpenAI's crawler for search resultsYou are excluded from ChatGPT's search citations
ChatGPT-UserFetches a page because a user asked for itChatGPT cannot open your link when asked
Google-ExtendedControls Gemini training use onlyNo effect on Google Search at all
ClaudeBotAnthropic's crawlerExcluded from Claude's use of your content
PerplexityBotPerplexity's crawlerExcluded from Perplexity citations

Two of these rows correct widespread errors. First: blocking GPTBot does not remove you from ChatGPT — training and search are separate crawlers, and a publisher who blocks GPTBot to protect their content from training while hoping to be cited in ChatGPT's search results has done precisely what they intended, so long as they left OAI-SearchBot alone.

Second: Google-Extended has no effect on Google Search. It governs whether your content is used for Gemini training. Blocking it does not remove you from the index, does not affect rankings, and does not remove you from AI Overviews — those are served by Googlebot, and opting out of them means opting out of Search entirely. That trade-off is the real decision, and it is not made in this file.

The sitemap: 94/100, and what a sitemap cannot do

A sitemap is a discovery aid. It tells Google which URLs exist. It does not request indexing, it does not promise indexing, and submitting it does not cause indexing.

This is why the most common sitemap disappointment is not a sitemap problem at all: 1,204 URLs submitted, and a Search Console report full of "Discovered — currently not indexed". That status means the sitemap worked perfectly. Google found the URLs, looked at them, and declined. The sitemap did its job and the content did not.

What a sitemap must contain, and what audits rarely check:

The limits: 50,000 URLs and 50MB uncompressed per file; beyond that, use a sitemap index. And a sitemap index is worth using well below the limit anyway — split by section (products, blog, categories) and Search Console will report indexing coverage per sitemap, which turns "660 pages not indexed" into "the entire product template is not indexed". That is a diagnosis rather than a number.

lastmod, changefreq and priority

The report notes lastmod on 1,198 of 1,204 URLs. The six without are not the problem worth thinking about. This one is:

honesty

Google uses lastmod only if it is consistently accurate

A CMS that stamps today's date on every URL in the sitemap on every rebuild — whether or not the page changed — is not signalling freshness. It is signalling that the field is meaningless, and Google stops using it. An absent lastmod costs you nothing. A dishonest one costs you the ability to signal a genuine update, permanently. This is the single most common defect in generated sitemaps and it is invisible to every validator, because a wrong date is still a valid date.

changefreq and priority: Google ignores both. They have been ignored for years. priority in particular is universally set to 1.0 by plugins and conveys nothing — you cannot tell Google which of your pages matter by asserting that all of them do. If you want to signal that a page is important, link to it more, from pages that already have authority. That is the only version of this signal that Google reads.

And a mechanical point that catches people out: robots.txt is per-origin. The file at https://example.com/robots.txt governs only that protocol and that host. A subdomain needs its own file at its own root, and rules placed in the main site's robots.txt have no effect on it whatsoever.

Frequently asked questions

Should I block AI bots in robots.txt?

Only if you have a specific reason to prevent AI models from training on or citing your content — and note that the bot names are not interchangeable. GPTBot is OpenAI's training crawler, so blocking it stops your content being used for training but does not remove you from ChatGPT's search citations, which come from a separate crawler, OAI-SearchBot. Blocking PerplexityBot prevents Perplexity citations. Google-Extended governs Gemini training only and has no effect whatsoever on Google Search. For most sites seeking visibility in AI search, allowing the search and citation crawlers is beneficial — they are potential sources of citation and traffic.

What is the ideal XML sitemap structure?

A valid XML sitemap contains loc (URL), lastmod (last modified date in ISO 8601 format) and optionally changefreq and priority. It must be under 50MB and 50,000 URLs. For large sites, use a sitemap index file. Submit your sitemap to Google Search Console after any significant changes.

What causes a robots.txt score below 90?

Common issues: no sitemap reference, overly broad disallow rules that block important pages, inconsistent user-agent casing, incorrect syntax (missing User-agent before Disallow), blocking CSS or JavaScript files Google needs to render pages, or blocking AI crawlers unintentionally.

Does Disallow in robots.txt remove a page from Google?

No. Disallow stops the crawl, not the indexing. If Google discovers the URL another way — an external link, an internal link, a sitemap — it can index it without ever fetching it, producing a listing with no usable title and often the text "No information is available for this page". Worse, adding both Disallow and noindex cancels them out: the noindex lives inside the page, so blocking the crawl means Google never reads it. To remove a page, allow the crawl, serve noindex, wait for the recrawl, and only then consider a Disallow.

Does blocking Google-Extended affect my Google Search rankings?

No. Google-Extended controls only whether your content is used for Gemini model training. It does not remove you from the index, does not affect rankings, and does not remove you from AI Overviews — those are served by Googlebot, so opting out of them would mean opting out of Search entirely. Similarly, blocking GPTBot stops OpenAI using your content for training but does not remove you from ChatGPT's search citations, which come from a separate crawler, OAI-SearchBot.

Are changefreq and priority worth setting?

No — Google ignores both, and has for years. Priority in particular is set to 1.0 by most plugins and conveys nothing; you cannot tell Google which pages matter by asserting that all of them do. To signal that a page is important, link to it more from pages that already have authority. That is the only version of this signal Google reads.

My sitemap has 1,204 URLs but most are not indexed. Is the sitemap broken?

Probably not. A sitemap is a discovery aid — it tells Google which URLs exist. It does not request or guarantee indexing. A report full of "Discovered — currently not indexed" means the sitemap worked perfectly: Google found the URLs, assessed them, and declined. The sitemap did its job and the content did not. Do check that every listed URL returns 200, is canonical, carries no noindex, and is not blocked in robots.txt — but if all that holds, the problem is the pages themselves.

Related Demo Reports

Run Robots & Sitemap Checker on Your Own Site

Get your real audit report with specific issues, fixes and improvements.

⚡ Run Free Audit View Plans