Sydney air-conditioning installer
partially ready
Agent-readiness score out of 100: 64 out of 100.
An AI agent can read this site. It cannot reliably finish a job here — the ways in are built for a person with a mouse, not for software.
01
What an agent can actually do here
Every way in the scanner found on the page it fetched, and whether software could drive it. This is the part of the report that decides whether a customer sent by an agent becomes a job.
Contact form
Not yet agent-callable
Blocked by
- a CAPTCHA on this page blocks legitimate agents
Contact form
Not yet agent-callable
Blocked by
- a CAPTCHA on this page blocks legitimate agents
Contact form
Not yet agent-callable
Blocked by
- a CAPTCHA on this page blocks legitimate agents
Contact form
Not yet agent-callable
Blocked by
- 4 of 9 field(s) have no label — an agent cannot tell what goes where
- a CAPTCHA on this page blocks legitimate agents
Phone link
Not yet agent-callable
Blocked by
- a phone number hands off to a human — it is not an action an agent can complete
02
Where the score came from
Five categories, twenty points each. Each one is a different way an agent tries to understand a site, and each one is scored on what the page actually publishes rather than on how it looks.
Crawlability & discovery
12
Whether an agent is allowed in at all, and whether the site tells it where things are.
Pass: robots.txt present and does not lock agents out
Pass: Sitemap found
Note: No llms.txt
Add /llms.txt summarising your services, areas and how to book.
Fail: No ARD catalog — the June 2026 discovery standard agents check first
Publish /.well-known/ai-catalog.json listing your endpoint and the actions you offer.
Pass: Canonical URL declared
Structured data
20
Whether the business facts — trade, hours, phone, address, services — are published in a form software can read, rather than only drawn on the page.
Pass: JSON-LD present (WebSite, LocalBusiness,HVACBusiness, Service, Corporation)
Pass: Business entity type declared
Pass: Opening hours in structured data
Pass: Phone in structured data
Pass: Address in structured data
Pass: Services/offers described
Action affordances
14
Whether there is anything on the page an agent could act on: a booking widget, a form, a number.
Pass: 4 action form(s) found: contact, contact, contact, contact
Warning: contact form is not agent-callable yet — a CAPTCHA on this page blocks legitimate agents
Fix the items above and this form becomes an action an agent can complete.
Warning: contact form is not agent-callable yet — 4 of 9 field(s) have no label — an agent cannot tell what goes where; a CAPTCHA on this page blocks legitimate agents
Fix the items above and this form becomes an action an agent can complete.
Pass: Clickable phone number present
Form quality
12
Whether the forms are built so software knows what goes in each box and can press send.
Fail: Only 33/43 fields have labels — agents can't tell what goes where
Bind a <label for> or aria-label to every field.
Pass: Fields have name attributes
Pass: Semantic input types in use (email/tel/date)
Note: No autocomplete attributes
autocomplete='name|email|tel' tells agents exactly which value belongs in each field.
Pass: Real submit control present
Pass: 15 field(s) marked required
Warning: CAPTCHA detected on this page
A CAPTCHA stops a customer's agent exactly as well as it stops a bot, and an agent will not attempt one. Any action behind it is closed to agents.
Agent interface (WebMCP/MCP)
6
Whether the site publishes any of the 2026 agent standards — WebMCP, an MCP endpoint, an ARD catalog — or leaves an agent to scrape and guess.
Fail: No WebMCP — agents must scrape and guess instead of calling declared actions
Expose your booking and quote actions as WebMCP tools on navigator.modelContext.
Fail: No persistent MCP endpoint — nothing for agents to call when the page isn't open
Host an MCP endpoint for your actions, so an agent can call them when nobody has the page open.
Pass: Semantic landmarks and headings present
Pass: Images carry alt text
03
The fix list
8
Everything the scanner found that has a named remedy, in the order the score reads them. These are instructions for whoever maintains the site. They are free, and they are the whole list — nothing is held back.
Add /llms.txt summarising your services, areas and how to book.
Publish /.well-known/ai-catalog.json listing your endpoint and the actions you offer.
Fix the items above and this form becomes an action an agent can complete.
Bind a <label for> or aria-label to every field.
autocomplete='name|email|tel' tells agents exactly which value belongs in each field.
A CAPTCHA stops a customer's agent exactly as well as it stops a bot, and an agent will not attempt one. Any action behind it is closed to agents.
Expose your booking and quote actions as WebMCP tools on navigator.modelContext.
Host an MCP endpoint for your actions, so an agent can call them when nobody has the page open.
04
How this compares
The same scanner, the same day, run over a sample of Sydney service businesses found the way a customer’s agent would find them: plain searches for a plumber, a physio and a real estate agent. Nobody was screened for looking bookable.
| Vertical | Sites | Mean | Agent can complete |
|---|---|---|---|
| Trades — the vertical this site was scanned in | 5 | 58 | 1 of 5 |
| Clinics | 5 | 47.6 | 0 of 5 |
| Real estate | 5 | 31.4 | 0 of 5 |
05
What this report is, and what it is not
It measures one page, fetched once, read-only.
The scanner requested the page and read the HTML it was handed. It did not run scripts, click anything, fill a field or submit a form, and it did not crawl the rest of the site. A site with a booking flow two clicks deep scores as if it were not there — because that is what an agent reading the fetched page gets.
It understates most sites, and we know by how much.
Opening the same sample in a real browser — rendering, waiting for scripts, clicking, following a link — reached actions a fetch of the entry page could not see, on almost every site in it. Discovery is not the wall. The wall is the CAPTCHA and the consent tick at the end of the form.
It is version 0.1 of an instrument, not an audit.
The scanner is early and its known defects are recorded in the repository rather than in a footnote. Treat a category score as a direction, not a verdict, and treat the fix list as the useful part.
Frontlatch cannot fix this site today.
The hosted layer that would make these actions callable — the gateway, the owner verification in front of it, the routing behind it — is being built and is not running. What exists today is the measurement you are reading. Anything else you are told about it, ask for a demo of.
No action would ever fire without the owner turning it on.
When that layer does exist, no live action runs on a business that has not verified that action type itself, set its own limits and connected its own notifications. Test mode is the default. That is a design rule, not a policy page.