Features

An AI-ready website, compiled on every publish

What an AI agent sees when it visits a Laarpi site, how it finds the agent door, why the door is compiled from the same source as the site instead of bolted on, and the readiness score that checks it.

Updated

Every Laarpi site ships an agent door. On every publish, Laarpi compiles the agent-facing version of the site from the same source as the human one: a plain index, a Markdown copy of every public page, structured data, tools for the forms and the rules that let crawlers in. There is nothing to configure, and it comes with every plan.

It matters because people are no longer the only visitors. Assistants answer questions about businesses, browsing agents fill in forms for the person who asked them, and AI crawlers decide what a site is about from what they can parse. The agent door gives each of them a clean way in.

What an agent sees

What shipsWhat it isWho reads it
/llms.txtOne title, a one-line summary, then sections of links to each page's Markdown twinAssistants and agents that look for it before crawling
Markdown twinsA clean .md version of every public page, made from the same contentAgents that want the text without the layout
Discovery linksrel="describedby" pointing to llms.txt and rel="alternate" type="text/markdown" on each page, in the HTML and as HTTP Link headersAnything that reads the first response
JSON-LDOrganization, plus Service, FAQPage or Product, in the HTML the server sendsSearch engines and answer engines
Form toolsEach form registered as a WebMCP tool, with its fields describedBrowsing agents, where the browser supports it
Agent card/.well-known/agent-card.json, describing the same tools under the same namesAgents deciding what the site can do
robots.txtAllows the main AI crawlers on public pathsCrawlers, before anything else

The llms.txt follows the llms.txt proposal: an H1 with the site's name, a blockquote summary, and H2 sections of links. Actions get their own section. For a fictional ceramics studio it reads like this:

# Field Notes Ceramics

> A two-person stoneware studio in Porto. Commissions open twice a year.

## Pages

- [Work](work.md): tableware made for six restaurants
- [Studio](studio.md): who we are, the kiln, visiting hours

## Actions

- [Commission request](commission.md): what to send and what happens next

How agents find the door

An agent that fetches the homepage gets the way in from the very first response, without running any JavaScript. The describedby link points to llms.txt, each page names its Markdown twin, and the hosting sends the same links as HTTP headers, so even a client that never parses the HTML can follow them.

The structured data is part of the HTML the server sends. It is never added later by a script, because many crawlers don't run scripts, and a Product price that only appears after JavaScript is a price they never see. On a store, that price is the same number the page shows and the checkout charges.

Forms agents can use

A browsing agent asked to "book a studio visit for Saturday" usually has to find the form, guess which field is which and hope the button does what it says. On a Laarpi site, each form also registers as a tool through WebMCP, a draft from the W3C's Web Machine Learning Community Group with editors from Microsoft and Google. The tool has a name, a description and typed fields, and the agent card lists the same tools under the same names.

WebMCP is still a draft and browser support is arriving gradually, so the tools are registered only where the browser offers the interface. Everyone else gets the same form, unchanged. A tool submission runs the same validation and lands in the same place as a person's: your Supabase table, if you have connected a backend. Tools that spend money or book time are flagged as consequential, so an agent knows not to treat them like a search box.

Why compiling beats retrofitting

Most sites get their agent layer added afterwards: an llms.txt written by hand once, a JSON-LD snippet pasted into the head, a plugin that crawls the site and guesses. Every one of those copies starts going stale the day the site changes. The price on the page moves and the structured data keeps the old one. A page is renamed and llms.txt still links the old address.

Laarpi builds both doors from one source in one build. The pages, the Markdown twins, the llms.txt links, the structured data and the form tools all come from the same content at the same moment, so they can't disagree. Republish after a change and the agent door changes with it. Because Laarpi writes the site in the first place, it knows what each form is for and what each page says, so nothing has to be inferred from the rendered page.

The readiness score

One score checks the door on every publish. SI, Laarpi's agent, checks it as part of reviewing its own work, and the score appears in Publish. It passes only when:

  • a plain HTTP fetch of the homepage returns the describedby link;
  • /llms.txt parses, and every Markdown page it links returns 200;
  • the JSON-LD is in the HTML source, not added by a script;
  • the form tool names match the agent card;
  • a republish updates both doors in the same build;
  • no bot wall or challenge blocks public pages.

That last check matters if you put your custom domain behind a proxy or firewall: a challenge page shown to every crawler fails the score, because it hides the whole door.

What changes by site type

  • Service sites (the default) get everything above, with Service structured data and FAQPage where the site has questions and answers.
  • Online stores get Product structured data and Open Graph, with prices that match the Polar checkout. llms.txt still ships, but for a store the product data does the heavy lifting.
  • Documentation sites lean on llms.txt and the Markdown twins, with section indexes when the site is large.

What it does not do

  • It doesn't promise rankings. Google's documentation on AI features says no special AI files are needed to appear in them. The door helps agents that read it and keeps the server HTML clean for everyone else.
  • It doesn't publish one giant file by default. There is no llms-full.txt by default.
  • It doesn't let agents pay on their own. Payments go through the Polar checkout, with a person at the end of it.
  • It doesn't open private pages. The door covers public paths only. Members-only content stays behind sign-in.

How to get it

Publish. The door is part of every Laarpi site on every plan, so there is nothing to ask for. Describe the site, direct it in plain words, and see the rest of the flow on how it works or the plans on pricing.

Questions

Fair questions

What makes a website AI-ready?

An agent can find a plain description of the site, read each page without running JavaScript, understand what the business is from structured data, and use the forms as defined tools instead of guessing at buttons. On a Laarpi site that means llms.txt, a Markdown twin of every public page, discovery links, JSON-LD in the server HTML, form tools, an agent card and a robots file that lets the main AI crawlers in.

Do I have to set anything up?

No. The agent door is compiled on every publish, on every plan, Free included. There is nothing to switch on and no file to write by hand.

Will llms.txt improve my Google ranking?

Nobody can promise that, and we don't. Google's Search documentation says you don't need new machine-readable files or AI text files to appear in its AI features. llms.txt and the Markdown twins are for the agents and tools that do read them. The structured data and the readable server HTML help ordinary search as well.

Can an agent submit my forms or buy something on its own?

Where the browser supports WebMCP, each form registers as a tool, and a submission goes through the same validation and lands in the same place as a person's. Anything that spends money or books time is flagged as consequential. Laarpi does not offer autonomous checkout: payment still happens in the Polar checkout.

What happens when I change the site?

Republishing rebuilds both doors in the same build. llms.txt, the Markdown twins, the structured data and the form tools come from the same source as the pages, so a changed price, a new page or a renamed form shows up for agents at the same moment it does for people.

Which AI crawlers does the robots file allow?

GPTBot, ClaudeBot, PerplexityBot and Google-Extended are allowed on public paths. Google-Extended is a robots token rather than a separate crawler: it tells Google whether content it crawls may be used for its Gemini models, while Google's existing crawlers do the fetching.

Related

Start building

Describe the site in a sentence. It asks what matters, then designs and builds it from scratch.

One sentence is enough.