BlogFindings

Bingbot robots.txt: 62 of 1,019 files named it, and 83 that blocked GPTBot left it allowed

Lantad requested robots.txt once from each of the 1,419 hostnames in this repository's two committed corpus seed files on 22 October 2026, as LantadBot with redirects followed and no JavaScript executed. 1,019 parsed into at least one user-agent group. 62 named Bingbot and 4 denied it the site root, against 175 naming GPTBot and 87 denying it. 83 files closed the root to GPTBot and left Bingbot open, and not one file did the reverse.

20 min read Lantad

On 22 October 2026 this scanner requested the robots.txt of all 1,419 hostnames in the two committed corpus seed files in this repository, as LantadBot/1.0 with redirects followed and no JavaScript executed, and parsed the 1,019 files that resolved into at least one user-agent group. Microsoft's own pages were opened and read the same day. What follows is how many of those files address Bingbot, how many actually close anything to it, what the files that carefully refuse GPTBot do about it, and what a Crawl-delay line does to the group it sits in. Any single file can be checked against the same shipped parser on the robots.txt tester.

In short

  • A Bingbot robots.txt rule is rarer in this corpus than a rule for any named AI crawler: 62 of the 1,019 robots.txt files Lantad parsed on 22 October 2026 named Bingbot, against 175 naming GPTBot, 164 naming ClaudeBot, 149 naming Google-Extended and 124 naming meta-externalagent.
  • 83 of the 1,019 files closed the site root to GPTBot on 22 October 2026 and left Bingbot allowed there. Not one file in the corpus ordered those two the other way round.
  • Only 4 of the 1,019 files denied Bingbot the root, and half of them never named a Microsoft token: wa.gov and helsinki.fi refuse every unnamed crawler through a wildcard group, amsterdam.nl writes an exact Disallow: / under User-agent: BingBot, and on snu.ac.kr the verdict turns on whether a Crawl-delay line ends a group.
  • Microsoft's Bing Webmaster Blog published Topics Portfolio on 13 October 2026, a beta view in the AI Performance report that clusters the grounding queries where a site is cited and lists opportunity queries where other sites are cited and this one is not. That post states in its own words that Topic Size, Sites Cited and Queries are approximate and that opportunity citation volumes are deliberately shown as ranges.
  • 14 of the 1,019 files set a Crawl-delay inside a group naming Bingbot, with values from 0.1 to 30 seconds, and on 8 of those 14 the Bingbot line shares its group with other crawler tokens, because a parser that ignores Crawl-delay does not treat the line as ending the group.
TokenFiles naming itFiles disallowing it at the rootShare of named files that still allow the root
GPTBot17587most named, most refused
ClaudeBot16479counted separately on 18 October 2026
Google-Extended14967Google's AI training and grounding token
CCBot14485the highest refusal rate of any token here
Bytespider13280counted on 12 October 2026
meta-externalagent12467Meta's crawler token
Applebot-Extended11762Apple's training opt out
Amazonbot11561counted on 14 October 2026
PerplexityBot10346counted on 16 October 2026
OAI-SearchBot8226OpenAI's search crawler, not its training crawler
Googlebot742both refusals come from a blanket wildcard rule
GoogleOther6326counted on 21 October 2026
Bingbot62460 of the 62 leave the root open
Crawler tokens heading a user-agent group at least once, among the 1,019 robots.txt files Lantad parsed on 22 October 2026, with the root verdict returned by evaluateRobots in core/src/robots.ts. The population is this repository's two committed corpus seed files, not a sample of the web.

What does a Bingbot robots.txt rule control, and what does it not?

Every other major vendor in this measurement series answers to at least two robots.txt names: a crawler that fetches for search and a separate token a publisher can refuse to stop the content being used for AI training or grounding. Google has Googlebot and Google-Extended. OpenAI has GPTBot and OAI-SearchBot. Anthropic has ClaudeBot and Claude-SearchBot. Microsoft has one name in the same position, and the control it documents for AI answers is not a robots.txt token at all.

