# Ready for AI agents

More and more people ask an AI assistant before they open a search engine, and
the assistant sends an agent to read the web for them. Whether that agent finds
you, reads you correctly and can act on what it reads is a property of your
website or app, and it can be engineered and checked like any other. We do that
work, and this site is the worked example.

## Found: every page, on purpose

An agent starts where a [crawler](/glossary/#crawler) does: the
[robots.txt](/glossary/#robots-txt) file, the [sitemap](/glossary/#sitemap) and
the search indexes. We make the robots file state a decision rather than an
accident. This site's says, in the Content Signals vocabulary, that search,
AI answers and training are all allowed — yours may say no to training, and what
matters is that it says something. Every page is in the sitemap with the date it
last changed, taken from its history, and every deploy announces what changed
through IndexNow, so the engines that take part hear of a new page the day it
ships rather than at their next visit.

## Read: the text, not the furniture

A page built for eyes is mostly navigation, script and layout, and an agent that
pays for every word it reads pays for all of it to reach the paragraph it came
for. Every page here has a [Markdown](/glossary/#markdown) twin at the same
address: add `index.md`, or ask for `text/markdown` and the server answers in
kind. `llms.txt` is a map of the whole site written for a language model,
`llms-full.txt` is the site in one file, and every page carries
[structured data](/glossary/#structured-data) that names the company, its
services and where the page sits among the others.

## Usable: able to act, not only to read

Many agents that work a browser read a page the way a
[screen reader](/glossary/#screen-reader) does, through its accessibility tree.
The work that makes a site usable without a mouse — real buttons, labelled
forms, headings in order, [landmarks](/glossary/#landmark) — is the same work
that lets an agent find the form and fill it in. This site answers every
criterion of [WCAG](/glossary/#wcag) 2.2 AA in writing. For an application,
usable means a described API: an [OpenAPI](/glossary/#openapi) document, an MCP
server where agents should call it directly, and the OAuth metadata that lets an
agent act for a user without a password changing hands.

## A decision on every recommendation

New proposals for agents arrive faster than they settle, and a scanner will
report every one of them missing. We classify each finding rather than obey it:
what it does, who reads it, and what it costs to keep true. On this site that
meant declining five. One robots rule for every agent rather than one per agent,
because a rule written for one crawler silently replaces the general one for it.
No API catalogue and no OAuth metadata, because there is no API. No agent card
and no commerce file, because there is nothing here for an agent to call or buy.
A client gets the same thing: a list of what to add, and a list of what to leave
alone, each line with its reason.

## Check it from your own browser

Nothing on this page has to be taken on trust. Read [robots.txt](/robots.txt),
[llms.txt](/llms.txt), [agents.txt](/agents.txt) and [ai.txt](/ai.txt), or open
[this page as Markdown](/ai-ready/index.md). The build reads every twin for
leftover markup and every sitemap date against the page's history, and it
refuses to publish when either is wrong — so the half of this site that agents
read cannot quietly fall behind the half that people do.

## How an engagement runs

It starts read-only. We look at what agents get from you today — the robots
file, the sitemap, the text behind the layout, the structured data, the
accessibility tree and, for an application, the API — and hand you the findings,
each with a decision and its reason. The changes are then made in your
repository, through your review, with checks that fail the build when a page
stops being readable, so the work does not decay once we leave. It is bought
like the rest of our work, on the terms in [what it costs](/what-it-costs/).

If you want agents to find you, read you right and get things done for the
people who sent them,
[tell us what you run](/contact/) *(we answer the same day)*.

<https://engineer.company/ai-ready/>
