## Summary Follow-up to PR #12 / Lighthouse agentic-browsing audit on `/contact` (score 0.88). - Add `toolparamdescription` to all contact form fields for WebMCP schema validity - Move reCAPTCHA outside the annotated `<form>` so `g-recaptcha-response` is excluded from the declarative tool schema - Always render `toolname` / `tooldescription` on the contact form (not gated by `WEBMCP_ENABLED`) - Override `django_recaptcha/widget_v3.html` to associate captcha with `form="contact-form"` - Update docs with HTTPS Lighthouse commands ## Test plan - [x] `python manage.py test public.tests` — 21 tests pass - [ ] Deploy and re-run Lighthouse agentic-browsing on `https://aimloperations.com/contact` - [ ] Confirm `webmcp-schema-validity` passes (expected overall score 1.0) Reviewed-on: #13
2.6 KiB
2.6 KiB
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:
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 (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_inquiryvia declarative form annotations (toolname,tooldescription,toolparamdescription); reCAPTCHA renders outside the annotated form - Default is disabled (
WEBMCP_ENABLED=False) until deliberately enabled per environment
Full tool catalog, Chrome flag setup, and reCAPTCHA notes: docs/webmcp.md
Regression checklist
Before merging public-facing template or CSS changes:
- Contact form fields have associated
<label>elements (not placeholder-only). - Nav dropdowns use
<button>triggers witharia-expanded/aria-haspopup. - Cookie consent banner stays
position: fixed(no document flow shift). GET /robots.txt,/sitemap.xml,/llms.txtreturn 200.- With
WEBMCP_ENABLED=True, public pages includewebmcp-configandwebmcp-tools.js; contact form always hastoolname,tooldescription, andtoolparamdescriptionon fields. - Re-run Lighthouse agentic-browsing on homepage and contact page (Chrome experimental flag on).
References
- Lighthouse Agentic Browsing audit overview
- llms.txt proposal
- WebMCP tool catalog
- Gitea issue #5 (foundational), issue #9 (WebMCP)