Microsoft's September 2023 announcement of webmaster controls for Bing Chat puts the AI opt out in a meta robots tag carrying NOCACHE or NOARCHIVE, and scopes its published example with the search crawler's own name rather than a new one. This blog established that separately when it found that Microsoft's AI opt out is a meta tag, not a robots.txt token, and that none of the product tokens in this scanner's crawler registry belongs to Microsoft. The registry itself is published on the AI crawler reference.

That leaves the Bingbot line doing a job it was not minted for. A robots.txt rule decides whether a page may be fetched; a meta tag inside a page can only be read once the page has been fetched. So the two controls sit in sequence rather than in parallel, and the robots.txt layer is the one that runs first. The honest statement about the Bingbot token is therefore narrow and worth keeping narrow: it is the name that decides what Bing's crawler may request, and nothing measured here says what refusing it does to a site's presence in any Microsoft AI surface. This post did not test that, because testing it would mean watching an answer engine rather than reading a file. What Bing does name in its AI reporting is the query it grounded on, which is more than Google exposes, and this blog measured that asymmetry when it found that Bing names the grounding query and Google names none.

  • bingbot Named in 62 files The crawler name Microsoft's 2023 Bing Chat announcement uses in its own meta robots example. 4 of the 1,019 files disallow it at the root.
  • msnbot Named in 12 files A second Microsoft string still present in a handful of files. This run counted the name and makes no claim about what, if anything, answers to it today.
  • adidxbot Named in 13 files Named slightly more often than msnbot across the same files. Again a count of the string, not of any observed request.
  • bingpreview Named in 1 file The rarest Microsoft string in the corpus. One file heads a group with it.
Microsoft user-agent strings heading a group in the 1,019 robots.txt files Lantad parsed on 22 October 2026, with what Microsoft's own published pages say about each, read the same day. A named count is an observation of the files; nothing here is an observation of a crawler.

What was measured on 22 October 2026, and what was not

The population is the 1,419 hostnames in the two committed corpus seed files in this repository: worker/seeds/corpus-seeds-platform.json with 392 hostnames across ten platform strata, and worker/seeds/corpus-seeds-industry.json with 1,027 across eight industry strata. Each hostname was asked once for https://hostname/robots.txt, as LantadBot/1.0, from one network location, with redirects followed and a fifteen second timeout. That user agent is the one described on the bot page, and no request was ever sent under a user agent belonging to Microsoft or anybody else.

The funnel sets every proportion below, so here it is in full. 1,103 hostnames answered HTTP 200 and 8 answered 202, giving 1,111 in the 2xx range. 44 of those served an HTML document at the robots.txt address rather than a robots file, a defect this blog has counted across the same corpus before, and they were excluded. 48 more parsed into no user-agent group at all, usually a file holding nothing but a Sitemap line or a comment, and a file with no group can name no token, so those went too. That leaves 1,019, the denominator for every file count in this post. Of the remainder, 160 answered 403, 50 answered 404, 42 answered 503, 4 answered 429, 2 answered 401, and single instances of 405, 418, 498 and 500 arrived. 46 requests failed before any status: 25 timed out and 21 failed at DNS or TLS.

Parsing and evaluation used parseRobotsTxt and evaluateRobots from core/src/robots.ts, the code that ships in the product rather than a script written for this post. A file counts as naming a token when a user-agent line lowercases to that exact string, which is why amsterdam.nl writing User-agent: BingBot counts, and the reason case folding is safe to rely on was established when 84 mis-cased crawler tokens all bound. A root verdict is the answer evaluateRobots returns for the path slash, the strongest form of the question, since a file can leave the root open and still close most of what matters. The approach is the one set out on the methodology page.

Three limits apply to everything below. No Microsoft crawler was observed doing anything, because there are no server logs here, so every statement about what Bing fetches or reports is a statement about what Microsoft publishes. One URL per hostname was requested, at the apex, so nothing here covers subdomains. And these 1,419 front doors come from two committed sampling frames built for another purpose, not from the web, so no proportion here generalises past them.

The pipeline run against all 1,419 corpus hostnames on 22 October 2026. Parsing and evaluation use the shipped code in core/src/robots.ts. No page other than robots.txt was requested.

62 files named Bingbot, and only 4 closed the root to it

