Schema Markup Guide: Structured Data Types That Are Worth Adding
Schema markup is code that labels the information on your page in a format search engines can read without guessing. Instead of Google working out that "₹1,499" near a photo is a price, you tell it: this is a Product, this is its price, this is its availability. Get it right and you may see stars, prices, event dates or recipe details in search results. Get it wrong, or mark up things that aren't on the page, and Google ignores it or, in serious cases, issues a manual action.
What schema does and doesn't do
Structured data uses the Schema.org vocabulary, a shared standard backed by the major search engines. It can:
- Make pages eligible for rich results such as product prices, review stars, recipe cards and event listings.
- Help Google understand entities, such as who your business is, where it's located and what it sells.
- Feed information into knowledge panels and other search features.
It doesn't directly improve rankings. Google has been clear that structured data is not a general ranking boost. Any traffic gain comes from richer, more clickable results.
Also, eligibility isn't a guarantee. Google decides whether to show a rich result for each query.
Use JSON-LD
There are three formats: JSON-LD, Microdata and RDFa. Google recommends JSON-LD, and it's the easiest to maintain because it sits in a single script block rather than being woven through your HTML.
A basic LocalBusiness example for a Jaipur bakery:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Bakery",
"name": "Sharma Home Bakers",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Gandhi Path, Vaishali Nagar",
"addressLocality": "Jaipur",
"addressRegion": "RJ",
"postalCode": "302021",
"addressCountry": "IN"
},
"telephone": "+91-00000-00000",
"openingHours": "Mo-Sa 09:00-20:00",
"url": "https://example.com/"
}
</script>
Schema types worth considering
| Type | Good for | Possible result |
|---|---|---|
| Organization | Any business | Logo, brand details in knowledge panel |
| LocalBusiness (and subtypes) | Shops, clinics, restaurants | Supports local understanding |
| Product with Offer | Ecommerce | Price, availability, review stars |
| Article / BlogPosting | Blogs, news | Better understanding of author and date |
| BreadcrumbList | Most sites | Breadcrumb trail in results |
| Recipe | Food blogs | Recipe cards with time and ratings |
| Event | Workshops, concerts | Event dates and venues |
| VideoObject | Pages with video | Video thumbnails and key moments |
| FAQPage | Q&A sections | Rich results now limited to certain sites |
Google has scaled back some rich results over time. In 2023 it limited FAQ rich results mostly to well-known government and health sites and stopped showing HowTo rich results. The markup can still help Google understand a page, but don't expect the visual result. Our FAQ schema article covers that change in more detail.
Priorities by site type
Local business: Organization or LocalBusiness on the home page or contact page, plus BreadcrumbList. Keep the name, address and phone consistent with your Google Business Profile and local citations.
Shopify or WooCommerce store: Product with Offer, including price, currency, availability and, if you have genuine reviews, AggregateRating. Most modern themes include basic Product markup; check it's complete and accurate.
Blog or content site: Article or BlogPosting with author, publish date and modified date, plus BreadcrumbList.
SaaS: Organization, SoftwareApplication where appropriate, and Article on blog content.
Rules that keep markup valid
- Mark up only what's visible. If the page doesn't show reviews, don't add review markup.
- Don't fake reviews or ratings. Self-serving review markup on your own business is restricted, and invented ratings violate Google's structured data policies.
- Keep it accurate. If a product goes out of stock, the markup should say so.
- Use the most specific type. "Bakery" or "Dentist" is better than generic "LocalBusiness".
- Include required properties. Each rich result type has required and recommended fields listed in Google's documentation.
Adding schema
- WordPress: SEO plugins like Yoast and Rank Math add Organization, Article and Breadcrumb markup. Add more specific types through the plugin's schema settings or a dedicated schema plugin.
- Shopify: Themes usually include Product markup. Apps can extend it, but avoid running two that output duplicate Product schema.
- Custom sites: Add JSON-LD in the page template, generated from the same data that renders the page so they never drift apart.
Testing
Use Google's Rich Results Test to check eligibility for rich results, and the Schema Markup Validator at validator.schema.org for general syntax. After deployment, the Enhancements section in Search Console shows errors and warnings across the site. Fix errors first; warnings for missing recommended fields are lower priority.
Common mistakes
- Two plugins outputting conflicting markup for the same page.
- Organization markup with a different business name from the one on the site.
- Product price in markup not matching the visible price after a sale.
- Marking up content hidden behind tabs that never loads for crawlers.
Schema works best as one part of a solid on-page SEO checklist. Start by running your home page and one key product or service page through the Rich Results Test today, and fix whatever it flags.