Skip to content
uxdesign
coach.
Get a UX review
← Agent-friendly websites

Agent-friendly websites

Agent-Friendly Website UX: A Practical Audit Checklist

A practical UX guide to agent-friendly websites: accessible controls, clear states, llms.txt, task testing and a worked booking-flow example.

UX Design Coach · Published · Updated · 8 min read

UX Design Coach guide: A successful handoff. Illustrated example, not a measured result.
Original explanatory graphic. The worked scenario is fictional; it is not a client result or performance claim.
In this guide
  1. What should you improve first?
  2. What to build—and what each layer does
  3. Map the journey across three representations
  4. Worked example: the consultation that was never booked
  5. Write a test script a designer can score
  6. The six-step implementation
  7. A short llms.txt you can adapt
  8. If you need an API, start with a read
  9. A better audit prompt
  10. Test what happened, not what the assistant says happened
  11. Avoid the shortcuts that create new problems
  12. Questions worth answering
  13. Put one improvement to work
  14. Sources and editorial notes
  15. Continue with the right practical resource
  16. Sources and further reading

What should you improve first?

The design deliverable is a clear interaction contract. Identify what the visitor can do, what changes after each action, and what evidence confirms success. A booking interface that says “Done” before the server saves a reservation fails that contract for people and agents alike. A short llms.txt file cannot compensate for an ambiguous confirmation state.

A person can infer that a pale rectangle is a button, dismiss a floating promotion, and remember a price from the previous screen. An agent may lose the thread at any of those points. Designing for delegated browsing starts with the same question as any usability study: can this visitor understand what is happening and reach the intended outcome?

The practical answer

The design deliverable is a clear interaction contract. Identify what the visitor can do, what changes after each action, and what evidence confirms success. A booking interface that says “Done” before the server saves a reservation fails that contract for people and agents alike. A short llms.txt file cannot compensate for an ambiguous confirmation state.

What to build—and what each layer does

LayerUseful jobWhat it does not establish
Readable, accessible pagesExplain the offer and make the next action understandable.That an agent will interpret every detail correctly.
A short llms.txtProvide a concise map for clients that use it.Permission, universal adoption or a search ranking boost.
Documented read-only dataReturn structured facts for a defined task.That those facts are fresh or safe without maintenance.
Optional MCP integrationExpose capabilities to compatible clients.Automatic discovery, authorization or reliable outcomes.

Choose the layer that solves the observed problem. llms.txt proposal and format describes the file convention; OpenAPI specification describes HTTP API contracts; Model Context Protocol architecture explains MCP’s client/server architecture. These are different responsibilities.

Map the journey across three representations

Review the rendered screen, DOM and accessibility tree. Locate the service name, price, eligibility, duration, primary action and validation message in each. A visible label should agree with the accessible name. Use a native link for navigation and a button for an action; associate form labels with their inputs. Keep layout stable while the agent decides where to act. Accessibility testing remains a human-centered practice; an agent passing a task is not proof of WCAG conformance.

Worked example: the consultation that was never booked

Illustrative scenario: Harbor Design Studio offers a 30-minute introduction. The original screen shows an unlabeled calendar icon and a “Continue” button. The redesign gives the control the name “Choose an introduction time,” displays the selected date and time zone, and labels the last action “Request this time.” After a successful response, it displays a request reference and explains whether confirmation is pending. Test that an agent describes the state as a request, rather than a guaranteed appointment.

Write a test script a designer can score

Ask the agent to locate the introduction, identify the cancellation terms, choose a hypothetical time in a test environment, and stop at review. Record the exact point of failure. Score price accuracy, policy accuracy, correct control selection and honest state reporting separately. Repeat with keyboard navigation and a screen reader. Fix the highest-impact shared obstacle before adding an agent-specific integration.

The six-step implementation

Six steps: Choose a journey: Define the visitor’s goal.; Inspect the interface: Compare screen, DOM and labels.; Fix ambiguous states: Name actions and confirmations.; Publish a short map: Link the useful public pages.; Run a fresh test: Observe without coaching.; Retest with people: Preserve accessible human use.
Use the sequence as a working checklist. Each step produces something you can inspect.
  1. Choose a journey. Define the visitor’s goal.
  2. Inspect the interface. Compare screen, DOM and labels.
  3. Fix ambiguous states. Name actions and confirmations.
  4. Publish a short map. Link the useful public pages.
  5. Run a fresh test. Observe without coaching.
  6. Retest with people. Preserve accessible human use.

A short llms.txt you can adapt

This is an illustrative template. Replace every example.com URL with an existing public page on your own domain. Check the content, not just the link. If your site has no public API, leave API instructions out. Do not publish placeholder endpoints, private URLs, access tokens or customer information.

# Harbor Design Studio

> Find a suitable introductory consultation, explain its conditions, and stop before submitting a booking.

