Structured data is code that describes the content of a page in a standard, machine-readable way. It tells search engines explicitly that "this is a product, its price is $129, it's in stock" or "this is a local business, open 8am–5pm, at this address". In return, pages can become eligible for rich results: enhanced search listings with things like product prices, breadcrumbs, event dates, recipe details or review stars. This lesson explains how structured data works, which types matter most, and how to implement and test it correctly.
What structured data is
Search engines are good at understanding text, but explicit labels remove guesswork. Structured data uses a shared vocabulary, schema.org, created by Google, Microsoft, Yahoo and Yandex and now maintained as a community project. Schema.org defines types (Organization, LocalBusiness, Product, Article, Event, FAQPage, BreadcrumbList and hundreds more) and properties for each type (name, address, price, datePublished and so on).
Formats
There are three formats, all supported by Google:
- JSON-LD: a block of JavaScript Object Notation in a script tag, separate from the visible HTML. Google recommends JSON-LD because it's easiest to add and maintain.
- Microdata: attributes added to HTML elements.
- RDFa: another attribute-based format.
A simple JSON-LD example for a local business:
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Smith Plumbing",
"url": "https://www.smithplumbing.com.au/",
"telephone": "+61 3 5200 0000",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Example St",
"addressLocality": "Geelong",
"addressRegion": "VIC",
"postalCode": "3220",
"addressCountry": "AU"
},
"openingHours": "Mo-Fr 07:00-17:00"
}
What structured data does and doesn't do
- It does help search engines understand your content and makes pages eligible for rich results and some other features.
- It does not directly boost rankings. Google has said structured data isn't a general ranking factor.
- Eligibility is not a guarantee. Google decides whether to show a rich result based on many factors, including the query, device and overall quality.
- Rich results can improve click-through rate, because the listing is more informative and takes up more space.
Common types for business websites
| Type | Use it for | Possible result |
|---|---|---|
| Organization | Your company: name, logo, URL, social profiles, contact | Helps knowledge panel and logo understanding |
| LocalBusiness (and subtypes like Dentist, Plumber, Restaurant) | Physical businesses: address, hours, phone, geo | Supports local understanding (Google Business Profile matters more for the map pack) |
| Product with Offer | Product pages: name, image, price, currency, availability | Price, availability and shipping info in results and Shopping surfaces |
| BreadcrumbList | Page's position in the site hierarchy | Breadcrumb trail instead of a raw URL |
| Article | News and blog posts: headline, dates, author, image | Better understanding of article details |
| Event | Events: name, date, location, tickets | Event listings |
| Recipe | Recipes: ingredients, times, ratings | Recipe rich results |
| JobPosting | Job ads | Google for Jobs listings |
| VideoObject | Videos: title, thumbnail, upload date | Video features |
Google's search gallery lists every structured data type it currently supports for rich results, with required and recommended properties. Check it before implementing, because support changes. For example, Google restricted FAQ rich results in 2023 to well-known authoritative government and health sites, and HowTo rich results were removed. Marking up FAQs is still valid schema.org, but most businesses will no longer get the expanded result.
Rules you must follow
Google's structured data guidelines include general rules. The most important:
- Mark up only visible content. Structured data must describe what users can actually see on the page. Don't add hidden information.
- Be accurate. If the markup says the price is $99 but the page shows $129, that's a violation. Keep markup in sync with the page, ideally by generating both from the same data.
- Don't mislead. Don't mark up content that's irrelevant to the page or claim reviews that don't exist.
- Self-serving reviews. Google doesn't show review star rich results for LocalBusiness and Organization reviews that the business publishes about itself on its own site. Product reviews written by customers can be eligible under the product guidelines.
- Follow type-specific requirements, such as required properties for products or events.
Violating these guidelines can lead to a manual action that removes rich result eligibility for your site; you'd see it in Search Console's Manual actions report.
Implementing structured data
Options
- CMS plugins and platforms: Yoast or Rank Math for WordPress, built-in Shopify theme markup, Squarespace and Wix features. These cover common types automatically. Check their output, because themes sometimes add duplicate or incorrect markup.
- Templates: developers generate JSON-LD from the same database that renders the page, so prices and dates stay accurate.
- Google Tag Manager: possible but less reliable, because markup injected late by JavaScript can be missed or delayed; prefer server-rendered markup for important types.
Testing and monitoring
- Rich Results Test (search.google.com/test/rich-results): shows which Google rich results a page is eligible for and any errors or warnings.
- Schema Markup Validator (validator.schema.org): checks general schema.org validity, including types Google doesn't use for rich results.
- Search Console Enhancements reports: after Google crawls your pages, reports for each detected type (Products, Breadcrumbs, Events and others) show valid items, warnings and errors across the site, so you can fix template problems at scale.
Errors stop a page being eligible; warnings are missing recommended properties, which may limit features.
Worked example: an online wine retailer in South Australia
A Barossa Valley wine store's product pages showed only a title and snippet in results. The developer added Product JSON-LD generated from the store database, including name, image, description, brand, price in AUD, availability, and an aggregate rating from verified customer reviews collected on the site. BreadcrumbList markup was added too. The Rich Results Test confirmed eligibility, and the Merchant listings report in Search Console showed valid items. Over the following weeks, many product results displayed price, stock status and ratings, and click-through improved. When a sale ended, prices in the markup updated automatically because they came from the same data as the page.
Connecting your entities
Beyond individual rich results, structured data helps search engines connect the entities on your site: your organisation, its people, its locations, products and content. A few habits make this clearer:
- Use consistent identifiers. Give your Organization node an "@id" (such as your home page URL plus "#organization") and reference it from other markup, for example as the publisher of articles or the brand of products.
- Link to authoritative profiles with the "sameAs" property: your LinkedIn company page, Wikipedia or Wikidata entry if you have one, and official social profiles. In Australia, you might also include your ABN using the "taxID" property.
- Keep business details consistent (name, address, phone) across your markup, website footer, Google Business Profile and directories. Inconsistencies confuse both people and search engines.
- Describe multiple locations separately. A business with offices in Sydney, Auckland and London should have a LocalBusiness node on each location page with that location's address and hours, all linked to the same parent organisation.
Common mistakes
- Adding LocalBusiness markup to every page with the same details, rather than once on the relevant page.
- Duplicate, conflicting markup from a theme plus a plugin.
- Out-of-date opening hours, prices or event dates left in markup.
- Marking up content that isn't on the page, such as reviews pulled from a third-party site but not displayed.
- Expecting markup to fix weak content. Rich results amplify a good page; they can't rescue a poor one.
Review your markup whenever you change templates, platforms or business details.
Key takeaways
- Structured data uses the schema.org vocabulary; JSON-LD is Google's recommended format.
- It makes pages eligible for rich results but isn't a direct ranking factor and doesn't guarantee features.
- Use common types: Organization, LocalBusiness, Product, BreadcrumbList, Article, Event.
- Mark up only visible, accurate content; self-serving business reviews aren't eligible for stars.
- Check Google's current supported types, as features change.
- Test with the Rich Results Test and monitor Search Console Enhancements reports.