62 of the 1,019 files named Bingbot. For scale on exactly the same files, 175 named GPTBot, 164 named ClaudeBot, 149 named Google-Extended, 144 named CCBot, 132 named Bytespider, 124 named meta-externalagent, 117 named Applebot-Extended, 115 named Amazonbot, 103 named PerplexityBot, 82 named OAI-SearchBot and 74 named Googlebot. Bingbot is named less often than all of them. It sits below 140 of 1,013 files naming CCBot and below 159 of 1,014 naming ClaudeBot on earlier reads of the same corpus, and the only token in the series it outranks is the one counted yesterday, where 63 of 1,015 files named GoogleOther.

4 of the 1,019 files denied Bingbot the site root, and the four split evenly into two quite different acts. wa.gov and helsinki.fi name no Microsoft token at all: both write a blanket Disallow under the wildcard, so Bingbot is refused as one of the unnamed rather than as itself. amsterdam.nl is the only file in the corpus that names the crawler and shuts it out on purpose, heading a group with User-agent: BingBot and following it with an exact Disallow: /. The fourth, snu.ac.kr, is the interesting one, and its verdict depends entirely on a parsing question taken up in a later section: the file heads a group with User-agent: bingbot, follows it with Crawl-Delay:30 and no rule, and then writes User-agent: Amazonbot followed by Disallow: /.

The gap between 62 names and 4 refusals is the finding. 60 of the 62 files that name Bingbot leave the root open to it, and most of those names are doing less work than they appear to. On 15 of the 62 the rules in Bingbot's group are byte for byte the rules the wildcard group already carries, so naming the crawler changed nothing a crawler would do. 5 of the 62 head a group with the name and then write no allow or disallow rule under it at all. That leaves 46 files where Bingbot genuinely receives a rule set the wildcard does not get, which is the honest count of considered positions on Microsoft's crawler in this corpus: 46 of 1,019, or about one file in twenty two. The pattern where a name is present and decides nothing is not specific to Microsoft, and it was measured directly when 43 files put the ClaudeBot line inside the wildcard's own group.

There is one more group worth separating out, because it inverts the usual direction. 12 of the 1,019 files refuse an unnamed crawler the root outright. 9 of those 12 then name Bingbot and let it back in: coralvilleanimalhospital.com, botcity.dev, sciencedirect.com, scielo.org, eluniversal.com.mx, theregister.com, sap.com, instacart.com and gmarket.co.kr all operate a default-deny file with Microsoft's crawler on the permitted list. Only 2 of the 12 extend the same courtesy to GPTBot. Among sites that have decided to enumerate who may crawl rather than who may not, Bing is four and a half times more likely to make the list than OpenAI's training crawler is.

  • GPTBot 175 87 of the 1,019 files disallow it at the root
  • ClaudeBot 164 79 disallow it at the root
  • Google-Extended 149 67 disallow it at the root
  • CCBot 144 85 disallow it at the root, the highest count here
  • Bytespider 132 80 disallow it at the root
  • meta-externalagent 124 67 disallow it at the root
  • Applebot-Extended 117 62 disallow it at the root
  • Amazonbot 115 61 disallow it at the root
  • PerplexityBot 103 46 disallow it at the root
  • OAI-SearchBot 82 26 disallow it at the root
  • Googlebot 74 2 disallow it at the root, both by a wildcard rule
  • GoogleOther 63 26 disallow it at the root
  • Bingbot 62 4 disallow it at the root, 1 of them by naming it
Files heading a user-agent group with each token at least once, among the 1,019 robots.txt files Lantad parsed on 22 October 2026. The note carries the number of those 1,019 files that disallow the token at the root.

83 files refused GPTBot at the root and left Bingbot allowed

This is the number the post exists for. 87 of the 1,019 files disallowed GPTBot at the site root on 22 October 2026. 83 of those 87 left Bingbot allowed at the root, in the same file, on the same day. The reverse set is empty: not one file in the corpus closed the root to Bingbot while leaving GPTBot open. The four files that refuse Bingbot refuse GPTBot as well, so Bingbot's refusals are a strict subset of GPTBot's.

