Structured data and rich results
Structured data states the facts about your business in a format machines read without guessing: what you are, where you are, when you open, and what you charge.
What it is
Structured data is a block of machine-readable markup, usually JSON-LD in a script tag, that describes the page using the shared vocabulary at schema.org.
It does not change what a visitor sees. It exists so that search engines and assistants do not have to infer your opening hours from a sentence in a paragraph.
Why it matters
It is what makes rich results possible: star ratings, opening hours, prices and frequently asked questions shown directly in search results.
It has become considerably more important with AI answer engines, which prefer explicit machine-readable facts over prose they have to interpret.
How to fix it
- Add a LocalBusiness block, or the more specific type that fits, such as Plumber, Dentist or HairSalon.
- Include name, address, phone, opening hours, service area and the URL, and keep them identical to what appears on the page.
- Add FAQPage markup where you have genuine questions and answers.
- Validate with Google's Rich Results Test before and after publishing.
What good looks like
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Watson Plumbing",
"telephone": "+61 3 5300 0000",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Sturt Street",
"addressLocality": "Ballarat",
"addressRegion": "VIC",
"postalCode": "3350",
"addressCountry": "AU"
},
"openingHours": "Mo-Fr 07:00-17:00"
}
</script>
Common mistakes
- Marking up information that does not appear on the page, which breaches Google's guidelines.
- Inventing review ratings. Fabricated review markup risks a manual penalty.
- Leaving the details to drift out of date after a move or a phone number change.
Check your own site. ppclift checks this automatically on every page it audits. Run a free audit and see every check on one page, with no account required.