Why structured data matters for AI
Search engines and AI assistants can read your page text, but text is ambiguous. JSON-LD structured data, written in the schema.org vocabulary, states your details in a format machines parse the same way every time. It powers rich results on Google and gives assistants confident facts to quote.
Pick the most specific type
Use the most specific schema.org type that fits: Plumber, Dentist, Restaurant, AutoRepair, BeautySalon, LegalService and so on. If nothing fits, use LocalBusiness. Businesses without a public location can use Organization with areaServed.
The properties that matter
| Property | Priority | Notes |
|---|---|---|
name | Required | Exactly as on your Google Business Profile |
address | Required for local | A PostalAddress with street, city, region, postal code, country |
telephone | Recommended | International format, such as +1-626-555-0142 |
url, logo, image | Recommended | Absolute URLs |
openingHoursSpecification | Recommended | Days with opens and closes times |
geo | Recommended | Latitude and longitude to five decimals |
priceRange | Optional | Such as $$ or "$89 to $400" |
sameAs | Recommended for AI | Links to your Google, Yelp, Facebook, Instagram and LinkedIn profiles |
areaServed | Optional | Cities or regions you cover |
A working example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Valley Flow Plumbing",
"url": "https://valleyflow.com/",
"telephone": "+1-626-555-0142",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Example Ave",
"addressLocality": "Covina",
"addressRegion": "CA",
"postalCode": "91723",
"addressCountry": "US"
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
"opens": "07:00", "closes": "19:00"
}],
"areaServed": ["Covina", "West Covina", "Glendora"],
"sameAs": ["https://www.yelp.com/biz/example"]
}
</script>
Add FAQ markup for answer-ready content
If your page answers common questions, mark them up with FAQPage. Google limits FAQ rich results to certain sites, but the markup still gives AI tools clean question and answer pairs. Only mark up questions and answers that are visible on the page.
How to test it
- Paste your page URL into Google's Rich Results Test and fix any errors.
- Check the Schema.org validator for warnings about unknown properties.
- Run our AI Visibility Scanner to confirm the business entity, phone, address and hours are detected.
Generate valid JSON-LD with a completeness check.
Open the Schema Generator