Fewer than half. Across the 2,528 small-business websites in our scan corpus, 46% had structured (schema.org) business data on the homepage. The rest give an AI assistant nothing machine-readable to quote — no marked-up name, address, phone number or opening hours — so an answer about them has to be assembled from loose prose, if it gets assembled at all.
The average hides a wide spread. Sectors that live on bookings and listings mark up more: travel businesses led the corpus at 71%, gyms at 67%, restaurants at 60%. Professional practices sat mid-table — lawyers at 57%, dentists at 56%. At the bottom, florists were at 16% and uncategorised local businesses at 11%. Every cut with at least 30 sites is published in the AI-visibility directory.
These figures count markup that is present. A separate and common failure is markup that exists but is empty — a LocalBusiness block with an address field containing an empty string. A crawler cannot quote an empty string, so our scan reads the seven fields AI answers are built from — name, address, telephone, opening hours, geo, price range and url — and reports each one as populated or not. Empty markup is reported as what it is: missing.
Add one JSON-LD block to the homepage with the fields a local business should have: name, a full postal address, telephone, opening hours, url and a one-sentence description. Keep it in the served HTML — markup injected by JavaScript is invisible to the crawlers that matter — and keep it valid, because a single trailing comma makes the whole block unreadable and crawlers discard it silently. The free scan reads your markup field by field and tells you which of the seven fields are actually populated.
It is an opening. If your site is in the 46% with populated markup you are ahead of most local competitors on the one signal AI assistants can quote directly; if not, adding one valid JSON-LD block moves you past the majority of the sites we measured.
Travel, at 71% of the 38 travel sites in our corpus — followed by gyms at 67% and restaurants at 60%. The lowest were uncategorised local businesses at 11% and florists at 16%.
No. Markup makes your facts quotable; it does not make an assistant choose you. It removes the most common structural reason for being unquotable, which is a different claim.
Each of the 2,528 sites was fetched once, as an AI crawler fetches it — raw HTML, no JavaScript — and the scan recorded whether schema.org business data was present in that HTML. Aggregates only ever cover groups of 30 sites or more, and no individual business is named.
Where does your site stand? The scan is free, takes about 60 seconds, and needs no account. It fetches your homepage exactly the way GPTBot, ClaudeBot and PerplexityBot do and tells you what they receive.