## Useful pages
- [Main information](https://example.com/services/): The current offering and relevant details.
- [Conditions and process](https://example.com/booking/): Eligibility, limitations and how the process works.
- [Next step](https://example.com/policies/): The official route for a person to continue.

## Boundaries
This example does not support automated purchases or bookings.
Use the linked pages for current facts; ask when information is missing.

Serve the file at your site root when your hosting setup supports it. In a typical static build, that means placing it in the directory copied to the public root. Verify the deployed URL: a local file alone is not a published file. If your platform already generates one, inspect and maintain that version instead of creating conflicting instructions.

If you need an API, start with a read

The following is a proposed contract, not an endpoint installed on this site. Choose fields that answer the task, document their types and meaning, and return only information you intend to make public. Include a source URL and an update signal where useful. A checked date records a review; it does not guarantee the underlying data is current.

GET https://example.com/api/v1/services
Accept: application/json

{
  "example": true,
  "checked_at": "2026-11-11",
  "items": [{
    "id": "intro",
    "name": "Introductory service",
    "pricing_basis": "Request a current quote",
    "source_url": "https://example.com/services/",
    "available_actions": ["read_details"]
  }]
}

Define no-result and error behavior as carefully as success. Keep private data behind proper access controls. For future actions that change records or spend money, design authentication, authorization, explicit confirmation and duplicate-action protection separately. OWASP API Security Project provides a useful security review starting point.

A better audit prompt

Use an assistant with browsing or request capabilities. If it cannot access the site, it should report the limitation; a fluent response is not proof of inspection.

Review this public website: [URL]. Task: Find a suitable introductory consultation, explain its conditions, and stop before submitting a booking.

Use browsing or request tools if available; if unavailable, say what you cannot verify. Inspect the relevant public pages and /llms.txt. Record the URLs you actually fetched and the facts you found. Do not infer success from a 200 response alone. Separate observed facts, missing information and suggested changes. Do not sign in, submit forms, change data, add to a cart or purchase.

Draft a concise llms.txt using only verified public URLs. Include an API example only if a documented public endpoint exists and its read operation is appropriate to test. Do not invent endpoints. Rank the three most useful fixes by customer impact and effort. Explain how to retest each one.

Test what happened, not what the assistant says happened

TestEvidence to keepA passing result
Retrieve the mapFinal URL, status, content type and response body.The actual text file appears; no login page or application shell.
Follow its linksThe final destination and the relevant source facts.Useful pages resolve and match the stated purpose.
Try the customer taskExact prompt, tool capability, answer and cited URLs.Required facts and next step are correct.
Ask an unsupported questionThe answer and what the source actually says.The assistant names the limit rather than inventing a capability.
Repeat after a changeSource version, date and all attempted runs.Any improvement is reproducible within the tested setup.

Measure for this site’s use case: Task completion, wrong-control selections, recovery steps and confirmation accuracy. Record sample size and exact agent capability.

Run a baseline before editing. Use fresh sessions and keep the prompt and available tools comparable. Include failed attempts in your denominator. Record whether you explicitly told the agent about llms.txt; that is different from observing spontaneous discovery. A scanner is a diagnostic aid, not a certification.

Avoid the shortcuts that create new problems

  • Do not replace readable pages with machine-only content. People still need to evaluate the offer.
  • Do not treat robots.txt or llms.txt as authentication. Protect private routes with real access controls.
  • Do not tell every crawler it may access everything merely to improve a score.
  • Do not duplicate prices and policies into several files without an update process.
  • Do not claim a successful booking, lead or sale from a generated answer. Verify the actual system result.

For interface implementation, consult Google web.dev: agent-friendly website UX and W3C: labeling form controls. Preserve descriptive controls, meaningful form labels and visible state changes. Agent testing complements human usability and accessibility testing.

Questions worth answering

Will llms.txt improve Google rankings?

No ranking benefit is established by adding this file. Google’s current guidance says it does not use llms.txt for Search visibility. Treat the file as an optional usability aid for clients that consume it; keep ordinary SEO work and task testing separate.

Do I need MCP or Markdown copies of every page?

Not for every project. Start with the smallest interface the task requires. Add Markdown resources or a compatible tool integration when there is a clear consumer and maintenance plan. Check platform support rather than assuming all assistants behave the same way.

Can I use this without coding?

Yes. You can clarify public pages, check links and run the task exercise with your existing website editor and assistant. Publishing a root file depends on the host. A public API requires additional implementation; ask for help if that is outside your skills.

How often should I review it?

Review whenever an offering, policy, route or API contract changes. Assign an owner. Frequently changing prices or stock need stronger freshness controls than a static guide.

Search guidance: Google Search: optimizing for generative AI. Documentation reviewed November 11, 2026. Provider behavior can change; recheck the linked sources when implementing.

Put one improvement to work

Start with this task: Find a suitable introductory consultation, explain its conditions, and stop before submitting a booking. Save the baseline, make one justified improvement and keep the retest evidence. Use the result to choose the next useful change.

Explore UX worksheets →

Sources and editorial notes

This guide combines primary-source documentation with original implementation advice and a fictional worked example. It is not a report of measured client results, guaranteed traffic or earnings. The examples use reserved example.com URLs and must be adapted and verified before deployment.

Sources and further reading

Sources checked November 11, 2026. Review the linked publisher information for current details.