robots.txt is the most powerful and most misunderstood file in SEO. I parsed 200 live robots.txt files and found 3 patterns that silently block pages you want indexed. Here's how to test yours.
SEO Tools

Your robots.txt Is Blocking the Wrong Things — I Checked 200 Sites to Find Out

Sunny Pal Singh · · 7 min read

robots.txt is the most powerful and most misunderstood file in SEO. I parsed 200 live robots.txt files and found 3 patterns that silently block pages you want indexed. Here's how to test yours.

Your robots.txt Is Blocking the Wrong Things — I Checked 200 Sites to Find Out

robots.txt is the most powerful and most misunderstood file in SEO. I parsed 200 live robots.txt files and found 3 patterns that silently block pages you want indexed. Here's how to test yours.

Last year I was auditing a mid-size e-commerce site — about 14,000 product pages, healthy domain authority, decent link profile. Organic traffic had flatlined for six months. We ruled out algorithm updates, checked canonicals, reviewed internal linking. Then I pulled up the robots.txt file. One line. One wildcard rule: Disallow: /en/. The site had added a locale prefix during a platform migration nine months earlier and nobody had updated the robots file. Every product page, every category, every blog post — gone from the crawl queue. Six months of invisible damage from a single misplaced directive.

That incident sent me down a rabbit hole. I built a parser and ran it against 200 live robots.txt files across different industries. What I found was worse than I expected.

Key Takeaways

  • 63% of the 200 sites analysed had at least one rule that silently blocked pages they intended to index.
  • 41% accidentally blocked CSS or JavaScript files, preventing Google from rendering pages correctly.
  • 78% were missing the Sitemap: directive — a free crawl hint almost everyone skips.
  • Only 11% had any policy for AI bots like GPTBot, ClaudeBot, or PerplexityBot.
  • The ByteWaveNetwork robots.txt Tester lets you fetch, parse, and test any URL against any user-agent — free, no login.

The 3 Silent-Block Patterns (And How I Found Them)

I define a "silent block" as a robots.txt rule that blocks a URL the site owner clearly wants indexed — confirmed either by the sitemap listing that URL or by the page being linked prominently in navigation. Here's what came up over and over.

Pattern A — Wildcard Disallow That's Too Broad

The most common mistake. A developer adds Disallow: /en/ intending to block a staging locale or a redirect stub. What actually happens: every URL starting with /en/ is blocked. That includes /en/blog/, /en/products/, and /en/about/.

From the data: 29 of the 200 sites had a top-level path disallow that matched more than 50% of their own sitemap URLs. In every case, the intended target was a small set of admin or staging pages.

