Skip to content
RankThat

Robots.txt Checker

Read a site’s robots.txt, see the sitemaps it lists, and test whether Googlebot, Bingbot and the AI crawlers may crawl a given page.

How to use it

  1. 1Enter a site, or a full page address to test that page.
  2. 2We read robots.txt with Google’s matching rules (longest rule wins, Allow wins ties).
  3. 3Check the crawlers you care about are allowed.

robots.txt blocks crawling, not indexing

A page blocked in robots.txt can still show in Google if other sites link to it, just without a description. To keep a page out of Google, allow crawling and use a noindex tag instead.

Go further

Site Audit

Find pages robots.txt blocks by mistake, across the whole site.

See how

How to test robots.txt rules and fix what they block

A robots.txt tester is the quickest way to answer “can Google crawl this page?” without waiting for Search Console to tell you weeks later. This guide explains how this robots.txt checker decides Allowed or Blocked, shows how real rules behave on real paths, gives safe starting files for WordPress and WooCommerce, and lists the mistakes that most often hide pages from search.

What the checker reads and tests

Type a site or a full page address. The checker then:

  1. Fetches robots.txt from the root of that exact host. https://www.yoursite.com/robots.txt and https://yoursite.com/robots.txt are separate files as far as crawlers are concerned, and so is https://shop.yoursite.com/robots.txt. Test the host your visitors actually land on.
  2. Shows you the file as crawlers receive it, plus how many Sitemap lines it lists.
  3. Tests one path for Googlebot (Google Search), Bingbot (Bing and Copilot) and ten AI crawlers. If you typed a page address, that path is tested. If you typed only the site, the homepage is tested.

It applies the same matching rules Google uses:

  • Each crawler follows the one group whose User-agent names it. If no group names it, it follows the User-agent: * group.
  • Within that group, the longest matching rule wins.
  • If an Allow and a Disallow rule are the same length, Allow wins.
  • * matches any run of characters and $ marks the end of the address.
  • An empty Disallow: line allows everything.

Google’s robots.txt documentation is the official reference for these rules.

How rules behave on real paths

Most robots.txt surprises come from prefix matching: a rule blocks every path that starts with it, not just the exact folder you had in mind.

Rule(s)Path testedResultWhy
Disallow: /services/services-austin/BlockedAny path that starts with /services matches
Disallow: /services//servicesAllowedThe trailing slash makes the rule more specific
Disallow: /wp-admin/ and Allow: /wp-admin/admin-ajax.php/wp-admin/admin-ajax.phpAllowedThe Allow rule is longer, so it wins
Disallow: /*.pdf$/files/menu.pdfBlockedEnds in .pdf
Disallow: /*.pdf$/pdf-menus/Allowed$ requires the path to end in .pdf
Allow: /blog and Disallow: /blog/blog/postAllowedSame length, so Allow wins the tie
Disallow: /Checkout//checkout/AllowedPaths are case-sensitive
Disallow: (nothing after it)anythingAllowedAn empty Disallow blocks nothing
Disallow: /anythingBlockedEvery path starts with /

When a result surprises you, find the longest rule in the crawler’s group that matches the start of the path. That’s the rule deciding the outcome.

Reading your results

What you seeWhat it meansWhat to do
“No robots.txt, so every crawler is allowed”No file was found, or the server returned a web page instead of a text fileFine for crawling, but publish a short file so you can list your sitemap
Googlebot blocked on a page you want in GoogleA Disallow rule matches that pathFind the matching rule and narrow or remove it
Bingbot blockedSame as above, and it also affects Copilot answers built on BingSame fix
An AI crawler blockedA group names that bot, or the * group blocks the pathDecide on your AI policy with the AI crawler checker
“0 sitemaps listed”No Sitemap: lineAdd one with the full https address of your XML sitemap

If the checker says there is no robots.txt but you know there is one, open it in a browser. A file that returns a server error is worse than a missing one, because Google treats a server error there as a reason to pause crawling the site.

Safe starting files

A typical WordPress site:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://coastlineplumbing.com/sitemap_index.xml

A WooCommerce store:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /*add-to-cart=
Disallow: /*orderby=

Sitemap: https://beanandbarrelcoffee.com/sitemap_index.xml

The last two Disallow lines stop crawlers spending time on endless sorted and add-to-cart versions of the same category pages. On stores with filters, this is where most wasted crawl budget goes; the glossary entry on faceted navigation explains the bigger picture. Use your real sitemap address: Yoast and Rank Math use sitemap_index.xml, while WordPress on its own uses wp-sitemap.xml.

Blocked from crawling is not the same as out of Google

A Disallow rule stops Google reading the page. It doesn’t stop Google listing the address if other pages link to it. That’s how sites end up with results that say “No information is available for this page”, and with the Search Console status “Indexed, though blocked by robots.txt”.

To take a page out of Google properly:

  1. Remove the Disallow rule so Google can read the page again.
  2. Add a noindex tag to the page.
  3. Wait until the page drops out of Google (use Search Console’s URL Inspection to check).
  4. Only then, if you still want to save crawling, add the Disallow back.

Doing step 4 first is the most common reason a noindex “doesn’t work”.

Common mistakes

  • Launching with the staging file. A development site’s Disallow: / copied to the live site blocks everything. Test the homepage after every launch or migration.
  • Blocking theme files. Rules like Disallow: /wp-content/ or Disallow: /wp-includes/ stop Google loading your CSS and JavaScript, so it can’t see the page the way visitors do.
  • Using robots.txt to hide private pages. The file is public. Anyone can read it, so listing /staff-portal/ in it advertises the address. Put private pages behind a sign-in.
  • Relying on Crawl-delay. Google ignores it. Bing respects it, which can slow Bing’s crawling more than you meant to.
  • Editing a file nobody serves. On WordPress, a physical robots.txt in the site root replaces the one your SEO plugin generates. If your edits don’t show up in the checker, look for that file.
  • Forgetting other hosts. A www version, a shop. subdomain or an old http setup each answer with their own robots.txt.

After any change, paste a few important page addresses into the checker one by one: your homepage, a top service or product page, and a blog post. It takes a minute and catches nearly every robots.txt accident.

When one path isn’t enough

This tool tests one page at a time. The Site Audit tests every page it finds against your robots.txt and flags important pages blocked by mistake, a file that blocks the whole site, a robots.txt with syntax errors, a missing Sitemap line, and the WordPress “discourage search engines” setting left on after launch. On WordPress, the free Bridge plugin can also set AI crawler access in robots.txt for you, with one-click undo. See how the WordPress fixes work, and for the wider picture of pages Google can’t reach, our guide to fixing crawl errors and the glossary entry on crawling.

Questions, answered

Where does robots.txt live?

Always at the root of the domain: yoursite.com/robots.txt. Subfolders are ignored.

Fix it on every page, not just this one.

RankThat audits the whole site, drafts the fixes and applies them in WordPress, with one-click undo.