Can AI agents use your website?
More and more enquiries reach companies through a model that researches, compares and recommends on someone’s behalf, not through a list of search results. This check measures what such an agent actually finds on your site: reachable content, a structure it can parse, machine-readable legal information.
- checks in the standard run
- 28checks in the standard run
- in the rendered deep run
- +4in the rendered deep run
- weighted layers
- 5weighted layers
- rubric version
- 1.0.0rubric version
Publicly reachable address, no login. The check takes about ten seconds.
This needs your consent: the run sends content from the checked site to an AI provider outside the EU.
How the measurement works
Four stages that build on each other. The first two run on every request; the third and fourth only when you ask for them. They cost compute, and in the case of the fourth, consent.
- Stage 1
Static request
The home page is loaded once, the way a language model loads it: no JavaScript, no login, a clear user agent you can find again in your logs. From that single response come status code, redirect chain, compression, headers, HTML structure, JSON-LD and the pure text ratio.
- Stage 2
Identities and side resources
Five further requests using the identifiers of GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot and Google-Extended, plus robots.txt, sitemap, llms.txt, the trust pages, the well-known catalogues and one deliberate bad call. Around two dozen requests within a few seconds, parallelised with a capped connection count so the checked server barely notices.
- Stage 3
Rendered run
A headless Chromium loads the same page with scripts and compares the result to stage 1. That surfaces four things the raw HTML does not contain: content that only exists after JavaScript, overlays blocking the click point, controls without native semantics, and form fields whose labels only appear at runtime. Deliberately separate from the standard run: an agent usually executes no JavaScript, so the difference between the two stages is itself the finding.
- Stage 4
Observed agent run
A language model gets a concrete task and at most six steps to solve it on your site: find a contact, characterise the offering, work out the pricing logic, or verify operator and legal form. Every step is logged, along with the outcome and the point where it stalls. This is not a deduction, it is the evidence: 28 green ticks say less than one task that was solved. Or was not.
Stage 4 sends page content to a language model outside the EU. It starts only once you have allowed the AI assistance category in your cookie choices, and never automatically.
The scoring model
The overall figure is not an average over all ticks. It is built in three steps, and two of them set it apart from a rubric of American origin.
Weighted by consequence
Within a layer the ratio of earned to available points is taken and then scaled to the layer weight. Access weighs 30 percent because a failure there voids everything after it. Usability weighs 10 because it only concerns a subset of sites at all.
Not applicable does not mean failed
What a site does not offer at all drops out of both numerator and denominator. A trade business without an API loses no points for it. If a whole layer falls away, its weight is redistributed across the rest rather than capping the figure artificially. This rule is exactly what prevents the wall of red crosses that developer-centric tools produce on an ordinary company website.
Young standards as a bonus only
Resource catalogues, agent cards and link headers sit outside the score and can contribute at most five points. Their absence never costs anything. A standard from the day before yesterday must not make a website look worse than it is.
Grade scale
- A
- 85 and up
- Agents get where they are going.
- B
- 70–84
- Good foundation, isolated gaps.
- C
- 55–69
- Workable, but agents lose time.
- D
- 40–54
- Agents fail in several places.
- F
- below 40
- Practically unusable for agents.
The rubric carries a version number and is returned with every result. If weights or thresholds change, the number changes. Two runs are only comparable under the same rubric.
The checks in detail
For every check this states what is measured, why it makes the difference for an agent, and what “passes” is pinned to. The third part matters most: without a disclosed threshold a score is a claim.
Access
Weight 30 %Before structure or content matter at all, the request has to succeed. This layer carries the most weight because a failure here voids everything after it: what an agent cannot load, it cannot understand.
- Content without JavaScript
What is measured: Amount of body text and number of headings in the delivered HTML, before any script runs.
Why it matters: Most requests made by language models execute no JavaScript. On a client-rendered application an agent then sees an empty shell, regardless of how good the page looks in a browser.
Passes when: At least 500 characters of body text and exactly one H1 in the raw HTML. Between 200 and 500 characters counts as partial.
- Reachable for AI crawlers
What is measured: Five requests using the identifiers of GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot and Google-Extended.
Why it matters: Bot defences rarely distinguish between a scraper and an agent acting on a user’s behalf. Locking out by bot score loses both.
Passes when: All five receive status 200 with a full body. Partial blocks are scored proportionally.
- No bot challenge
What is measured: Response status and body of the home page, checked for interstitials such as Cloudflare challenges or captcha walls.
Why it matters: A proof-of-work puzzle is a delay for a browser and a hard stop for an agent. It does not solve it, it gives up.
Passes when: Status 200 with no challenge pattern in the body.
- robots.txt permits agents
What is measured: Evaluation of the rule blocks per identifier, separated into training and user-driven crawlers.
Why it matters: A blanket disallow also hits the crawlers that answer user questions in real time. Training use can be governed separately without giving up visibility in AI answers.
Passes when: No disallow for user-driven agents. Four or more blocked AI identifiers count as failed.
- Honest error pages
What is measured: Response status for a deliberately invented address.
Why it matters: Returning 200 for every address confirms guessed paths as valid. An agent then follows dead ends and treats their content as the answer.
Passes when: Status 404 or 410. A soft 404 with status 200 counts as failed.
- Redirect hygiene
What is measured: Length and status codes of the redirect chain up to the final address.
Why it matters: Every hop costs a request. Temporary codes additionally signal that the target address is not stable, which argues against storing it as a source.
Passes when: At most one hop, permanent (301/308). Language redirects on the home page may be temporary.
- Page weight
What is measured: Ratio of useful text to transferred HTML size, plus an estimate of token consumption.
Why it matters: An agent pays for every token it loads and truncates long documents. A low text ratio means a large share of the budget goes to markup.
Passes when: Under 30,000 estimated tokens and more than 5 percent text ratio.
- Compressed delivery
What is measured: Content-Encoding of the response.
Why it matters: Lowers transfer time and the chance of an abort, especially for agents on tight time budgets.
Passes when: Brotli, gzip or zstd.
Understanding
Weight 25 %A model does not read design, it reads structure. Without it, it has to guess. In doubt the competitor with more dependable facts on record then wins.
- Structured data
What is measured: Presence, validity and type coverage of the JSON-LD blocks.
Why it matters: Structured data is the only place where a website states, in machine-readable form, who runs it and what it is about. Everything else has to be inferred from prose.
Passes when: At least two meaningful types, all blocks parseable.
- Organisation details in schema
What is measured: Completeness of the Organization or LocalBusiness object: PostalAddress, contactPoint, sameAs.
Why it matters: These are exactly the three fields an agent checks before recommending a company. sameAs links the brand to Wikidata, LinkedIn or the commercial register and turns it into a resolvable entity rather than a name.
Passes when: All three fields populated.
- Complete head metadata
What is measured: title, description, canonical, html lang, og:image, og:type.
Why it matters: canonical decides which version gets cited, lang decides language assignment. Without both, requests end up on the wrong language variant or get attributed to a parameter URL.
Passes when: All six present.
- Heading structure
What is measured: Number of H1s, distribution of levels, skipped levels in the hierarchy.
Why it matters: Models split documents along headings into citable sections. A flat or erratic hierarchy leads to passages being quoted without their context.
Passes when: Exactly one H1, at least two H2s, no skipped level.
- Markdown variant
What is measured: Negotiation via Accept: text/markdown including the Vary header, or alternatively an address with a .md suffix.
Why it matters: The same page as Markdown typically saves an agent over 90 percent of its tokens and removes parsing errors. Without a Vary header a shared cache serves both callers the same version.
Passes when: Markdown is delivered and the cache is cleanly separated.
- Language and region signals
What is measured: html lang plus completeness of the hreflang references including the self-reference.
Why it matters: On multilingual sites this decides whether a German-language request reaches the German version or the English one gets cited.
Passes when: lang set, hreflang either complete or absent.
Discoverability
Weight 20 %Not ranking, but machine-readable entry points. An agent with a task looks for signposts first and for prose second.
- llms.txt as a signpost
What is measured: Presence, structure and a sample: do the addresses listed there actually resolve?
Why it matters: The file is the most compact entry point into a site. Dead links inside it are worse than no file at all, because an agent follows them and lands nowhere.
Passes when: H1 present, at least three references, no more than 20 percent of them dead.
- Sitemap present and registered
What is measured: Valid XML sitemap, entry in robots.txt, presence of lastmod. Sitemap indexes are resolved.
Why it matters: Without lastmod an agent has to reload every page to detect changes. That costs budget and lowers the crawl frequency.
Passes when: Valid urlset, registered in robots.txt, lastmod set.
- Trust pages findable
What is measured: Reachability and text volume of imprint, privacy notice, contact and about pages at expected addresses.
Why it matters: These are the pages an agent goes to in order to verify that a provider is real and contactable, before including it in a recommendation.
Passes when: At least three of the four reachable, with real content rather than an HTML shell.
- Agentic resource catalogues
What is measured: Presence of /.well-known/ai-catalog.json, agent-card.json and api-catalog.
Why it matters: A catalogue at a guessable location saves an agent the page-by-page search for interfaces. A young standard, hence a bonus rather than a requirement.
Passes when: At least one of the files is delivered validly.
- Signposts in the HTTP header
What is measured: Link header carrying service-desc, api-catalog, describedby or alternate.
Why it matters: The header arrives before the first byte of HTML. An agent that only needs the Markdown variant saves the entire download of the HTML page.
Passes when: At least one usable rel value, target on the same domain and reachable.
EU compliance
Weight 15 %The layer that internationally built audit tools do not cover, and the one that weighs heaviest in practice for a European site. It holds two things: obligations that apply anyway, and the European special case of consent.
- Content readable before consent
What is measured: Detection of the consent tool in use, then measurement of the content next to the banner container.
Why it matters: Only a human can give consent. Whatever appears only afterwards does not exist for an agent. Total length is deliberately not the measure: banner legal texts are long enough to clear any minimum.
Passes when: At least 500 characters of content outside the consent container, no locked scrolling.
- Machine-readable rights reservation
What is measured: Content signal in robots.txt, /.well-known/tdmrep.json, ai.txt or a tdm-reservation meta tag.
Why it matters: Under Article 4 of the DSM Directive a reservation of text and data mining rights only takes effect if it is declared in machine-readable form. A sentence in the terms and conditions does not do it.
Passes when: At least one of the four declaration formats present.
- Imprint findable and complete
What is measured: Reachability at an expected address, link from the home page, presence of the mandatory details.
Why it matters: Required by § 5 ECG in Austria and § 5 DDG in Germany. For an agent it is additionally the evidence that a tangible company stands behind the site.
Passes when: Page reachable, linked from the footer, register details recognisable.
- Privacy notice findable
What is measured: Reachability and content markers per Art. 13 GDPR.
Why it matters: Agents cite this page when users ask how their data is handled. If it is missing, a gap opens exactly where trust is decided.
Passes when: Controller and legal bases named in the text.
- Disclosure of AI interactions
What is measured: Detection of embedded AI interfaces via known vendors and mount points, then a search for a transparency notice.
Why it matters: Article 50 of the EU AI Act requires from 2 August 2026 that users are told when they are speaking to a system. What is checked is the interface actually embedded, not the occurrence of the word in marketing copy.
Passes when: Where an interface is detected, a notice in the delivered text. Not applicable without one.
Usability
Weight 10 %Reading is one half, acting is the other. What a site does not offer at all is not scored: a law firm loses no points for running no API.
- Machine-readable contact paths
What is measured: mailto and tel links in the delivered HTML and on the contact page.
Why it matters: An agent asked to extract a contact gives up on an address rendered as an image or hidden behind JavaScript, and recommends the next best option. Email obfuscation by a CDN falls under this too.
Passes when: At least three of four signals present.
- Forms fillable by machine
What is measured: Ratio of fields to name attributes and associated labels.
Why it matters: An agent fills in what it can name. Without a label it stays unclear which field expects which detail.
Passes when: Nearly all fields named and labelled. Not applicable without a form.
- Interface for agents
What is measured: OpenAPI description, MCP server card or a reference to one.
Why it matters: Without a machine-readable description an agent has to infer the interface from prose. With one it can wire it up as a tool.
Passes when: At least one machine-readable description reachable. Not applicable without an interface.
- Structured error responses
What is measured: Media type of the response to a deliberate bad call against the interface.
Why it matters: An HTML error page is not evaluable for an agent. It cannot tell whether the request was wrong or the service is down.
Passes when: JSON with a stable error code. Not applicable without an interface.
What the check does not measure
Four limitations that belong to any reading of the result. We name them because a finding without its boundaries is not a basis for decisions.
One page, not the whole site
What gets measured is the given address plus a handful of expected side resources. A site with an excellent home page and a badly built product section scores too well here. For a statement about the whole inventory you need a run across the sitemap.
The vantage point skews the result
We request from a European datacentre. Many firewalls treat datacentre addresses differently from residential lines. A result can therefore come out stricter than a visitor experiences, and milder than an agent from another network experiences.
No judgement on content
Whether your copy convinces, whether your offering fits the person searching, whether your brand appears in model answers at all: none of that is in here. That is the question of visibility and citability, and it has a different report.
A snapshot
Bot rules, CDN settings and consent tools change without a deploy. Today’s figure says nothing about the state in four weeks. Repeated measurement is part of the work, not an extra.
Why this is not the same as SEO
Our SEO and GEO checker rates content and visibility: keywords, rankings, how citable you are in AI answers. This check rates the surface underneath. A site can be excellent in substance and still useless to agents, because the firewall turns them away or the text only appears after consent. The two results complement each other, they do not replace each other.
Frequently asked questions
What exactly does Is-Agentic EU measure?
Why does my site get a different grade here than from a US tool?
How is the number arrived at?
What is the difference between the standard run and the deep run?
What happens during the observed agent run?
Is any data from my site stored?
Does the check put load on my server?
Can I check domains that are not mine?
The findings are the starting point, not the result.
We implement the items that move your score, then measure again.