Agent eligibility check

The rubric

Version 1. 17 checks. Generated from the code that runs, so the two cannot drift apart.

Every check states a fact about a site. None of them asserts or implies that an agent will find, trust or recommend a business.

Reach — can an agent get in and read the page

  1. Served over HTTPS core evidence

    Is the home page served over HTTPS without falling back to plain HTTP?

    An agent that has to downgrade to plain HTTP is reading a channel anyone can alter.

    If it fails: Serve the site over HTTPS and redirect http:// to https://.

    reach.https

  2. robots.txt is present core evidence

    Does /robots.txt exist and contain at least one directive?

    robots.txt is where a site states its crawling policy. Absent, an agent has nothing to read.

    If it fails: Publish /robots.txt, even if it only declares a sitemap and allows everything.

    reach.robots_present

  3. Named AI agents are not blocked at the root core evidence

    Does robots.txt disallow the site root for any well-known AI agent token?

    A site can be perfectly readable and still invisible because one line of robots.txt refused the agent.

    If it fails: Remove the root Disallow for the agent tokens you want to admit, or scope it to the paths you mean to protect.

    reach.ai_agents_allowed

  4. The page is served to an honest client core evidence

    Does the home page return a success status to an ordinary HTTP request with an identifying user agent?

    A bot wall, challenge page or 403 does not care how good your markup is. Nothing downstream can be read.

    If it fails: Allow ordinary clients and named AI agents to fetch public pages; keep the wall for abusive traffic.

    reach.bot_wall

  5. Content is present without running scripts core evidence

    Does the raw HTML contain a meaningful amount of text before any script runs?

    Many agents read the response body and never execute JavaScript. A client-rendered page can read as empty.

    If it fails: Render the essential content on the server so it is present in the first response.

    reach.content_without_js

Identity — does the agent know who you are

  1. Structured identity is published core evidence

    Is there JSON-LD describing the organisation?

    This is the difference between an agent inferring who you are from prose and being told.

    If it fails: Add a JSON-LD Organization or LocalBusiness block to the home page.

    identity.structured

  2. The trading name is stated recommended evidence

    Is a business name available in structured data or the page title?

    An agent assembling an answer needs a name it can attribute the rest of the facts to.

    If it fails: State the trading name in the JSON-LD `name` field and in the page title.

    identity.name

  3. Contact and location facts are machine-readable core evidence

    Are address, telephone or email present in structured data?

    A local answer needs a location and a way to reach it, and prose is not addressable.

    If it fails: Add PostalAddress, telephone and email to the organisation's JSON-LD.

    identity.contact

  4. A canonical URL is declared recommended evidence

    Does the page declare a canonical link pointing at itself?

    Without it, an agent may treat near-duplicate URLs as separate businesses or treat the wrong one as authoritative.

    If it fails: Add `<link rel="canonical">` to each page.

    identity.canonical

Offering — does the agent know what you sell

  1. What you sell is marked up core evidence

    Is there Product, Service, Offer or Menu markup?

    An agent can only compare or recommend an offering it can read as an offering.

    If it fails: Describe products or services with Product/Service and Offer JSON-LD.

    offering.markup

  2. Price is machine-readable recommended evidence

    Is a price present in structured data?

    Agents increasingly filter and compare on price, and a price locked in an image or a PDF is invisible.

    If it fails: Add `offers.price` and `priceCurrency` to your product markup.

    offering.price

  3. Availability is machine-readable recommended judgment

    Is an availability or stock state present in structured data?

    A recommendation without availability is a wasted journey, and agents are starting to filter on it.

    If it fails: Add `offers.availability` using schema.org values such as InStock or PreOrder.

    offering.availability

  4. A machine-readable catalogue or interface exists recommended judgment

    Does the site link a JSON, XML or API surface for its catalogue?

    A page is a poor substitute for a feed when an agent needs the whole catalogue rather than one item.

    If it fails: Publish a read-only JSON or XML feed of your catalogue and link it from the page.

    offering.feed

Navigation — can the agent find the rest