BlogFindings

robots.txt redirect: 122 of 391 sites sent one, and all 122 crossed hosts

Lantad requested /robots.txt once from each of 392 hostnames on 10 September 2026 with redirect following switched off. 391 answered, 122 of them with a 3xx, and every one of those 122 Location headers pointed at a hostname other than the one asked. RFC 9309 says to follow such a redirect and apply the file it reaches to the original authority.

16 min read Lantad

The method was a single GET per hostname as LantadBot/1.0, redirect handling set to manual, twenty second timeout, each Location resolved against its base and requested again to a ceiling of six hops so that a chain longer than five would be visible rather than silently truncated. One attempt, one network location, one morning. We read status lines, Location headers and response bodies. No AI crawler was observed fetching any of these files and no access log was read, so nothing here says what any crawler actually did, which is the same boundary that applies when a robots.txt block did not stop twelve chatbots and the same reason this site treats AI crawlers as a subject you measure rather than assume.

In short

  • A robots.txt redirect was the response on 122 of the 391 hostnames Lantad probed on 10 September 2026, split as 97 of HTTP 301, 17 of 308, 7 of 307 and 1 of 302, and in every one of the 122 cases the Location header named a different host.
  • RFC 9309 section 2.3.1.2 states that crawlers SHOULD follow at least five consecutive redirects, even across authorities, and that a file reached inside five hops MUST be fetched, parsed and its rules followed in the context of the initial authority, so the file at the second host governs the first.
  • 115 of the 122 were the plain move from the bare domain to its www hostname and none went the other way, while 7 left the registrable domain altogether, among them societies.io taking its rules from societies.ai and nowhabersham.com taking them from nowgeorgia.com.
  • 15 of the 122 chains ended somewhere that yields no rule for the host that was asked: 6 at HTTP 404, 2 at HTTP 403, 5 at a zero byte file and 2 at an HTML document served with HTTP 200, one of which was another company's home page.
  • Google's robots.txt specification page, last updated 31 August 2026, is the only crawler documentation read for this post that states a redirect policy at all: the word redirect appears zero times in the raw bytes of OpenAI's bots page and of Anthropic's crawler page, read the same day.
First response to GET /robots.txtHostnamesWhat a crawler holds afterwards
HTTP 200 at the host asked239The file it requested
HTTP 3xx to another host122Depends on whether it follows
HTTP 40420No rules, and RFC 9309 permits everything
HTTP 202 with a captcha shell5No rules, and a 2xx status
HTTP 4294No rules, handled differently by Google
HTTP 4031No rules, treated as unavailable
No answer inside the timeout1Not measured
Measured by Lantad on 10 September 2026. One GET of /robots.txt per hostname as LantadBot/1.0 with redirect following disabled, then each Location followed by hand. 392 hostnames from the platform seed frame in worker/seeds/corpus-seeds-platform.json, which is a hand built list and not a random sample.

What 391 hostnames returned for one request to /robots.txt

239 of the 391 answered HTTP 200 at the hostname we asked, which is the case everybody assumes is universal. 122 answered a redirect. The remaining 30 answered something that carries no rules at all: 20 of HTTP 404, 5 of HTTP 202, 4 of HTTP 429 and 1 of HTTP 403. One hostname, marmitedefontes.com, did not answer inside twenty seconds and is excluded from every figure here.

Those five HTTP 202 responses are the same hosting layer captcha shell we recorded when five of 391 home pages sent an X-Robots-Tag noindex on 9 September 2026, against this identical seed frame. They matter to this measurement for a different reason. A 202 is a 2xx, and under the specification a successful fetch means the crawler must parse and follow whatever it received, so a captcha page delivered at 202 is a robots.txt file with no groups in it rather than an error.

The 404s and the 403 land in a category that is well defined and widely misread, since an unavailable status permits a crawler to access any resource on the server. That is why a 404 and a 503 on robots.txt are opposites rather than two flavours of the same failure. Our own scanner records the same outcome in the same direction: when the robots fetch fails for any reason, the policy becomes allow_all with a note saying so, and FETCH_LIMITS.maxRedirects in core/src/config.ts caps the chain it will follow at five. That is a setting somebody chose to match the specification, not a measurement of anything. How a capture is taken and what it is allowed to conclude are recorded on the methodology page.

The split that follows is only about the 122. Everything below counts inside that group unless it says otherwise.

  • 301 Moved Permanently 97 hostnames Four fifths of every redirect seen
  • 308 Permanent Redirect 17 hostnames Method preserving equivalent of 301
  • 307 Temporary Redirect 7 hostnames Method preserving equivalent of 302
  • 302 Found 1 hostnames The only one in the sample
The 122 redirect responses by status code, from one GET of /robots.txt per hostname on 10 September 2026 with redirect following disabled.