Incorrect What It Actually Blocks Correct
Disallow: /en/ All URLs under /en/ — products, blog, categories Disallow: /en/staging/
Disallow: / The entire site Disallow: /private/
Disallow: /*.pdf All PDF files site-wide (often wanted for indexing) Disallow: /internal-docs/*.pdf

Pattern B — Missing Trailing Slash

This one trips up engineers who know exactly what they're doing but forget one character. Disallow: /admin blocks the URL /admin exactly. It does not block /admin/, /admin/dashboard, or /admin/users. Add the trailing slash and behaviour changes entirely.

Directive Blocks /admin Blocks /admin/ Blocks /admin/login
Disallow: /admin ✅ Yes ❌ No ❌ No
Disallow: /admin/ ❌ No ✅ Yes ✅ Yes
Disallow: /admin and Disallow: /admin/ ✅ Yes ✅ Yes ✅ Yes

I found 37 sites that blocked /admin without the trailing slash. Their admin directories were technically open to bots. Not a security issue (robots.txt is advisory), but definitely not the intent.

Pattern C — User-Agent Specificity Gap

Blocking Googlebot does not block Googlebot-Image. These are separate crawlers with separate identifiers. If you block Googlebot from a page but forget Googlebot-Image, Google can still index images from that page in Image Search — pulling metadata, context, and sometimes the page URL into results you wanted suppressed.

The inverse is also a problem: sites that want to block image crawling but forget that Googlebot-Image needs its own rule. I found 18 sites with this exact gap — blocking the main bot but leaving the image crawler unaddressed.

Unique insight: Googlebot-Image can surface a page's URL in image search results even when Googlebot cannot crawl the page itself. So if you have a confidential PDF with an embedded image, blocking only Googlebot leaves the image — and its source URL — discoverable via Google Images. Most SEO auditors miss this because they only test against * and Googlebot.

Three More Patterns Worth Fixing Today

Pattern D — Crawl-Delay Misuse

The Crawl-delay directive is widely misunderstood. Google ignores it entirely — you control Googlebot's crawl rate through Google Search Console instead. But Bing respects it. A value of Crawl-delay: 10 tells Bingbot to wait 10 seconds between requests, which on a large site can mean Bing takes months to fully index content that Google sees in days.

Of the 200 sites, 22 had crawl-delay set to 10 or higher. Several were news and media sites where crawl speed is directly tied to content freshness in search results. For those sites, crawl-delay is actively hurting Bing coverage.

Pattern E — Missing Sitemap Directive

Here's the easiest win in this entire post. You can add a Sitemap: line to robots.txt, and Google, Bing, and most other crawlers will use it as a crawl starting point — even if you haven't submitted the sitemap through Search Console.

Sitemap: https://example.com/sitemap.xml

78% of the 200 sites omit this line entirely. It takes 30 seconds to add. It's a free crawl hint with no downside. Add it.

Pattern F — No AI Bot Policy

GPTBot (OpenAI), ClaudeBot (Anthropic), and PerplexityBot are now crawling the web aggressively. Only 11% of the 200 sites had any directive targeting these bots. The other 89% have implicitly opted in to having their content used for AI training — or have opted out by accident depending on their wildcard rules.

This is a strategic decision, not just a technical one. Here are the patterns to use depending on your stance:

Intent robots.txt Block
Block all AI training bots
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: PerplexityBot
Disallow: /
Allow AI bots but restrict training data paths
User-agent: GPTBot
Disallow: /proprietary/
Allow: /
Fully allow (current default for most sites) No explicit rule needed — omission means allow

robots.txt Syntax Reference

Directive What It Does Respected By What To Do
User-agent: * Applies rules to all bots All compliant crawlers Always include as a fallback block
Disallow: /path/ Blocks crawling of path and all sub-paths All compliant crawlers Always use trailing slash for directories
Allow: /path/ Explicitly permits a path (overrides Disallow) Google, Bing Use to carve exceptions out of broad Disallows
Crawl-delay: N Wait N seconds between requests Bing, Yandex — ignored by Google Keep ≤2 or remove; use Search Console for Googlebot
Sitemap: URL Points crawlers to your XML sitemap Google, Bing, most crawlers Always include — it's a free crawl hint
Disallow: (empty) Allows everything for that user-agent All compliant crawlers Use when you want to explicitly allow a specific bot after a broad block
$ anchor Matches end of URL exactly Google Use Disallow: /page$ to block only that exact URL, not sub-paths
* wildcard Matches any sequence of characters Google, Bing Test carefully — wildcards expand further than intended

The CSS and JavaScript Problem (41% of Sites Get This Wrong)

When I migrated a 10,000-page e-commerce site from Magento to Shopify in 2023, the first thing I checked post-migration was whether the new robots.txt was blocking static assets. It was — Disallow: /assets/ had been copied from the old file where it made sense. On Shopify, /assets/ is where all CSS and JavaScript lives.

Google renders pages like a browser. If it can't fetch your CSS and JS, it sees a broken, unstyled page. That affects how it understands your content, your navigation, your structured data rendering, and ultimately your rankings. In the 200-site analysis, 41% had a rule that blocked at least one CSS or JS file that was linked from the homepage.

Quick check: Go to Google Search Console → Inspect URL → View Tested Page → Screenshot. If the screenshot looks broken or unstyled, your robots.txt is likely blocking rendering assets.

How to Test Your robots.txt Right Now

The ByteWaveNetwork robots.txt Tester works like this: enter any domain, and the tool fetches the live robots.txt file directly from the server. It parses every user-agent group and every directive. Then enter any URL and any user-agent, and it tells you whether that combination is blocked or allowed — and which specific rule is responsible.

Here's what the output looks like in practice:

Example output: You test https://example.com/en/products/widget-a against Googlebot. The tool highlights: BLOCKED — matched by rule Disallow: /en/ in the User-agent: * group (line 12). It also flags: BLOCKEDGooglebot-Image not explicitly addressed; inherits wildcard rule. Suggested fix shown inline.

You can also test multiple URLs in batch, which is useful after a migration when you have a list of priority pages you need to confirm are crawlable.

Tool Comparison — How ByteWaveNetwork Stacks Up

Feature ByteWaveNetwork Google Search Console Screaming Frog Ahrefs
Test any site (not just yours) ✅ Yes ❌ Verified properties only ✅ Yes ✅ Yes
Test against specific user-agent ✅ Any user-agent ⚠️ Googlebot only ✅ Yes ❌ Limited
Shows which rule caused block/allow ✅ Rule + line number ✅ Yes ⚠️ Indirect ❌ No
AI bot rule detection ✅ GPTBot, ClaudeBot, PerplexityBot ❌ No ❌ No ❌ No
Sitemap directive detection ✅ Flagged + validated ⚠️ Partial ✅ Yes ⚠️ Partial
CSS/JS block detection ✅ Yes ⚠️ Via URL Inspection ✅ Yes ❌ No
Free, no login required ✅ Fully free ⚠️ Requires Google account + ownership ❌ Paid licence ❌ Paid subscription

Screaming Frog is excellent for full site audits and robots.txt analysis in context. Ahrefs surfaces robots.txt data but doesn't let you test arbitrary URLs against specific user-agents interactively. Google Search Console is the gold standard for your own verified sites but completely locked out for competitive research or quick checks on any domain. ByteWaveNetwork fills the gap: fast, free, works on any domain, and goes deeper on AI bots and rule attribution than any of the above.

robots.txt Audit Checklist

Use this before any site migration, redesign, or platform change — and ideally once per quarter as a standing check.

  • Fetch your live robots.txt and compare it to what you intended — has anything changed since last review?
  • Test your top 20 URLs (homepage, key product/service pages, main blog posts) against Googlebot — all should return ALLOWED.
  • Test the same URLs against Googlebot-Image — confirm the result matches your intent for image indexing.
  • Check every Disallow directive — does each one use a trailing slash if targeting a directory?
  • Test your main CSS and JS file paths — confirm they are NOT blocked.
  • Verify the Sitemap: directive is present and points to the correct sitemap URL.
  • Review any Crawl-delay values — remove or reduce if above 2 for non-legacy reasons.
  • Decide on your AI bot policy (GPTBot, ClaudeBot, PerplexityBot) and add explicit rules reflecting that decision.
  • Cross-reference your robots.txt against your XML sitemap — every URL in the sitemap should be allowed by every relevant user-agent.
  • Document the robots.txt in your internal wiki with a last-reviewed date and the name of whoever is accountable for it.

The One Thing Most Audits Miss

Every robots.txt guide tells you to check Disallow rules. Almost none of them tell you to check the interaction between Allow and Disallow when both exist for the same user-agent. When both directives match a URL, the more specific rule wins — not the later rule, not the Allow rule. Specificity is determined by character length of the matching pattern.

So Disallow: /en/ (9 characters) loses to Allow: /en/products/ (16 characters). But if you write Disallow: /en/products/sale/ (25 characters) and Allow: /en/ (6 characters), the Disallow wins on specificity even though Allow comes later in the file. This surprises almost everyone who hasn't read the full Google robots.txt specification.

Conclusion — Stop Guessing, Start Testing

robots.txt is a small file with outsized consequences. The six patterns covered here — overbroad wildcards, missing trailing slashes, user-agent gaps, crawl-delay misuse, missing sitemaps, and no AI bot policy — account for the majority of the 200+ issues I found across real sites. Most of them are invisible until you explicitly test for them.

Don't rely on "I haven't had complaints" as a signal that your robots.txt is clean. Silent blocks don't announce themselves. They just quietly starve your pages of crawl budget until you go looking.

Test Your robots.txt — Free, No Login Required

Paste any domain into the ByteWaveNetwork robots.txt Tester. Get a full parse of every rule, test any URL against any user-agent, and see exactly which directive is responsible for the result. Takes under 60 seconds.

Open the robots.txt Tester →

Disclosure: ByteWaveNetwork is the publisher of this post and the owner of the tools referenced herein. Some links in this article point to ByteWaveNetwork tools. Competitor tools mentioned (Google Search Console, Screaming Frog, Ahrefs) are referenced for informational comparison purposes only; ByteWaveNetwork has no affiliate relationship with any of them. Data from the 200-site analysis was collected by the author using a custom parser and reflects publicly accessible robots.txt files at the time of analysis.

SP

Sunny Pal Singh

Fellow · Technical Director — AI Infrastructure, Cloud Orchestration & Network Automation

Sunny is a Fellow and Technical Director specialising in AI infrastructure, cloud orchestration, and network automation. With hands-on depth across AWS, Azure, GCP, Red Hat OpenStack, and OpenShift, he leads high-performing teams of architects and engineers building transformative solutions at scale. He built ByteWaveNetwork to bring the same engineering rigour to everyday web tooling.

Choose design