Structured Data and Schema Markup
Structured data is machine-readable markup that helps search engines understand your content. Unlike HTML (which is designed for humans), structured data explicitly labels information — "this is a price," "this is a review," "this is an article." This unlocks rich results in search.
What Is Structured Data?
Structured data is code you add to your HTML to provide additional context about your content. Instead of relying on Google to guess what your page is about, you explicitly tell Google through structured data markup.
Example: A human reads "Awesome Widget - 5 stars - $19.99" and understands it's a product with a 5-star rating and price. A search engine sees text and doesn't automatically understand the relationship between these pieces of information. Structured data adds explicit labels.
JSON-LD: Google's Preferred Format
Google recommends JSON-LD (JavaScript Object Notation for Linked Data) as the format for structured data. JSON-LD is added in a script tag in your HTML head and doesn't clutter your content with attributes. It's also easier to manage and update dynamically.
Example of a simple Article schema in JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Article Title",
"author": "Jane Doe",
"datePublished": "2025-03-16"
}
</script>
This tells search engines: "This is a NewsArticle with a headline, author, and publication date."
Major Schema Types and Rich Results
Article / NewsArticle
For blog posts and news articles. Enables rich results showing the headline, publication date, and author image in search results. Improves CTR. Implement if you publish articles.
Product
For product pages. Includes price, availability, rating, and reviews. Displays in rich results with star ratings and prices visible in the SERP. High-value for e-commerce sites.
FAQPage
For pages with questions and answers. Displays Q&As in a special accordion format in search results. Significant visibility boost. Implement if you have FAQs.
HowTo
For step-by-step guides. Shows steps in a rich snippet in search results. Good for tutorial content. Consider if you publish how-tos.
LocalBusiness
For businesses with physical locations. Displays address, phone number, hours in the local pack and Knowledge Panel. Essential for local SEO.
BreadcrumbList
Shows your site's hierarchy and navigation path in search results. Doesn't directly impact ranking but improves appearance and CTR. Implement on all sites.
What Structured Data Does and Doesn't Do
What It Does
- Enables rich results (visual enhancements in SERPs)
- Improves CTR through better SERP snippets
- Helps Google understand your content accurately
- Can enable special search features (FAQs, recipes, events, etc.)
What It Doesn't Do
- Is not a direct ranking signal. Structured data doesn't boost rankings directly.
- Doesn't replace quality content. Bad content won't rank because you added schema.
- Isn't a requirement. Sites without structured data can rank fine. It's an enhancement.
How to Test Structured Data
Google Rich Results Test
Visit Google's Rich Results Test (Google this name). Paste your page URL or HTML code. It validates your structured data and shows you how your rich result will look in search. If there are errors, it tells you exactly what to fix.
Schema.org Validator
Schema.org Validator is another tool for validating structured data. It checks that your schema follows the official schema.org spec.
Implementation Strategy
Prioritise schema by impact and effort:
- BreadcrumbList: Easy to implement, improves appearance. Do this first.
- Schema matching your content type. Article schema for blogs, Product schema for e-commerce, LocalBusiness for local sites, FAQPage if you have FAQs.
- Organization schema. Add your company name, logo, contact info. Helps your Knowledge Panel.
Don't implement schema you don't genuinely have. Google penalises fake reviews, fake ratings, or misleading structured data. Schema should accurately represent your content.
Common Mistakes
- Mismatched schema and content. Saying your article has 50 stars or a product has no price when it's not true.
- Outdated schema. Schema ages — update publication dates, prices, and ratings regularly.
- Schema not testing. Add schema, test it in Google's tool, and verify it's correct before pushing to production.
- Overly complex schema. Keep it simple. Include only the properties you genuinely have. Google doesn't require every optional field.