Skip to main content
Main content
EdenRank Blog

Citation measurement

Blocking vs Allowing AI Agents Per Path: A Working Policy

A path-level framework for deciding when to block or allow AI agents, with prerequisites, a reproducible policy template, and a verification test.

EdenRank Editorial TeamPublished Aug 31, 202612 min read
A tactile paper-craft decision tree on an editorial desk.
Sections in this article

TL;DR

  • Core distinction: Blocking and allowing control access only; citation happens downstream and needs separate measurement.
  • Prerequisite: Categorize paths and check current agent traffic before writing any rule.
  • Template: Classify, set default posture, configure, stage-test, then promote and log the deployment.
  • Verification: Test each path category against a real agent request and a pass or fail condition set in advance.
12 min read

Key takeaways

Treat blocking and allowing as an access-layer decision only, never as a proxy for citation control.

Group paths into a small number of risk categories before writing a single crawl-control rule.

Give transactional paths a scoped allow tied to the specific integration, not a blanket block or open door.

Test every path category with a real agent request and a pass or fail condition defined before you deploy.

Rerun verification after any site restructure or integration change, since either can silently reclassify a path.

Pair access control with an ongoing citation-tracking layer, since one cannot answer the other's question.

Define what blocking and allowing actually mean per path

tart by separating two decisions that get treated as one. Blocking an AI agent from a path is an access decision: can this agent request this URL at all. Deciding whether a citation results from that access is a separate, later question about what the agent does with the content once it has it. Sites that conflate the two end up writing rules meant to control citation behavior through a mechanism, robots directives and crawl control, that only ever controls access. That mismatch is where most path-level policies quietly fail.

A path, for this decision, is any distinct URL pattern you can express as a rule: a directory like /checkout, a file type, a query parameter, or a single high-value page. Blocking means the agent's request is refused or the content withheld before it reaches the agent. Allowing means the request succeeds and the agent receives the same response a browser would get. There is no third state at the access layer. An agent either gets the content or it does not; what it does afterward, whether it summarizes, cites, or transacts against it, is downstream of that binary and depends on the agent's own design, not your server configuration.

This matters because the two failure modes look identical from a traffic log but have opposite fixes. If a path is blocked and you wanted it cited, the fix is at the access layer: change the directive. If a path is open and being read but never cited, the problem is not access at all; it is content structure, evidence, or how the answer engine chooses sources, which How to Find Source Gaps in AI-Generated Answers: A Technical Audit covers as a distinct diagnostic. Treating both as the same problem wastes a rewrite cycle on a path that was never blocked in the first place.

Keep those two layers separate in your own head before you write a single rule. The rest of this guide assumes you can tell, for any given path, whether you are solving an access problem or a content problem, because the steps for each are not interchangeable.

How agent path decisions work end to end

An agent's journey through your site has three stages, and each stage is where a different kind of path decision gets made. For discovery, record whether the URL appeared in a sitemap, internal link, or search result. For the fetch, request the URL and record whether the server's path rule serves or withholds the content. Third, action: if the content is a page an agent can act on, such as a product page or a cart endpoint, the agent may do something beyond reading, like adding an item or advancing to checkout.

Cloudflare states that for all new domains on Cloudflare, AI training crawlers would be blocked by default unless domain owners chose otherwise . Apply that statement only to the named platform default and crawler class. Check the actual rule for each agent and path instead of extending one default to unrelated answer-engine crawlers.

The practical consequence is that stage two, the fetch, is the only stage where a per-path rule actually operates. You cannot control discovery once a URL is public and linked; you cannot control what a permitted agent does with content once it has fetched it. What you can control is whether the fetch succeeds for a given agent on a given path, which is why every policy in this guide is built around that one lever.

The lever you actually have

Per-path policy controls one thing only: whether a named agent's request to a specific path succeeds or fails. It does not control discovery upstream or citation behavior downstream. Write rules against that one lever and measure the other two stages separately.

Confirm prerequisites before you write a single rule

