# Agentic Browsing Readiness

This site targets Google's experimental **Agentic Browsing** Lighthouse category (v13.3+), which checks whether AI agents can read, navigate, and act on public pages.

PageSpeed Insights does not yet expose this category. Run audits locally:

```bash
npx lighthouse@latest https://aimloperations.com \
  --only-categories=agentic-browsing \
  --chrome-flags="--enable-experimental-web-platform-features" \
  --output=html --output-path=agentic-browsing-report.html
```

Test at minimum:

- `/` (homepage)
- `/contact` (primary conversion page)

## What we ship

| Check | Implementation |
|-------|----------------|
| **llms.txt** | `GET /llms.txt` — machine-readable site summary |
| **robots.txt** | `GET /robots.txt` — crawl rules + sitemap reference |
| **sitemap.xml** | `GET /sitemap.xml` — public marketing URLs |
| **Accessibility tree** | Form labels, semantic nav controls, ARIA on dialogs |
| **Layout stability** | Fixed cookie banner, reserved hero/marquee space, font fallbacks |
| **WebMCP tools** | `navigator.modelContext` tools behind `WEBMCP_ENABLED` (see [webmcp.md](webmcp.md)) |

## WebMCP (issue #9)

When `WEBMCP_ENABLED=True`:

- Navigation tools (`list_services`, `get_page_content`, `navigate_to_service`, `open_contact_with_subject`) load on all public pages
- Contact page registers `submit_contact_inquiry` and annotates the HTML form with `toolname` / `tooldescription`
- Default is **disabled** (`WEBMCP_ENABLED=False`) until deliberately enabled per environment

Full tool catalog, Chrome flag setup, and reCAPTCHA notes: **[docs/webmcp.md](webmcp.md)**

## Regression checklist

Before merging public-facing template or CSS changes:

1. Contact form fields have associated `<label>` elements (not placeholder-only).
2. Nav dropdowns use `<button>` triggers with `aria-expanded` / `aria-haspopup`.
3. Cookie consent banner stays `position: fixed` (no document flow shift).
4. `GET /robots.txt`, `/sitemap.xml`, `/llms.txt` return 200.
5. With `WEBMCP_ENABLED=True`, public pages include `webmcp-config` and `webmcp-tools.js`; contact form has `toolname` when enabled.
6. Re-run Lighthouse agentic-browsing on homepage and contact page (Chrome experimental flag on).

## References

- [Lighthouse Agentic Browsing audit overview](https://locomotive.agency/blog/lighthouse-agentic-browsing-audit/)
- [llms.txt proposal](https://llmstxt.org/)
- [WebMCP tool catalog](webmcp.md)
- Gitea issue #5 (foundational), issue #9 (WebMCP)
