Schema markup is a way to structure your content so search engines can better understand it. Using schema can improve your SEO and help search engines display your content in rich results like featured snippets, knowledge panels and more. This guide will teach you everything you need to know to implement and how to use schema markup properly.
What is Schema Markup?
Schema markup is code you add to your web pages to help search engines understand your content better. Schema uses structured data to categorize and describe entities on a page. This allows search engines to generate rich snippets, improve rankings, and provide a better user experience.
Schema markup uses JSON-LD, Microdata or RDFa to add metadata to a page that describes the type of content, like people, places, events, products and more. This gives search engines extra clues about the topic and meaning of your content.
Benefits of Using Schema Markup
Here are some of the main benefits of adding schema markup:
- Rich Snippets – Schema allows search engines to generate rich snippets, which are formatted displays of your content in the search results. This allows you to stand out and improves click-through rates.
- Higher Rankings – Properly implemented schema markup helps search engines understand your content, which can lead to better rankings.
- More Traffic – Rich snippets and better rankings means more traffic to your site from organic search.
- Improved UX – Schema also enhances user experience by providing quick summaries to your content in search and other applications.
- SEO Opportunities – Certain schema markups like FAQ, how-to guides and recipes can help you rank for featured snippets, driving even more traffic.
How to Add Schema Markup to Your Website
Adding schema markup to your site involves first deciding which schemas to use, then adding the proper code. Here is a step-by-step guide:
1. Identify Relevant Schema Markup
First, figure out what schema best fits each page based on the content type. Some common schema types include:
– Article
– Local business
– Product
– Recipe
– Review
– Event
– FAQ
Look through [schema.org’s full list of schemas](https://schema.org/docs/full.html) to identify the right ones to markup your content.
2. Add JSON-LD Code
The recommended format for implementing schema markup is JSON-LD. JSON-LD is readable by all major search engines including Google, Bing, Yandex and Baidu.
For each page, add a <script> tag before the closing </body> tag. Inside, add JSON-LD markup that describes the content according to the relevant schema type.
For example:
“`html
<script type=”application/ld+json”>
{
“@context”: “https://schema.org”,
“@type”: “Article”,
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://example.com/article”
},
“headline”: “Article headline”,
“image”: “https://example.com/image.jpg”,
“author”: {
“@type”: “Person”,
“name”: “John Doe”
},
“datePublished”: “2021-01-01”,
“dateModified”: “2021-01-02”,
“description”: “Article description…”
}
</script>
“`
This structured data tells search engines about the article, author, publish date, etc.
3. Test in Google’s Structured Data Tool
Once you add schema markup, test it using [Google’s Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool). This will validate that your markup is correct and interpreted properly.
Fix any errors before search engines crawl your pages again. Retest after making changes to ensure your schema works properly.
4. Add Markup Site-wide
Roll out the relevant schema markup across all applicable pages on your site. The more pages you enhance with schema, the larger SEO and user experience benefits you’ll see.
Make schema implementation a standard part of your development process for new content as well.
Types of Schema Markup to Use
Here are some of the most important and useful types of schema markup to implement:
Article Schema
Use Article schema on blog posts, news articles, and other editorial content:
“`json
{
“@context”: “https://schema.org”,
“@type”: “Article”,
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://example.com/article”
},
“headline”: “Article headline”,
“image”: “https://example.com/image.jpg”,
“datePublished”: “2021-01-01”,
“dateModified”: “2021-01-02”,
“author”: {
“@type”: “Person”,
“name”: “John Doe”
},
“publisher”: {
“@type”: “Organization”,
“name”: “Example Publisher”,
“logo”: {
“@type”: “ImageObject”,
“url”: “https://example.com/logo.jpg”
}
},
“description”: “Article description…”
}
“`
LocalBusiness Schema
LocalBusiness schema should be added to homepages and contact pages of any local business:
“`json
{
“@context”: “https://schema.org”,
“@type”: “LocalBusiness”,
“name”: “Business Name”,
“image”: “https://example.com/business-image.jpg”,
“@id”: “https://example.com/#Business”,
“url”: “https://example.com/”,
“telephone”: “12345678”,
“priceRange”: “$$$”,
“address”: {
“@type”: “PostalAddress”,
“streetAddress”: “123 Main St”,
“addressLocality”: “Anytown”,
“addressRegion”: “CA”,
“postalCode”: “12345”,
“addressCountry”: “US”
},
“geo”: {
“@type”: “GeoCoordinates”,
“latitude”: 12.12345,
“longitude”: -12.12345
},
“openingHoursSpecification”: {
“@type”: “OpeningHoursSpecification”,
“dayOfWeek”: [
“Monday”,
“Tuesday”,
“Wednesday”,
“Thursday”,
“Friday”,
“Saturday”,
“Sunday”
],
“opens”: “11:00”,
“closes”: “19:00”
}
}
“`
Product Schema
Ecommerce sites should use Product schema for product pages:
“`json
{
“@context”: “https://schema.org/”,
“@type”: “Product”,
“name”: “Product Name”,
“image”: “https://example.com/product-image.jpg”,
“description”: “Product description…”,
“sku”: “Product 123”,
“mpn”: “Product 123”,
“brand”: {
“@type”: “Brand”,
“name”: “Brand Name”
},
“review”: {
“@type”: “Review”,
“reviewRating”: {
“@type”: “Rating”,
“ratingValue”: “4”,
“bestRating”: “5”
},
“author”: {
“@type”: “Person”,
“name”: “Reviewer Name”
}
},
“aggregateRating”: {
“@type”: “AggregateRating”,
“ratingValue”: “4.5”,
“reviewCount”: “89”
},
“offers”: {
“@type”: “Offer”,
“url”: “https://example.com/product-123”,
“priceCurrency”: “USD”,
“price”: “19.99”,
“priceValidUntil”: “2020-11-20”,
“itemCondition”: “https://schema.org/NewCondition”,
“availability”: “https://schema.org/InStock”
}
}
“`
Recipe Schema
Use Recipe schema for recipes, food blogs, cooking sites, etc:
“`json
{
“@context”: “https://schema.org/”,
“@type”: “Recipe”,
“name”: “Recipe Name”,
“image”: “https://example.com/recipe-image.jpg”,
“author”: {
“@type”: “Person”,
“name”: “Recipe Author Name”
},
“datePublished”: “2018-03-10”,
“description”: “Recipe description”,
“prepTime”: “PT20M”,
“cookTime”: “PT30M”,
“totalTime”: “PT50M”,
“keywords”: “Recipe keyword, another keyword”,
“recipeYield”: “8”,
“recipeCategory”: “Dinner”,
“recipeCuisine”: “American”,
“nutrition”: {
“@type”: “NutritionInformation”,
“calories”: “250 calories”
},
“recipeIngredient”: [“2 tbsp ingreident 1”, “3 cups ingredient 2”],
“recipeInstructions”: [{
“@type”: “HowToStep”,
“text”: “Step 1 instruction”
}, {
“@type”: “HowToStep”,
“text”: “Step 2 instruction”
}]
}
“`
Event Schema
Event schema can be used for events, concerts, conferences, etc:
“`json
{
“@context”: “https://schema.org”,
“@type”: “Event”,
“name”: “Event Name”,
“startDate”: “2023-05-05T19:00”,
“endDate”: “2023-05-05T22:00”,
“eventAttendanceMode”: “https://schema.org/OfflineEventAttendanceMode”,
“location”: {
“@type”: “Place”,
“name”: “Event Location Name”,
“address”: {
“@type”: “PostalAddress”,
“streetAddress”: “123 Main St”,
“addressLocality”: “Anytown”,
“addressRegion”: “CA”,
“postalCode”: “12345”,
“addressCountry”: “US”
}
},
“image”: “https://example.com/event-image.jpg”,
“description”: “Event description”,
“offers”: {
“@type”: “Offer”,
“url”: “https://example.com/event-tickets”,
“price”: “25”,
“priceCurrency”: “USD”,
“availability”: “https://schema.org/InStock”,
“validFrom”: “2023-01-01”
},
“performer”: {
“@type”: “Person”,
“name”: “Performer Name”
}
}
“`
Review Schema
Review schema can highlight ratings and recommendations for products, businesses, etc:
“`json
{
“@context”: “https://schema.org/”,
“@type”: “Review”,
“itemReviewed”: {
“@type”: “Product”,
“name”: “Product Name”
},
“reviewRating”: {
“@type”: “Rating”,
“ratingValue”: “4”,
“bestRating”: “5”
},
“author”: {
“@type”: “Person”,
“name”: “Reviewer Name”
},
“publisher”: {
“@type”: “Organization”,
“name”: “Example Publisher”
},
“datePublished”: “2022-02-03”,
“reviewBody”: “Review text here…”
}
“`
FAQ Schema
FAQPage and QAPage schema can be used for FAQ and Q&A content:
“`json
{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [{
“@type”: “Question”,
“name”: “FAQ question 1”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Answer to question 1”
}
},{
“@type”: “Question”,
“name”: “FAQ question 2”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Answer to question 2”
}
}]
}
“`
These are just a few examples. Again, refer to schema.org (https://schema.org/docs/full.html) for many more schema options.
Schema Markup Tools
Implementing schema manually in JSON-LD can be complex. Here are some tools that make it easier:
- Schema App (https://schema.app/) – Web app for building schema markup automatically with a visual editor. Has many templates and integrates with Google Search Console.
- Schema Generator (https://technicalseo.com/tools/schema-markup-generator/) – Simple free tool for generating schema markup code. Just select a schema type and enter your content.
- Rank Math (https://rankmath.com/wordpress/plugin/schema/) – Popular WordPress plugin that adds schema markup automatically along with other SEO features.
- Yoast SEO (https://yoast.com/wordpress/plugins/seo/) – Another top WordPress SEO plugin that integrates schema markup.
These tools help simplify adding schema markup across your site. Look for one that fits your site and workflow.
Schema Markup for Local SEO
For local businesses, make sure to focus on local-centric schema markups. This includes:
- LocalBusiness – As shown earlier, provides info like business name, address, phone number.
- GeoCoordinates – Supplies GPS coordinates to mark business location.
- OpeningHoursSpecification – Lists opening days and hours.
This information helps search engines understand your business and display relevant information to users searching locally.
Also ensure your NAP (name, address and phone number) details are consistent across major directories like Google My Business, Apple Maps, Bing Places, Yelp and others. This consistency helps reinforce your business information.
Using Schema Markups for Featured Snippets
Certain schema markups can increase your chances of ranking for featured snippets, which show a summary of your content directly in search results.
Some schemas that commonly trigger snippets:
- FAQPage – For FAQ and Q&A content
- HowTo – For guides, tutorials, how-to instructions
- Recipe – For recipes and cooking instructions
- Step-by-Step – For processes like software guides
Optimizing your content for these schemas can help search engines pull your content for featured snippets. Make sure to use detailed, descriptive text and include keywords naturally to boost relevance.
Prioritize creating fresh, useful content that solves search queries rather than trying to game snippets. Unique, high-quality content has the best chance of ranking over spammy, duplicative attempts at optimization.
Common Schema Implementation Mistakes
When adding schema, keep these common mistakes in mind:
- Incorrect or incomplete markup – Follow schema.org definitions precisely and include all recommended properties.
- Duplicate markup – Only include each schema once per page. Don’t repeat.
- Irrelevant markup – Make sure the schema fits the actual content on the page. Don’t use inappropriate schema that doesn’t match the content.
- Over-optimization – Don’t go overboard adding schema just for the sake of it. Focus on pages where it adds real value.
- Bad structured data – Formatting errors like invalid JSON, incorrect data types, etc will cause issues.
- Missing images – Include images in your markup where specified. This provides visual context.
Test thoroughly and validate your structured data to avoid these pitfalls. Fix any errors reported by Google’s Structured Data Testing Tool.
Wrapping Up
Implementing schema markup provides a range of SEO and user experience benefits. Follow this guide to properly add schema to your site:
- Identify relevant schema types for your content
- Add JSON-LD markup
- Use schema tools to simplify implementation
- Focus on high-value schemas like LocalBusiness, Article, Product
- Optimize for featured snippets where possible
- Avoid common markup mistakes
- Test and validate with Google’s Structured Data Tool
Adding accurate, relevant schema can improve search visibility, traffic and conversions. So implement schema markup as a best practice on any website.
Frequently Asked Questions
What is schema markup?
Schema markup is code you add to your web pages to help search engines better understand your content. It uses structured data with JSON-LD, Microdata or RDFa to categorize and describe entities on a page according to schemas defined at schema.org.
What are the benefits of schema markup?
Benefits include rich snippets in search results, improved rankings, more organic traffic, enhanced user experience, and SEO opportunities like featured snippets.
What schema types should I use?
Some important schemas include Article, LocalBusiness, Product, Recipe, Event, Review and FAQPage. Choose ones that accurately reflect your content.
How do I add schema markup?
Add JSON-LD script tags before closing body tags. Use tools like Schema App or WordPress plugins to generate schema code automatically.
How do I validate my schema markup?
Use Google’s Structured Data Testing Tool to validate and test your implementation. Fix any errors before search engines re-crawl your pages.
Can schema help with local SEO rankings?
Yes, LocalBusiness schema provides key information like business name, address and opening hours to improve local SEO.