The mechanism is group selection, and nothing is malfunctioning. RFC 9309 defines a robots.txt group as one or more user-agent lines followed by rules, requires a crawler to obey the group matching it most specifically, and falls back to the wildcard group when no name matches. A Disallow written under User-agent: GPTBot is therefore selected by exactly one token. Bingbot does not match it, is not a prefix of it, and falls through to the wildcard, which in the overwhelming majority of these files permits the root. The file says what it says, and what it says about Bingbot is usually nothing. Divergence between two tokens inside one file is routine in this corpus, as the count showing 81 of 1,008 files allowed one of Googlebot and GPTBot and refused the other established.

The news stratum is where the asymmetry is starkest, and it is the stratum whose operators read crawler documentation most carefully. 68 news hostnames produced a parsed file. 41 of those 68 disallow GPTBot at the root. Not one disallows Bingbot, and only 6 of the 68 name Bingbot at all. The publisher position that has hardened over two years is specific rather than general: it refuses the crawlers it understands to train models and keeps the crawlers it understands to send traffic, and Microsoft's single token sits on the traffic side of that line by default. The industry contrast behind it was measured directly when 41 of 69 news robots.txt files disallowed GPTBot and 2 of 97 finance files did.

The strata also show where Bingbot rules come from at all, and it is not publishing. 16 of the 85 readable ecommerce files name Bingbot, the highest count of any stratum and more than a quarter of the 62. Seven of 81 government files and seven of 118 SaaS files name it. Four strata name it in no file at all: Framer, Webflow, Wix and Squarespace, and Shopify direct to consumer, which between them account for 134 parsed files. Those are the strata where the robots.txt file is generated by a platform rather than written by the site, so the absence is a statement about defaults rather than about intent. A per crawler refusal count across the same corpus, including the user fetcher that behaves differently from the indexer, is in the PerplexityBot measurement.

Disallowed at the root

  • GPTBot: 87 of 1,019 files
  • Bingbot: 4 of 1,019 files
  • 1 of the 4 names Bingbot in the group that blocks it
  • 2 of the 4 are caught by a wildcard group naming no Microsoft token
  • 1 of the 4 turns on whether Crawl-delay ends a group

Where the two decisions part

  • 83 files disallow GPTBot and allow Bingbot
  • 0 files disallow Bingbot and allow GPTBot
  • 38 files name both tokens
  • In the news stratum: 41 of 68 refuse GPTBot, 0 refuse Bingbot
  • 12 files deny an unnamed crawler the root; 9 readmit Bingbot, 2 readmit GPTBot
Root verdicts for Bingbot and GPTBot across the 1,019 robots.txt files Lantad parsed on 22 October 2026, from evaluateRobots in core/src/robots.ts. The right panel counts the files where the two verdicts disagree.

Crawl-delay is the directive Bing documents and Google ignores, and it changes which group a line belongs to

Microsoft is explicit about Crawl-delay in a way no other vendor in this series is. A Bing Webmaster Blog post of 3 May 2012 states that BingBot honors the Crawl-delay directive, and describes the value not as a rate but as a window: it defines the size of a time window, from 1 to 30 seconds, during which BingBot will crawl the site only once. The same post says a delay set in robots.txt overrides the setting in Bing Webmaster Tools, and that each subdomain with its own file is managed separately. That page is fourteen years old and is quoted here with its date attached for that reason.

Google's position is the opposite and current. Google's robots.txt documentation states that other fields such as crawl-delay are not supported, and lists only user-agent, allow, disallow and sitemap as fields it reads. So one line in a robots.txt file is load bearing for Bing and inert for Google, which is the kind of divergence that decides what a file actually does rather than what it looks like it does.

153 of the 1,019 files carried a Crawl-delay line somewhere, close to the counts this blog recorded when it found 157 of 1,014 files set one. 14 set one inside a group naming Bingbot. The values were 0.1, 1, 1, 1, 2, 3, 5, 5, 5, 5, 5, 5, 10 and 30 seconds. Two of those fall outside the window Bing's own post describes: shopee.sg asks for 0.1 seconds, below the documented floor of 1, and snu.ac.kr asks for 30, exactly at the documented ceiling. A tenth of a second is not a value the 2012 page contemplates, and what Bing does with it is not something this run could observe.

