Someone forwards a blog post about AI companies scraping the web. A directive gets added to robots.txt blocking every AI-related user-agent anyone could name. Six weeks later, nobody has measured anything, and the company has quietly removed itself from a class of answers where its own pages were the best available source. No alert fired. The cost does not appear in any dashboard.
This is the most common failure in AI crawler policy: treating one decision as three, and making it in the direction that feels safest without measuring the consequence. The categories differ, the costs differ, and the mechanisms differ in how enforceable they are.
This post is about access — who is permitted to read your pages. What those readers find when they arrive is a separate question, covered in our companion post on agent-ready product data feeds.
Lumping AI crawlers together is the core mistake. As of late 2026, three distinct behaviours matter, and they carry opposite trade-offs. Note that individual vendors change crawler names and split or merge functions frequently, so verify current identities against the operator's published documentation rather than a list you saved last year.
Training-corpus collection. A crawler gathering text at scale to be used in model training. Fetches are broad, not tied to any user's immediate request. Blocking this has no direct effect on whether you appear in answers today. The argument for blocking is about compensation and control over your content, which is a legitimate business position.
Live retrieval for a user's current question. A user has asked something right now, and the assistant fetches a small number of pages to answer it, typically with a link or citation back. This is the category where blocking is usually a mistake. If the fetch fails, your page is not in the answer. Someone else's is. The citation, the referral, and the framing of the topic all go elsewhere.
Answer-engine indexing. A crawler building a retrievable index that an assistant queries later. Behaviour resembles classic search indexing, and the visibility consequence of blocking resembles blocking a search engine: you are not findable in that surface.
| Category | What triggers a fetch | Cost of blocking | Usual right answer |
|---|---|---|---|
| Training-corpus collection | Broad scheduled crawling | No immediate visibility loss | A genuine business choice; block if that is your position |
| Live retrieval | A user's question, right now | Removed from answers you could have been cited in | Allow, for public pages |
| Answer-engine indexing | Index refresh cycles | Not findable in that answer surface | Allow, unless you block search too |
| Unidentified high-volume fetching | Unclear | None | Rate-limit or block server-side |
The second row is where most of the unmeasured damage happens. Blocking live retrieval is a visibility decision dressed up as a security decision. Nothing is protected — the page is public, and a human can read it — but you have opted out of being the answer.
A useful test before writing any rule: is this page reachable by an unauthenticated visitor?
If yes, blocking a crawler does not protect it. It changes who can conveniently read it, and the people who go around your rules are not the ones with a published user-agent. If the content genuinely needs protecting, it needs authentication, not a robots directive.
If the page is behind a login, the discussion is moot. Crawler policy governs public surfaces.
This clears out a lot of confused reasoning. What remains is the real question: for public content, which readers do you want, and why.
| Mechanism | What it is | Enforceability | Good for |
|---|---|---|---|
| robots.txt | A published request to well-behaved crawlers | None. Voluntary compliance only | Stating policy to operators who honour it |
| Page-level meta directives | Per-page signals on indexing and reuse | Voluntary | Fine-grained exceptions |
| llms.txt convention | An emerging plain-text file describing your site for LLM consumers | None; also still an evolving convention | Signalling structure and preference |
| Server-side rules (WAF, rate limits, IP or ASN rules) | Refusing or throttling requests at the edge | Actual enforcement | Anything you need to be true |
| Authentication | Requiring identity to read | Actual enforcement | Content that must not be public |
Two honest notes.
robots.txt is a request. A crawler that ignores it faces no technical obstacle. It is a statement of policy, useful precisely because the major operators generally honour it — and useless against anyone who does not.
llms.txt, as of late 2026, is a convention rather than a standard. Support is uneven and the format is still being discussed. The sensible posture is to publish one because it is cheap and describes your site usefully, while assuming nothing about who reads it. Check the current convention before you write yours; do not copy a format from an old example.
If you need a limit to be real, it must be implemented server-side. Everything above that line is a signal.
Work through this rather than applying one global rule.
| Decision | Ask | If yes | If no |
|---|---|---|---|
| Allow training-corpus crawlers? | Is our content itself the product we sell? | Consider blocking or licensing | Allowing costs little |
| Allow live retrieval? | Do we want to be cited when users ask about our domain? | Allow, explicitly | Block, and accept the visibility loss knowingly |
| Allow answer-engine indexing? | Do we allow classic search indexing? | Allow, for consistency | Block both, consistently |
| Rate-limit anything? | Is any crawler costing us real infrastructure load? | Throttle server-side by behaviour | No action |
| Carve out specific paths? | Do some paths have different sensitivity? | Path-level rules, documented | Site-wide rule |
The path-level row matters more than it looks. Most sites have sections with genuinely different answers: documentation you want cited, pricing pages you may want cited, proprietary research you may want licensed rather than absorbed, and internal tools that should not be public at all. A single site-wide directive throws away that nuance.
Write down the reasoning next to each rule in a comment. Six months from now, nobody will remember why a line is there, and undocumented rules survive long past their justification.
A policy change with no measurement is a guess. The measurement is a data-collection exercise, and it has to start before the change.
Establish a baseline first. Assemble a set of prompts that represent how people actually ask about your category — buying questions, comparison questions, how-to questions. Query them across the assistants that matter to you, on a fixed schedule, and record which sources are cited.
| Measure | How to collect | Baseline |
|---|---|---|
| Citation presence | Share of tracked prompts where your domain is cited | [DATA: citation presence, pre-change] |
| Citation share vs competitors | Your cited pages as a share of all cited sources | [DATA: relative citation share] |
| Cited page distribution | Which of your URLs get cited | [DATA: top cited paths] |
| Assistant referral sessions | Sessions with assistant referrers in analytics | [DATA: assistant referral sessions] |
| Crawler fetch volume by category | Verified crawler hits from server logs | [DATA: verified fetches by category] |
| Fetch success rate | Share of AI-crawler fetches returning 200 | [DATA: fetch success rate] |
Then change the policy, hold it for a meaningful window, and re-measure the same prompts. Two cautions. Answer surfaces are non-deterministic, so single observations are noise; you need repeated sampling. And these systems change independently of anything you do, so keep a control set of prompts where your policy did not change.
If you block live retrieval and citation presence falls, you have quantified the cost. That is a number you can put in front of whoever asked for the block.
If your business depends on public web data — competitor pricing, marketplace listings, public reviews, SERP data — then a blanket "no automated reading of our site" position deserves examination.
There are defensible positions here. Reading public listings to build a pricing signal, and having your editorial content absorbed into a model that competes with it, are not the same activity. You can reasonably distinguish factual public data from original creative work. You can reasonably distinguish attributed live retrieval from unattributed bulk ingestion.
What is not defensible is not having thought about it. If your policy and your own data practice point in opposite directions, someone will eventually ask, and "it seemed safer" is a weak answer. Write down the distinction you are drawing. If you cannot articulate it, that is information.
Any rule keyed on user-agent alone is trivially bypassed. A string in a request header is whatever the sender types. This cuts both ways: bad actors impersonate legitimate crawlers to inherit their access, and your logs misattribute traffic, which corrupts the measurement above.
The actual checks:
Log the verification outcome, not just the raw user-agent. Otherwise your before-and-after measurement is built on a field anyone can forge.
This is a publisher's policy decision, not legal advice. The rules that apply to you depend on your jurisdiction, your content, your terms of service and your contractual commitments. Where the stakes are material, get counsel who knows your situation.
The conventions themselves are also unsettled as of late 2026. Crawler identities, directive syntax and emerging file formats are moving. Treat your policy as something with a review date, not a configuration you write once. Check the current specification of any convention before you implement it.
Actowiz Solutions builds the measurement layer around this decision — AI answer citation tracking against a defined prompt set, verified crawler-identity analysis from server logs, and before-and-after comparison on policy changes. We work as a data partner within the compliance posture you set, not around it.
A: robots.txt is a request, not an enforcement mechanism. Major operators generally honour it, but a crawler that ignores it faces no technical obstacle. Only server-side controls such as WAF rules, rate limits and IP restrictions actually enforce a limit.
A: It depends on the category. Blocking training-corpus collection has no immediate visibility cost. Blocking live retrieval removes your pages from answers where you could have been cited, sending the citation and the referral to a competitor instead.
A: User-agent strings are trivially spoofed. Use reverse DNS with forward confirmation — resolve the IP to a hostname, confirm it belongs to the claimed operator, then resolve back to the same IP — or match against the operator's published IP ranges where these exist.
You can also reach us for all your mobile app scraping, data collection, web scraping, and instant data scraper service requirements!
Our web scraping expertise is relied on by 4,000+ global enterprises including Zomato, Tata Consumer, Subway, and Expedia — helping them turn web data into growth.
Watch how businesses like yours are using Actowiz data to drive growth.
From Zomato to Expedia — see why global leaders trust us with their data.
Backed by automation, data volume, and enterprise-grade scale — we help businesses from startups to Fortune 500s extract competitive insights across the USA, UK, UAE, and beyond.
We partner with agencies, system integrators, and technology platforms to deliver end-to-end solutions across the retail and digital shelf ecosystem.
Use this web data RFP checklist to define scope, sources, fields, SLA, QA and pricing models, then score vendors fairly.
Sensitive Skin Skincare Product Data API helps brands track cleansers, serums, moisturizers, and sunscreens with structured product data.
German marketplace data report 2026: online retail size, Amazon.de, Otto, Kaufland and Zalando price signals, PAngV rules and peak seasons.
Whether you're a startup or a Fortune 500 — we have the right plan for your data needs.