Skip to main content

The Nine Signals

Structured data

Whether your site states business facts in valid schema.org markup that matches the visible page.

SignalStructured data
What it checksSchema coverage, type choice, property completeness, validation, and page parity
MovesCitation confidence, Answerability
Fix cardWebsite has limited schema
VerifyValidate and re-run check
At risk
Needs work
Strong
04070100

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

  1. Choose the most specific type. Use Restaurant, Dentist, LegalService, RealEstateAgent, AutomotiveBusiness, or another precise subtype when it fits.
  2. Use stable entity IDs. Give each location a stable @id, usually the canonical location URL plus a fragment such as #business.
  3. Mirror visible facts. Do not mark up hidden, stale, exaggerated, or contradictory claims.
  4. 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 check

Research basis: docs/research/deep-research-report(10).md