The second finding here is structural and it is the reason this section exists at all. Because Crawl-delay is not an allow or a disallow, a parser that ignores the field does not treat the line as ending the group, so consecutive user-agent lines keep accumulating across it. On 8 of the 14 files the Bingbot line therefore shares its group with other tokens: on coralvilleanimalhospital.com it sits in a group of 39 user-agent strings, on thrivemarket.com alongside twelve other AI and search tokens, and on shopee.sg with Googlebot and Googlebot-Mobile. In seven of those eight cases the shared rules are harmless. In the eighth it decides the file. snu.ac.kr writes Crawl-Delay:30 under Bingbot, no rule, then User-agent: Amazonbot and Disallow: /, so under the shipped parser the group is Bingbot and Amazonbot together and the root is closed to both. Bing, which honours the field, has no documented reason to read the line as ignorable, and this post cannot say which way its parser resolves the file. What can be said is that one directive, written to slow a crawler down, is the only thing standing between that site and a total refusal, and that the file is ambiguous rather than wrong.

HostCorpus stratumCrawl-delayGroup tokensRoot verdict for Bingbot
shopee.sgecommerce0.13Allowed
arxiv.orgeducation11Allowed
bergfreunde.deecommerce11Allowed
gmarket.co.krecommerce18Allowed
esa.intgovernment215Allowed
census.govgovernment31Allowed
coralvilleanimalhospital.comwordpress-smb539Allowed
nps.govgovernment51Allowed
abc.net.aunews55Allowed
mercadolivre.com.brecommerce51Allowed
thrivemarket.comecommerce513Allowed
zooplus.deecommerce51Allowed
nyp.orghealthcare107Allowed
snu.ac.kreducation302Disallowed
The 14 robots.txt files that set a Crawl-delay inside a group naming Bingbot, among the 1,019 Lantad parsed on 22 October 2026. Group tokens counts the user-agent strings the shipped parser places in the same group as Bingbot, which rises above one because a Crawl-delay line does not end a group. Corpus stratum is the label in this repository's seed files.

Why is my site not cited in Bing's AI answers, and what can the new report tell you?

The development that prompted this measurement is worth reporting accurately, which means reporting it as Microsoft's work and not as anything measured here. On 13 October 2026 Krishna Madhavan, Saral Nigam and Vivek Jain of Microsoft Bing published Topics Portfolio, a beta view inside the AI Performance report. In their description it groups the grounding queries where a site appears into broader thematic clusters, presents them in a table of Topic, Topic Size, Sites Cited and Queries, and adds a Top Opportunity Queries list, where other sites are cited and yours is not.

Three caveats come from that post rather than from any reading of it here, and they are the reason a measurement blog finds the release interesting. Topic Size, Sites Cited and Queries are approximate, and opportunity citation volumes are deliberately shown as ranges. Topics with insufficient site presence or ecosystem activity are hidden, so in Microsoft's own words smaller sites may see a shorter list or may not even see this feature. And topic classification is AI-generated and can occasionally be imperfect, so a query can land in a cluster a human would have labelled differently. Branded queries can appear as opportunities too, which means a row can describe demand a site was never going to win.

None of that is a criticism, and Microsoft deserves credit for stating all three in the announcement rather than in a footnote. It does set what the report can settle. A ranged figure supports a direction and not a delta: if two topics come back as overlapping ranges, the report has not told you which is larger, and a number marked approximate cannot be differenced against last month's to produce a trend. This is the second Microsoft AI reporting surface this blog has read against that standard, the first being the finding that Search Console's generative AI report counts impressions and nothing else, and an honest AI visibility practice treats both as evidence of presence and absence rather than as measurement.