Does a robots.txt redirect still govern the original host?

Yes, and the specification is unusually direct about it. RFC 9309, the standards track document published in September 2022 that defines robots.txt, gives redirects their own section. It says that crawlers SHOULD follow at least five consecutive redirects, even across authorities, which it glosses as hosts in the case of HTTP. It then says that if a robots.txt file is reached within five consecutive redirects, the file MUST be fetched, parsed, and its rules followed in the context of the initial authority. If there are more than five, crawlers MAY assume the file is unavailable, which routes straight back to the permissive branch.

Read that second sentence against our numbers. The rules that govern a bare domain whose robots.txt redirects to www are the rules written in the www file, and they bind the bare domain. Nothing is lost by the redirect provided the crawler follows it, and 120 of our 122 chains resolved in a single hop with 2 taking two hops, so none of them came close to the five hop ceiling where the permissive branch opens.

Google's robots.txt specification page, last updated 31 August 2026, states its own version: Google follows at least five redirect hops as defined by RFC 1945 and then stops and treats it as a 404 for the robots.txt file, and Google does not follow logical redirects in robots.txt files, naming frames, JavaScript and meta refresh as the kinds it means. Treating it as a 404 matters, because the same page says Google's crawlers treat all 4xx errors except 429 as if a valid robots.txt file did not exist, which means no crawl restrictions.

That is one vendor. We searched the raw bytes of OpenAI's crawler documentation and of Anthropic's crawler page on 10 September 2026 for the string redirect, case insensitively, and found zero occurrences in each. Both pages document their tokens carefully and neither says what happens when the file moves. Anthropic's page carries a date of 7 April 2026 and OpenAI's shows none. This is not an accusation of bad behaviour: undocumented is not the same as unhandled, and the parser almost certainly follows. It is a gap in what a site owner can verify, and it sits alongside the other places where the specification says one thing and the documentation says nothing, such as the behaviour of a trailing star in a path pattern.

The redirect branch of RFC 9309 section 2.3.1, drawn from the text of the specification. The outcomes on the right are what a crawler is left holding.

Why every redirect in the sample crossed to a different host

Not one of the 122 redirects stayed on the hostname we asked. That sounds like a finding about redirects and is really a finding about what robots.txt redirects are for. A site does not usually redirect one file. It redirects a whole hostname to its canonical form, and /robots.txt is carried along by the same rule that carries every other path.

115 of the 122 were exactly that move, from the bare registrable domain to its www hostname. Zero went from www to the bare domain, in a sample where both directions are common enough in the wild that a single direction is worth stating rather than assuming. The 7 remaining crossed to a different registrable domain and are the subject of the next section.

The canonical direction is not a detail if you have ever edited the wrong file. RFC 9309 defines the robots.txt URI as scheme, authority and path, so example.com and www.example.com are two authorities with two files, and a change made to one does not reach the other. We measured that separately when three of six sites served a different robots.txt on their second hostname on 2 September 2026. The redirect is the thing that stops those two files disagreeing, because it removes one of them. A site that serves two different real files at the two hostnames has a genuine ambiguity. A site that redirects has one file and a rule about where it lives.

There is a platform pattern in the direction as well. In the Webflow category of the frame, 35 of 42 hostnames redirected and 34 of those 35 went from the bare domain to www. In the Wix and Squarespace category, none of the 54 redirected: every one served HTTP 200 at whatever hostname it was asked. Those are two defensible designs and a site owner inherits one of them without choosing it, which is worth knowing before you conclude anything about your own file from a single request. You can see the group a given file produces for a given token with the robots.txt tester, and the gap between editing a file and a crawler acting on it is its own subject, covered in when a robots.txt edit reaches a crawler.

Webflow category, 42 hostnames

  • 35 answered /robots.txt with a 3xx
  • 34 of those 35 went bare domain to www
  • 6 answered HTTP 200 directly
  • 1 answered HTTP 404

Wix and Squarespace category, 54 hostnames

  • 0 answered /robots.txt with a 3xx
  • 54 answered HTTP 200 at the host asked
  • No canonical hostname move to follow
  • One authority, one file, every time
Redirect behaviour by platform category within the same 391 hostname run on 10 September 2026. Categories are the hand built groupings in the seed frame, so these describe the list rather than the platforms.

Seven redirects that left the registrable domain entirely

The interesting 7 are the ones where following the redirect hands a crawler a file that a different business wrote. Under the clause quoted above those rules still apply to the host that was asked, so the arrangement is legal, deliberate in most cases, and quietly consequential.

