Skip to content
StoreCited
Answer

Blocked by robots.txt: How to Diagnose and Fix the Error

“Blocked by robots.txt” means the crawler was not permitted to fetch that exact URL. Identify the crawler and winning rule before editing anything. If the page belongs in search, narrow the rule, publish the change safely, test the live URL, and allow time for recrawling.

By the StoreCited teamReviewed July 2026Written for Shopify & DTC store owners
Concentrated female florist with dark hair standing in floral shop with tablet near flowers in wrapper while checking order during work
Photo: Amina Filkins / Pexels

What does “blocked by robots.txt” actually mean?

The status means the named crawler is disallowed from fetching the URL by a rule in robots.txt. It reports a crawl permission, not an indexing directive, server authorization failure, canonical choice, or final search outcome. Start with Google’s robots.txt introduction, not assumptions about the page.

A blocked URL can sometimes appear in Google when external links reveal it, although Google cannot read its content and may lack a useful snippet. Google’s blocked-URL guidance explains this important edge case. Therefore, “blocked” does not guarantee exclusion.

If a public page should be indexed, remove or narrow the applicable disallow rule and verify the result. If it should stay out of search, let crawlers access it and apply noindex as documented in Google’s robots meta guidance. Protect genuinely private content with authentication; robots.txt is public, advisory, and never access control.

How do you confirm the blocked URL and crawler?

Record the exact URL and reported user agent before opening an editor. Include protocol, hostname, subdomain, path, capitalization, query string, and where the warning appeared. A rule affecting https://www.example.com/a does not automatically explain behavior on https://example.com/a or another crawler. Then follow this evidence trail:

  1. Open the affected origin’s root file, such as https://example.com/robots.txt; Google specifies the required location in its creation guide.
  2. Use Search Console URL Inspection for the exact URL and review the relevant Page indexing report.
  3. Check Search Console’s robots.txt report for Google’s fetched version and processing issues.
  4. Save the visible rule, test result, and timestamp. Do not invent evidence for a property you cannot access.

Which robots.txt rule wins?

Determine the most specific matching user-agent group, then compare every matching Allow and Disallow path. Under RFC 9309, the rule with the longest matching path wins; when equally specific allow and disallow rules conflict, Allow wins. Blank disallows block nothing.

This narrow exception permits one public item beneath a blocked section:

User-agent: Googlebot
Disallow: /collections/private/
Allow: /collections/private/public-item

Match the URL as the crawler does. Robots rules are scoped to the protocol, host, and port serving the file. Paths are case-sensitive, and percent-encoded characters can change matching. Google documents its supported matching behavior and wildcards in the robots.txt specification.

Close-up of HTML code with syntax highlighting on a computer monitor.
Photo: Bibek ghosh / Pexels

How do you distinguish robots.txt from other exclusions?

Reproduce both the robots file and target URL because similar symptoms require different fixes. A robots disallow is not a noindex, canonical selection, HTTP 401/403, CDN challenge, or WAF denial. The deciding evidence is the matching directive plus the actual HTTP response observed for the named crawler.

EvidenceWhat it indicatesCorrect next move
Matching Disallow and reachable targetRobots crawl restrictionNarrow or remove that rule
noindex in HTML or headerIndexing directiveKeep crawling allowed so it can be read
401/403 or challenge pageOrigin, CDN, or WAF access blockInspect authentication, firewall rules, and logs
Alternate canonicalConsolidation signalReview canonical intent separately

Test the exact host, subdomain, protocol, case, and encoded path. If robots.txt allows the URL but the server returns 403 to Googlebot, changing robots.txt cannot solve it. Conversely, a 200 response in your browser does not prove Googlebot is allowed.

How should you fix the winning rule safely?

Change only the directive responsible for the unintended block. Broad Allow: / edits can expose crawl traps or sensitive workflows while hiding the original cause. Keep a rollback copy, review the diff, and test the affected URL plus neighboring paths that should remain restricted before deploying.