Which brings the two halves of this post together. An opportunity query is a question Bing answered by citing somebody else. The report tells you the question existed and that you were not in the answer. It cannot tell you which link in the chain failed, and the first link is not editorial: it is whether the crawler was allowed to fetch the page, and then whether the page said anything a crawler could read. The file level check is cheap and most sites in this corpus would pass it, since 1,015 of the 1,019 files leave Bingbot the root. The ones that would not pass are worth naming precisely, because two of the four do not mention Microsoft anywhere and would not be found by searching the file for its name. The order to check in is the order the machine works in: what the robots.txt file says to Bingbot, then whether the page carries a NOCACHE or NOARCHIVE meta tag, then what prose actually arrived in the bytes, and only then what the report says about topics.

  • Bingbot allowed at the root in robots.txt 1,015 of the 1,019 files leave the root open to Bingbot. 4 do not, and 2 of those 4 never name a Microsoft token, so grepping the file for its name would miss them.
  • A Bingbot rule that does something 46 of the 62 files naming Bingbot give it a rule set the wildcard does not already carry. On 15 the rules are identical to the wildcard's and on 5 the group carries no rule at all.
  • Crawl-delay read as part of the right group 14 files set one for Bingbot, and on 8 of them the Bingbot line shares a group with other tokens because the field does not end a group. On snu.ac.kr that merge closes the root.
  • No NOCACHE or NOARCHIVE meta tag on the page Microsoft's 2023 announcement puts the Bing Chat opt out in a meta robots tag, so this check needs the page body rather than robots.txt. Not measured in this run.
  • Citation reported in AI Performance Topics Portfolio reports grounding queries and opportunity queries with approximate figures and ranged volumes, per Microsoft's post of 13 October 2026. Nothing here measured any engine's output.
The order the chain runs in, from what Lantad measured on 22 October 2026 and from Microsoft's own published pages read the same day. Counts are of the 1,019 parsed robots.txt files. The last row was not measured in this run and is marked as such.

Written by

Lantad

Published .

Microsoft spent the last two weeks giving site owners a better view of where they are absent from AI answers, and almost nobody has written a rule about the crawler that decides whether they can be present at all. On 13 October 2026 the Bing Webmaster Blog shipped a beta view that names the queries where other sites get cited and yours does not. The robots.txt line that governs what Bing may fetch in the first place is the Bingbot line, Microsoft publishes no separate AI token to put beside it, and in this corpus that line is rarer than a rule for any AI crawler the series has counted.

Common questions

What is a Bingbot robots.txt rule, and does Microsoft publish a separate AI crawler token?

A Bingbot robots.txt rule is a group headed by User-agent: bingbot, and it governs what Bing's crawler may fetch. Microsoft publishes no separate AI specific robots.txt token in the way Google-Extended and Applebot-Extended are: its September 2023 announcement of controls for Bing Chat puts the AI opt out in a meta robots tag carrying NOCACHE or NOARCHIVE and scopes its example with the crawler's own name. 62 of the 1,019 robots.txt files Lantad parsed on 22 October 2026 named Bingbot.

How many sites block Bingbot in robots.txt?

4 of the 1,019 robots.txt files Lantad parsed on 22 October 2026 denied Bingbot the site root. One, amsterdam.nl, named the crawler and wrote an exact Disallow: /. Two, wa.gov and helsinki.fi, refuse every unnamed crawler through a wildcard group and never mention Microsoft. On the fourth, snu.ac.kr, the verdict depends on whether a Crawl-delay line ends a user-agent group. For comparison, 87 of the same files denied GPTBot the root.

Does Bing support the crawl-delay directive?

Bing's own webmaster blog post of 3 May 2012 states that BingBot honors the Crawl-delay directive and describes the value as the size of a time window, from 1 to 30 seconds, during which BingBot will crawl the site only once. Google's robots.txt documentation states the opposite for its own crawlers, that other fields such as crawl-delay are not supported. 14 of the 1,019 files Lantad parsed set a Crawl-delay inside a group naming Bingbot, from 0.1 to 30 seconds.

Can Bing's Topics Portfolio tell me why my site is not cited?

It tells you which queries exist and that another site was cited in them, not why. Microsoft's post of 13 October 2026 states that Topic Size, Sites Cited and Queries are approximate, that opportunity citation volumes are deliberately shown as ranges, and that smaller sites may not see the feature at all. Those are properties of the report rather than faults in it, and they mean it supports a direction rather than a difference. Whether a crawler was allowed to fetch the page is a separate question answered by the site's own robots.txt file.

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.