societies.io redirects to societies.ai, and the file it lands on is the most carefully written AI robots.txt in the whole run: 754 bytes naming GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, CCBot, Amazonbot, Bytespider, YouBot and more, each with Allow: / under it. Whoever wrote that thought about the answering crawlers as well as the training ones, which is the distinction we counted when 16 of 140 files named OAI-SearchBot against 25 naming GPTBot. Every one of those permissions reaches societies.io only through the redirect.

nowhabersham.com redirects to nowgeorgia.com, whose 117 byte file disallows /wp-admin/ and two query string patterns and sets Crawl-Delay: 5. Crawl-Delay is not a rule RFC 9309 defines; it falls under the section on other records, which crawlers may interpret and may ignore. workweave.dev takes its rules from weaveos.com, spellbook.legal from spellbook.com, getalembic.com from alembic.com by way of an intermediate http hop, and prodshort.com from a path inside a CloudFront distribution hostname, where the file is 24 bytes reading User-agent: * and an empty Disallow, which permits everything.

Four of those target files carry a Sitemap line, and in each case the sitemap it names is on the target domain rather than the domain that was asked. A crawler that arrives at workweave.dev and follows the chain correctly is told about weaveos.com's sitemap. That is not a violation of anything. It is what happens when a rebrand moves the canonical hostname and the old domain keeps answering, and it means the old domain's crawl instructions are now maintained by whoever maintains the new one. The crawler directory lists which token belongs to which vendor if you want to check what a given file is actually addressing, and the failure mode where a token itself moves is covered in renamed crawler tokens leave stale robots rules.

Hostname askedFile that governs itWhat that file contains
societies.iosocieties.ai754 bytes, 21 user-agent lines each with Allow: /
nowhabersham.comnowgeorgia.com117 bytes, /wp-admin/, two query patterns, Crawl-Delay: 5
workweave.devweaveos.com125 bytes, two Disallow lines, sitemap on weaveos.com
spellbook.legalspellbook.com100 bytes, /checkout and /goodlawyer, sitemap on spellbook.com
getalembic.comalembic.com114 bytes, Allow: /, a Host line, sitemap on alembic.com
prodshort.coma CloudFront distribution path24 bytes, wildcard with an empty Disallow
permitify.compangeanotes.com home pageAn HTML document, no groups at all
The 7 chains that crossed to a different registrable domain, measured by Lantad on 10 September 2026. Under RFC 9309 section 2.3.1.2 the file in the middle column governs the hostname in the left column.

Fifteen chains that ended with no rule for the host that was asked

Following a redirect correctly does not guarantee you arrive at a file. 114 of the 122 chains ended on HTTP 200, 6 ended on HTTP 404 and 2 on HTTP 403. The 8 that ended on a 4xx are the clean case of the permissive branch: equala.org, consciencecart.com, caseflood.ai, dollyglot.com, spottedinprod.com and verdaccio.org each redirect their robots.txt to their www hostname, where the file is not there, and optainhealth.com and t-townroofing.com redirect to a 403.

Among the 114 that reached HTTP 200, seven more carry nothing a crawler can act on. Five returned a body of zero bytes, which is a valid robots.txt containing no groups, so it permits everything by saying nothing. Two returned an HTML document with a 200 status. www.rocketable.com answers /robots.txt with a full HTML shell served as text/html, and permitify.com is the odd one in the entire run: its robots.txt redirects to www.permitify.com/robots.txt, which redirects again to the bare home page of pangeanotes.com, a different company, which answers 200 with HTML. RFC 9309 is clear about what that produces, since if no groups are present at all, no rules apply.

So 15 of the 122 redirect chains end with no applicable rule and 107 end at a non-empty body that is not an HTML document. Serving HTML at /robots.txt is not rare and not confined to redirects: we found two of 66 Squarespace sites doing it directly on the same day. The status code is what makes it quiet. A 404 tells a crawler nothing is there. A 200 tells it that what came back is the file, and the parsing rule says to use whatever lines are parseable, which for an HTML document is none of them.

None of this describes crawler behaviour. Whether a crawler follows the chain, whether it caches the result, and whether it asks for the file at all are separate questions, and the last of them has an unflattering answer: in a controlled study of ten consumer assistants, six never requested robots.txt in any trial. The permission a file grants and the request a server actually serves are also different things, which is what made sites that ban GPTBot serving it a 200 anyway worth counting.

  • Non-empty text at HTTP 200 107 chains A file arrived, and its rules bind the hostname that was originally asked.
  • HTTP 404 at the end of the chain 6 chains An unavailable status, which permits a crawler to access any resource on the server.
  • HTTP 403 at the end of the chain 2 chains Also a 4xx, so also unavailable, and Google's page advises against using 403 to slow a crawler.
  • Zero byte body at HTTP 200 5 chains A valid file with no groups in it, which permits everything by containing nothing.
  • HTML document at HTTP 200 2 chains No groups are present, so no rules apply, and the 200 status hides the fact.
  • More than five consecutive hops 0 chains The longest chain in the run was two hops, so the five hop ceiling was never approached.
