The Nine Signals
Structured data
Whether your site states business facts in valid schema.org markup that matches the visible page.
What it measures
Structured data measures whether the site gives machines a clean, parseable statement of the business entity and its facts. For most local businesses, that means LocalBusiness or a more specific subtype, plus fields such as name, address, telephone, url, geo, openingHoursSpecification, areaServed, and linked Service entities where appropriate.
The research is clear on the limitation: schema does not guarantee recommendation. Its strongest role is lowering ambiguity and raising extractability when the same facts also appear in visible content.
Why it moves your EAC
Schema helps crawlers and retrieval systems attach the right facts to the right entity. It can clarify who the business is, where it operates, what it offers, which profiles represent it, and how the user can contact it.
When markup is absent, incomplete, or contradictory, the assistant has to infer from prose and profiles. That weakens citation confidence and can also damage profile consistency.
What the agent sees
Weak read
The page mentions services and location in prose, but no structured entity ties name, phone, hours, address, and service area together.
Strong read
The page exposes one stable local business entity, valid hours, contact points, service area, and sameAs profile links that match the visible page.
How to improve
- Choose the most specific type. Use
Restaurant,Dentist,LegalService,RealEstateAgent,AutomotiveBusiness, or another precise subtype when it fits. - Use stable entity IDs. Give each location a stable
@id, usually the canonical location URL plus a fragment such as#business. - Mirror visible facts. Do not mark up hidden, stale, exaggerated, or contradictory claims.
- Validate both syntax and semantics. Check JSON-LD validity, required fields, recommended fields, visible-content parity, and profile parity.
{
"@context": "https://schema.org",
"@type": "LegalService",
"@id": "https://example.com/locations/torrance#business",
"name": "Torrance Criminal Defense Lawyer",
"url": "https://example.com/locations/torrance",
"telephone": "+1-310-555-0100",
"areaServed": ["Torrance, CA", "San Pedro, CA", "Los Angeles Harbor"],
"serviceType": ["Criminal defense", "DUI defense"],
"address": {
"@type": "PostalAddress",
"addressLocality": "Torrance",
"addressRegion": "CA"
}
}
How to verify
Did schema change the assistant read?
Validate the markup, deploy it, then re-scan. The report should move only when the assistant reads the fact more clearly.
Re-run checkResearch basis: docs/research/deep-research-report(10).md