A per-path policy written without groundwork tends to either block a path you needed open or leave open a path you meant to protect. Both mistakes are expensive to find later, because the symptom, a missing citation or an unexpected transaction, shows up weeks after the rule went live. Confirm each of the following before you touch a configuration file.

You need an inventory of paths worth differentiating, not a blanket domain rule. Group your site into a small number of categories: public informational content, gated or paywalled content, transactional endpoints like cart and checkout, and internal or admin paths that should never be crawled by anything. Most sites can do this in an afternoon using existing analytics; the categories rarely exceed five or six.

You also need visibility into which agents are actually requesting your paths today, before you decide what to do about any of them. Guessing at your current exposure is the single most common cause of a policy that breaks something on launch.

Related guide: How to Configure robots.txt for AI Crawlers in 2026-Without Guessing

Checklist

  • List every path pattern that carries business risk if scraped, transacted against, or left unindexed, and name the category each belongs to
  • Pull current server logs or crawler analytics to see which named agents are already requesting which paths, using a method like the one in [How to Use Server Logs to Detect Unannounced AI Crawlers](/blog/how-to-use-server-logs-to-detect-unannounced-ai-crawlers)
  • Confirm which paths are transactional versus informational, since a transactional path (cart, checkout, account) carries different risk than a page an agent only reads
  • Check whether any storefront paths already expose agent-facing tooling, such as a WebMCP integration, before assuming all agent traffic on that path is a crawler

See where your brand appears in AI answers - and where it does not.

Run a first-party brand check across supported answer engines. Results are measured without a promised citation or conversion. Browse all free tools

Check your brand

Run the reproducible template to implement a per-path block-or-allow policy step by step

This is a reproducible template, not a one-off fix: run it once per path category, and rerun it whenever you add a new category of path or a new class of agent shows up in your logs. The sequence below assumes you have already completed the prerequisites and have a categorized path list in hand.

The first three steps classify and configure; the last two confirm the configuration matches what you intended before you consider the rule live. Complete the confirmation again after the next site restructure and record the result beside the active rule.