Where the 122 redirect chains ended, measured by Lantad on 10 September 2026. Outcomes are read against RFC 9309 sections 2.2.1, 2.3.1.1 and 2.3.1.3.

What to check when your own robots.txt redirects

Four checks, in the order that decides the answer, and none of them needs a tool.

First, ask for /robots.txt at every hostname that resolves to your site, not just the one you think of as canonical, and do it without following redirects so you can see the status line rather than the destination. A 3xx here is not a fault. It is information about which file is the real one.

Second, look at where the Location points. If it is your own www hostname, the file there is the file that governs both, and it is the only one worth editing. If it points at a domain you do not control, or at a bucket or distribution hostname, then whoever controls that file controls your crawl instructions, and a change you did not make will reach crawlers as though you had made it.

Third, follow the chain to the end and read the status and the first bytes of the body. Eight of our 122 ended on a 4xx, which reads to a crawler as no restrictions at all, and seven more ended on a 200 that carried nothing parseable. All fifteen would have looked healthy to anyone who checked only that the first request returned a redirect.

Fourth, remember which layer you are actually testing. robots.txt is a request written in a file, and the response your origin and edge send to a crawler is a separate mechanism that can disagree with it, which is why it is the weaker of the two layers that decide whether AI can read your site. If you want the other layer, what GPTBot sees renders a page the way a crawler receives it, and AI visibility is the wider measurement all of this sits inside.

The finding underneath all four is small and worth stating plainly. A redirected robots.txt is normal, it is provided for in the specification, and on this sample it worked: 107 of 122 chains delivered a real file to a crawler that follows the rules. The cost of the arrangement is that the file governing your hostname is not always at your hostname, and on 7 of 391 sites it was not even on your domain.

  • Ask every hostname, without following redirects 115 of 122 redirects ran from the bare domain to www, and none ran the other way.
  • Read where the Location points 7 of 122 crossed to a different registrable domain, so a file someone else maintains governs the host.
  • Follow the chain and check the end 8 of 122 ended on a 4xx and 7 more on a 200 carrying nothing parseable.
  • Confirm which layer you are testing A file that permits a crawler is not a server that serves it. Those are two independent mechanisms.
Four checks on a redirected robots.txt, ordered by what decides the outcome. Derived from the 122 redirect chains Lantad measured on 10 September 2026.

Written by

Lantad

Published .

A robots.txt redirect does not look like a problem from a browser. You type the address, the server answers 301, the browser lands on a file, and the file has your rules in it. Whether a crawler sees the same thing depends on a clause most people have never read. On 10 September 2026 we requested /robots.txt once from each of the 392 hostnames in this scanner's platform seed frame with redirect following switched off, then resolved and refetched every Location header by hand. 391 answered. 122 of them answered with a 3xx, and not one of those 122 pointed at the host we had asked.

Common questions

Does a robots.txt redirect break my robots.txt?

No, provided the chain is short and ends at a real file. RFC 9309 section 2.3.1.2 says crawlers should follow at least five consecutive redirects, even across hosts, and that a file reached inside five hops must be fetched, parsed and its rules followed in the context of the initial authority. On the 122 redirects Lantad measured on 10 September 2026 the longest chain was two hops, and 107 of them ended at a real file.

Can robots.txt redirect to a different domain?

Yes, and 7 of the 122 redirects Lantad measured on 10 September 2026 did exactly that. The specification says to follow across authorities and to apply the resulting rules to the host originally requested, so societies.ai's file governs societies.io and nowgeorgia.com's file governs nowhabersham.com. The practical consequence is that the crawl instructions for one domain are maintained by whoever maintains the other.

What happens if the redirect ends in a 404?

The crawler is left with no rules and RFC 9309 section 2.3.1.3 permits it to access any resource on the server. Google's robots.txt specification page, last updated 31 August 2026, states the same outcome in its own words: all 4xx errors except 429 are treated as if a valid robots.txt file did not exist, which means no crawl restrictions. Six of the 122 chains measured ended on a 404 and two on a 403.

What did this measurement not establish?

Anything about crawler behaviour. Lantad sent one request per hostname as LantadBot/1.0 and followed the Location headers itself. No GPTBot, ClaudeBot, PerplexityBot or any other AI crawler was observed requesting these files, no access log was read, and no vendor was asked. Whether a given crawler follows a cross-host redirect, and what it does with the result, is not something a single scan from one network location on one day can answer.

See what AI can read on your site

Run a free scan and get a graded report of exactly what AI crawlers can and cannot read, with ranked fixes.