Skip to content
SEO Madmanby Adam Hafez
Free tool

Sitemap vs robots.txt conflict checker

Paste a sitemap and a robots.txt, then see every URL the sitemap lists for crawling that robots.txt also blocks for the tested user-agent.

Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.

Nothing you paste here is sent anywhere; both files are parsed in your browser only.

    Key takeaways

    • A URL can be listed in a sitemap while also being blocked by a robots.txt Disallow rule for the same crawler.
    • This checker applies the exact longest-match-wins precedence rule from RFC 9309 that the site's robots.txt tester uses.
    • Google's own documentation states plainly that a disallowed URL will not be crawled, but does not explicitly address the sitemap conflict case.
    • Every conflict flagged here means the sitemap requests a crawl that robots.txt refuses for the tested user-agent.
    • Fixing a conflict means removing the URL from the sitemap or narrowing the Disallow rule, not just noting the mismatch.

    What it takes

    • Pasted sitemap XML content
    • Pasted robots.txt content
    • User-agent to test, defaulting to the wildcard *

    More tools

    All of them free, all of them browser-only.

    Browse the tools

    How to use it

    1. 1Paste the sitemap XMLCopy the raw contents of the sitemap file, not a link to it. Like the site's sitemap validator, this tool only parses what you paste and never fetches a URL.
    2. 2Paste the robots.txt contentUse the file already live on the site, or a draft before publishing it, the same input the site's robots.txt tester accepts.
    3. 3Set the user-agent to testDefaults to the wildcard * group; enter a named crawler such as Googlebot to test its own, more specific group instead.
    4. 4Read the conflict listEvery sitemap URL is marked allowed or flagged as a conflict, with the exact Disallow rule that blocks it named beside the flag.
    5. 5Fix a flagged conflictEither remove the URL from the sitemap or narrow the Disallow rule so it no longer matches that path, then recheck.

    A sitemap tells a search engine “these pages exist, please crawl them.” A robots.txt Disallow rule tells the same crawler “do not fetch this path.” Both files can be published, both can be internally consistent, and still disagree with each other about the same URL. This tool pastes both files in, applies each one’s own real parsing rules, and lists every sitemap URL that lands on the wrong side of that disagreement.

    Why this conflict happens in practice

    Nobody sets out to block a URL they also submitted for crawling. It happens because the two files are usually generated by different systems on different schedules: a build step or a CMS plugin regenerates the sitemap automatically from whatever pages exist right now, while robots.txt is a hand-maintained file that someone edited once and rarely revisits. A new section gets added to the disallow list to keep a staging path or an internal search results page out of the index, the sitemap generator has no idea that rule exists, and it keeps listing every URL under that path anyway. The two files drift apart silently because nothing in a normal deploy pipeline checks them against each other, which is exactly the gap this tool fills.

    What Google’s documentation confirms, and what it does not

    Google’s robots.txt introduction states plainly that content blocked by robots.txt will not be crawled or indexed by Google, while separately noting that a disallowed URL can still surface in search results without a description if other sites link to it, since the block prevents fetching the page, not knowledge of its existence. Google’s sitemap documentation, read alongside it, never mentions the reverse case: neither page says what happens, or what Search Console reports, when a URL you deliberately submitted in a sitemap is also disallowed. That specific interaction is not addressed in either document, so this tool’s honest claim is limited to the general rule both pages do state, applied mechanically to every URL you paste, rather than any specific documented outcome for the conflict itself.

    Using the result

    A flagged conflict is a signal to check intent, not an automatic bug. If the path was disallowed on purpose, the fix is almost always to drop it from the sitemap, since submitting a URL you are simultaneously blocking wastes crawl attention on a page the crawler is refusing to fetch. If the path should be crawlable, the fix is the Disallow rule instead. Either way, treat every conflict this tool reports as a decision to make, and recheck the pair of files here again once you have made it.

    Sources

    1. 1.Robots.txt introduction and guide - Google Search CentralPrimary
    2. 2.Build and submit a sitemap - Google Search Central
    3. 3.RFC 9309: Robots Exclusion Protocol - IETF
    Tools

    Hreflang XML sitemap generator

    Build a sitemap with xhtml:link hreflang annotations for localized pages, with every alternate listed on every URL as Google's documentation requires.