Use this sequence:

  1. Replace an overly broad disallow with the narrowest path that expresses the real restriction.
  2. Preserve unrelated groups and intentional exclusions.
  3. Deploy through the platform’s supported configuration path.
  4. Confirm /robots.txt is public, current, and served successfully as plain text.
  5. If an emergency change is not being picked up, use Search Console’s robots report to request a recrawl of the file; this is a request, not an instant refresh promise.
  6. Run a live URL test, then wait and monitor crawl and indexing reports.

Do not promise immediate crawling or indexing. Google schedules retrieval, processing, and indexing independently, and a technically crawlable page can still remain unindexed for quality, duplication, canonicalization, or other reasons.

Laptop and smartphone with Bitcoin symbol, depicting digital shopping
Photo: Julio Lopez / Pexels

How do you customize robots.txt safely on Shopify?

Shopify generates a default robots.txt that suits most stores. When customization is necessary, use templates/robots.txt.liquid, retain robots.default_groups, and append only targeted rules. Shopify can update its defaults, so replacing the generated groups creates maintenance debt and can silently discard future platform improvements.

Follow Shopify’s official robots.txt.liquid template guidance and robots Liquid object reference. Never try to edit a static file at the site root. Do not broadly allow cart, checkout, customer-account, or internal-search paths merely to clear one warning.

Make theme or app changes reversible, preview the rendered output, and production-test both desktop and mobile storefront paths. A Shopify collection or product blocked accidentally deserves a precise exception; system routes should not be reopened as collateral damage.

What should you verify after deployment?

Verification must prove the public rule changed and the target became fetchable for the intended crawler; a successful theme save or HTTP 200 alone is insufficient. Capture the rendered robots file, response headers, live test result, affected URL, deployment identifier, and timestamp so another person can reproduce the conclusion.

Monitor Search Console over time rather than repeatedly changing the file. A live test can confirm current access, while reporting may reflect an earlier crawl. StoreCited offers a public, point-in-time crawler readiness check and an AI crawler checker, but it has no Search Console access by default, cannot see private server logs, and cannot automatically fix or guarantee indexing.

Does a Googlebot block also block AI crawlers?

No. A rule for Googlebot is not proof that OAI-SearchBot, GPTBot, ClaudeBot, or PerplexityBot is allowed or blocked. Each product uses its own documented user-agent behavior, and CDN or WAF policy can differ from the public robots file. Evaluate each crawler independently without losing focus on the Google diagnosis.

For OpenAI crawlers, consult the official OpenAI bots documentation. For every provider, inspect its current official user-agent policy, the matching group in the live robots file, the target response, and actual firewall or server logs when available. Absence from logs is not proof of permission or attempted crawling.

Get the answer for your specific store

Free · No login · Results in ~60 seconds

Frequently asked questions

What does “blocked by robots.txt” mean?
It means the named crawler found an applicable robots.txt rule that disallows fetching that URL. It does not mean the server returned 403, the page contains noindex, Google selected another canonical, or the URL can never appear in results. Confirm the exact crawler and winning path rule.
What is the exact fix for a page blocked by robots.txt?
If the page should be crawled, remove or narrow the winning Disallow, preserve unrelated restrictions, deploy through the supported platform mechanism, confirm the live plain-text file, and retest the exact URL. Then request recrawling only if necessary and monitor; neither recrawling nor indexing is immediate or guaranteed.
Should I use robots.txt or noindex to keep a page out of Google?
Use noindex for a crawlable public page that should not appear in search, because Google must fetch the page to see that directive. Use authentication for private material. Do not use robots.txt as access control or assume a disallowed URL cannot be discovered and listed through external links.
How should Shopify stores customize robots.txt?
Most Shopify stores should keep the generated default. If a verified need exists, customize templates/robots.txt.liquid, render robots.default_groups, and add the narrowest targeted rule while preserving defaults. Never edit a static root file or broadly reopen cart, checkout, accounts, or internal search; retain a rollback and production-test the result.