Structured data (Schema.org) in practice: what to implement first
Which markup types bring real returns and how to validate them without relying on a plugin.
Structured data is a way of describing the content of a page in a vocabulary machines understand. Instead of letting the search engine guess that a number is a price and a name is a company, you say so explicitly.
Why it matters now
Beyond traditional rich results, such as stars and FAQs, AI assistants use structured markup to understand who the company is, what it offers and how it relates to other entities. It is one of the foundations for showing up in AI answers.
The types worth the effort
Organization. Name, logo, website, contact details and official profiles. It goes on the home page and gives the brand its identity.
WebSite and BreadcrumbList. They help the search engine understand the site’s structure and show the navigation path in results.
Service or Product. Describes what you sell, with a name, description and area served.
FAQPage. Marks up questions and answers visible on the page. Only use it when the content actually exists for the user.
Article or BlogPosting. Author, publish and update dates, image and title. Important for blog posts.
LocalBusiness. Essential for businesses serving a specific region.
A minimal Organization example
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Company",
"url": "https://yourdomain.com",
"logo": "https://yourdomain.com/logo.png",
"sameAs": ["https://instagram.com/yourcompany"]
}
How to validate
- Google’s Rich Results Test, to check eligibility.
- The Schema.org validator, to check syntax and types.
- The enhancement reports in Search Console, to track errors at scale.
Frequent mistakes
- Marking up information that doesn’t appear on the page.
- Copying the same JSON-LD onto every page without adjusting it.
- Adding made-up reviews, which can lead to a manual action against the site.
- Forgetting to update the markup when the content changes.
The golden rule
The markup must faithfully reflect what the user sees. If the page changes, the JSON-LD changes with it. Generating the data from the same source as the content, as we do on the websites we build, removes the risk of mismatches.