Getting started

Paste any public domain into the input field on the App page and click Check. Robotsdiff fetches the domain's robots.txt and every sitemap it can find, then reports two things:

  • Contradictions — URLs that appear in a sitemap and match a Disallow rule in robots.txt. These are pages you asked Google to index and told it not to read.
  • Uncrawled paths (informational) — paths that are allowed by robots.txt but absent from any sitemap. Not every page needs to be in a sitemap, so this is information, not a finding.

No sign-up, no credentials, no stored data. Every check is independent and stateless.

How many checks can I run? There is no hard limit in the free tier. If you're checking many domains in quick succession, a brief rate limit may apply to protect shared infrastructure. Wait a few seconds and try again.

Frequently asked questions

I checked a domain and got "unreachable" — what does that mean?

The tool runs on Cloudflare Workers and reaches domains over the public internet. An "unreachable" result means the Worker could not fetch the domain's robots.txt or sitemaps. Common causes:

  • The domain is itself behind Cloudflare. Cloudflare Workers cannot reach a host that is itself behind Cloudflare — this is a well-known platform limitation. See the Cloudflare limitation below.
  • The domain does not have a robots.txt file (it returns a 4xx status).
  • The domain is down, has DNS issues, or rejects connections from the Worker's IP range.

Check the error message in the tool output — it often identifies the specific problem.

What does a "contradiction" mean exactly — is my site broken?

A contradiction means the same URL appears in both your sitemap and a Disallow rule in your robots.txt. Your sitemap tells Google "index this page" while your robots.txt says "don't read it." Google will typically obey the robots.txt block and not crawl the page, but it might still index the URL from other signals (links, redirects, etc.) — leading to the "Indexed, though blocked by robots.txt" warning in Search Console.

Neither file is wrong on its own; the contradiction is only visible when someone reads both at the same time. The tool reports the conflict — you decide which file to fix.

Do I need to fix every contradiction?

Not necessarily. Some Disallow rules are intentional (e.g., blocking admin pages or staging environments), and including those in a sitemap can serve internal publishing workflows. The tool does not judge whether a page should be indexed.

For public-facing content, a good rule of thumb:

  • If the page should be indexed: either remove the Disallow rule from robots.txt, or remove the URL from the sitemap — but not both. Decide which file is correct and bring the other into line.
  • If the page should not be indexed: remove it from the sitemap and keep the Disallow rule. Optionally add a <meta name="robots" content="noindex"> tag to the page itself as a belt-and-braces measure.
My domain uses Cloudflare — the tool says it's unreachable. What can I do?

This is a known platform limitation. Cloudflare Workers cannot connect to domains that are themselves proxied through Cloudflare. The tool reports this as unreachable even though your site is up and serving requests.

Options to work around this:

  • Check your robots.txt and sitemap files manually in a browser — the tool's logic is documented so you can replicate it.
  • Use a different diagnostic tool that runs outside the Cloudflare network.
  • Temporarily set your domain's Cloudflare proxy status to "DNS only" (grey cloud) for a quick test, then re-enable proxying. Note: this exposes your origin IP briefly.
What robots.txt wildcard patterns does this tool support?

Robotsdiff uses prefix matching and simple glob matching for Disallow patterns, roughly following RFC 9309 conventions. It supports:

  • * — matches any sequence of characters (zero or more)
  • $ — matches end of path only when it appears at the end of a pattern

Complex patterns combining * with query parameters (*?parameter=value*) are approximated and may produce incomplete results. This is explicitly listed in the known limitations below.

Is there a Pro tier? Can I check multiple domains at once?

A Pro tier is in development at $9/month. Planned features include bulk domain comparison (upload a list), CSV and JSON export, and priority processing. The Pro tier is not yet available for purchase — no payment processor is connected to this business.

See the Pricing page for current details and to leave your interest. In the meantime, the Free tier handles any single domain you paste, with no limits on how many domains you can check — they just have to be checked one at a time.

Does this tool store the domains I check?

No. Robotsdiff is fully stateless. There is no database, no user accounts, and no persistent storage of any kind. Each check is a standalone request: your browser sends a domain name to the Cloudflare Worker, the Worker fetches and parses the files in memory, returns the results, and discards everything. Cloudflare edge logs may contain request metadata (timestamps, status codes, approximate region) for operational purposes under their own data retention policies. See the Privacy Policy for full details.

Known limitations

Cloudflare-hosted domains cannot be checked. A Cloudflare Worker cannot reach a host that is itself behind Cloudflare. If your domain uses Cloudflare, the tool will report it as unreachable even though the site is up. This is a platform limitation, not a problem with your server. See the FAQ above for workarounds.

Wildcard matching is approximate. The tool uses prefix and simple glob matching. Complex patterns — especially those combining wildcards with query parameters or mid-path globs — may not be matched correctly. The tool errs on the side of reporting fewer contradictions rather than false positives.

Malformed sitemap XML. Unusual or severely malformed XML may produce incomplete or empty results. The parser handles common formatting issues but does not guarantee correct extraction from every edge-case XML structure.

Sitemap index depth is limited. Sitemap indexes are expanded one level deep to avoid infinite loops. If a sitemap index references another sitemap index, the nested index is not followed.

No page-level checks. The tool does not fetch the pages themselves, examine their HTML, check <meta name="robots"> tags, or evaluate canonical or X-Robots-Tag headers. It only compares two text files.

No account system. The tool has no user accounts, no saved histories, and no way to re-run a previous check without re-entering the domain. Every check starts from scratch.

Pro tier is in development. Bulk analysis, export, and priority processing are not yet available. No payment processor is connected. The checkout form on the Pricing page is a client-side demo and does not capture, transmit, or store payment data.

How to contact us

No support mailbox has been established yet. This business has not set up an email address, contact form, or other support channel that can receive messages. The operator is aware and is working on it.

Until a contact method is available, the documentation on this page and the Pricing and Terms pages contain everything the business can communicate about the tool. The known limitations section above describes exactly what the tool can and cannot do.

For urgent issues: If the tool is completely unavailable (returns errors for every domain, not just Cloudflare ones), it may be an infrastructure issue that the operator needs to address. There is no way to notify them directly — please try again later.