Sydney real estate agency
partially ready
Agent-readiness score out of 100: 46 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.
The scanner found no way in at all on this page: no form, no booking widget, and no phone link. An agent that lands here has nothing to press and nothing to fill.
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
10
Whether an agent is allowed in at all, and whether the site tells it where things are.
Fail: robots.txt disallows all crawling — agents are locked out entirely
Allow crawling for the paths that hold your services and booking pages.
Pass: Sitemap found
Pass: llms.txt present — you're describing the site to language models
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
15
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)
Pass: Business entity type declared
Warning: No machine-readable opening hours
Agents booking 'today' need openingHoursSpecification.
Pass: Phone in structured data
Pass: Address in structured data
Note: No Service/Offer entities
List your services as Service entities with areaServed.
Action affordances
5
Whether there is anything on the page an agent could act on: a booking widget, a form, a number.
Fail: No booking, quote or contact form detected — there is nothing for an agent to complete
Add at least one clean quote or booking form: every field labelled and named, a real submit control, and no CAPTCHA in front of it.
Warning: No [contact removed] link — phone number is not machine-actionable
Wrap your phone number in a [contact removed] link.
Form quality
10
Whether the forms are built so software knows what goes in each box and can press send.
Fail: Only 1/5 fields have labels — agents can't tell what goes where
Bind a <label for> or aria-label to every field.
Warning: Some fields lack name attributes
Unnamed fields can't be submitted programmatically.
Warning: Fields are generic text inputs
Use type=email/tel/date so agents format values correctly.
Pass: Autocomplete attributes present
Pass: Real submit control present
Pass: 3 field(s) marked required
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
11
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.
Allow crawling for the paths that hold your services and booking pages.
Publish /.well-known/ai-catalog.json listing your endpoint and the actions you offer.
Agents booking 'today' need openingHoursSpecification.
List your services as Service entities with areaServed.
Add at least one clean quote or booking form: every field labelled and named, a real submit control, and no CAPTCHA in front of it.
Wrap your phone number in a [contact removed] link.
Bind a <label for> or aria-label to every field.
Unnamed fields can't be submitted programmatically.
Use type=email/tel/date so agents format values correctly.
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 | 5 | 58 | 1 of 5 |
| Clinics | 5 | 47.6 | 0 of 5 |
| Real estate — the vertical this site was scanned in | 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.