Transactional paths deserve particular care in step two. Shopify's changelog on WebMCP support describes tools that let agents search a catalog, manage a shopper's cart, and go to checkout on the shopper's behalf, all in the same tab the shopper is using, and notes that everything an agent does happens on the shopper's live session. A path that supports that kind of interaction is not a candidate for a simple block; it is a candidate for a scoped allow that matches what the integration was built to do, with the risk boundary drawn around specific actions rather than around the whole path.

  1. Classify each path from your inventory into one of four categories: public informational, gated, transactional, or internal-only
  2. For each category, decide the default posture: allow for public informational content you want cited, block for internal-only paths, and a scoped allow for transactional paths tied to a specific agent integration like WebMCP
  3. Write the rule using your crawl-management layer of choice, for example the directive and allow-list controls described in [Cloudflare's AI Crawl Control overview](https://developers.cloudflare.com/ai-crawl-control/), which gives visibility into which AI services are accessing your content and tools to manage that access according to your preferences
  4. Deploy the rule to a staging path first if your platform supports it, and request the exact path with the agent's declared user agent string to confirm the response code matches your intended posture
  5. Promote the rule to production and log the deployment date and the path list it covers, so a future audit can tell which rule was active when a citation gap or an unexpected transaction occurred

Verify the policy holds under a real agent request

A rule that looks correct in a configuration file is not the same as a rule that behaves correctly under a real request. Verification means sending an actual request, or as close to one as you can construct, against each path and category, and checking the response against what you intended rather than what you assume happened.

Build a small test matrix: one row per path category, one column for the agent identity you are testing against, and a pass or fail outcome defined in advance. A pass means the response code and body match the intended posture for that agent and path. A failure needs a defined next action, not just a note that something went wrong; the table below gives a starting structure you can extend with your own path categories.

One commenter wrote: A decent LLM should be able to handle browsing the site, if needed it can use the sitemap.

Treat that as one engineer's view, not evidence about the agent classes in your logs. Transactional and internal paths still need a rule you have tested yourself.

For every test, record the timestamp, declared agent identity, target URL, response status, relevant response headers, and a hash of the returned body. Keep that evidence beside the rule version and expected outcome so the next operator can reproduce the result without guessing what changed.

Rerun this verification matrix after any site restructure, any new crawl-control rule, and any change to a transactional integration like a cart or checkout flow, since any of the three can silently move a path from one category to another without anyone updating the rule that governs it.

Related guide: How to Use Server Logs to Detect Unannounced AI Crawlers

Path verification matrix template

Path categoryTest requestPass conditionFail action
Public informationalFetch with declared answer-engine agent string200 response, full content servedCheck directive for accidental block, correct and retest
Gated contentFetch without auth as an agentBlock or auth challenge, not full contentTighten access rule, confirm no bypass path exists
Transactional (cart/checkout)Agent action via WebMCP-style tool callAction completes on the shopper's own session onlyAudit scope of the allow rule against the integration's documented actions
Internal-onlyFetch with any agent stringConsistent block regardless of agent identityInvestigate why the path is reachable at all, not just why one agent got through

EdenRank records how path decisions compare across approaches

Access control and citation measurement answer different questions, and it is worth being precise about which approach gives you which answer. Blocking and allowing rules tell you what an agent can reach. They do not tell you whether an answer engine, once it has read an allowed path, actually names your brand or links back to the page. Confirming a path is open is necessary but not sufficient for confirming it is helping your citation rate.

The original paper presents Attributable to Identified Sources as a framework for assessing natural-language generation output when it pertains to the external world . Use that as a separate source-support check after the access test; an access rule cannot establish whether an output is attributable to a specific source.

EdenRank records whether an answer names the brand and whether it links to the brand page, running an ongoing prompt panel and keeping a tracked run history so a team can see whether an access change on a given path actually moved citation behavior, rather than assuming it did because the rule deployed cleanly. That closes the loop the verification matrix leaves open: the matrix confirms an agent can reach a path, and the citation tracking layer confirms what happened after it did.

Cloudflare describes its own measurement release this way: We have discussed this challenge in smaller settings, and today we are excited to publish our findings as a new metric shown on the AI Insights page on Cloudflare Radar.

The table below sets these approaches side by side. None of them replaces the others; a mature policy typically runs a mix of the first three plus an ongoing measurement layer, and picking one at the expense of the rest just moves the blind spot as opposed to closing it.

Approaches to understanding AI agent behavior on your site

ApproachWhat it capturesWhat it requires
Manual spot checksA snapshot of whether a specific agent can reach a specific path on a given daySomeone to run the request and record the result by hand, repeated on a schedule
Server-log analysisWhich named agents actually requested which paths and what response they gotLog retention, agent-identification rules, and time to review the output regularly
Published third-party studyCloudflare published findings as a metric shown on the AI Insights page on Cloudflare RadarCompare the study scope with your own site and agent mix
EdenRankRecords whether an answer names the brand and whether it links to the brand pageAn ongoing prompt panel and a tracked run history
We first define AIS and introduce a two-stage annotation pipeline for allowing annotators to appropriately evaluate model output according to AIS guidelines.
- Attributable to Identified Sources evaluation framework, arxiv.org/abs/2112.12870

References and further reading

These links are provided for direct inspection. A reference is not treated as proof of every statement in this article.

  1. 1.
  2. 2.
    Cloudflare AI Crawl Control overviewdevelopers.cloudflare.com
  3. 3.
  4. 4.
  5. 5.
  6. 6.

Written by

EdenRank Editorial Team

The product and editorial team documents repeatable ways to inspect AI-answer visibility, source evidence, and content operations.

6References
ShownMethod
0Evidence claims

Expertise

AI answer visibility measurementCitation & source intelligenceLLM readiness & crawlabilityEntity trust & schema markupPrompt strategy & buyer signals

Published

Aug 31, 2026

About EdenRankAll articles

Want insights like this for your own brand?

Talk to the team

Published by EdenRank.