Schema markup is code you add to your website that helps search engines understand your content more precisely. When implemented correctly, it unlocks rich results like star ratings, FAQ dropdowns, recipe cards, event listings, and how-to steps directly in the search results. These visual enhancements make your listings stand out, improve CTR, and signal topical authority.
This guide explains structured data in plain language, walks through JSON-LD implementation step by step, and covers. Once you have implemented schema, validate it with our guide on structured data testing and validation. For a comparison of generator tools, see our schema markup generators comparison. the most impactful schema types. Start by validating your current markup with our schema markup generator and the structured data tester.
What is schema markup?
Schema markup is a vocabulary of structured data defined at schema.org, a collaborative project by Google, Bing, Yahoo, and Yandex. It provides a standardized way to describe entities and relationships in your content so that search engines can parse them programmatically.
For example, if you write a recipe page, schema markup can tell search engines: "This is a recipe, the name is Chocolate Chip Cookies, the author is Jane Smith, the prep time is 15 minutes, the rating is 4.8 stars, and the calorie count is 210 per serving." Without schema, Google sees a blob of text. With schema, it sees structured facts.
Why schema matters for SEO
Schema markup does not directly improve rankings, but it has powerful indirect SEO benefits:
- Rich results: Pages with valid schema can appear with enhanced displays in search results, including stars, images, FAQs, and more.
- Higher CTR: Rich result listings consistently outperform plain text listings in click-through rate.
- Entity understanding: Schema helps Google understand the entities on your page (people, organizations, products, events) and how they relate to each other.
- Voice search and assistants: Structured data feeds information to voice assistants and featured snippets, making your content more likely to be used as a direct answer.
JSON-LD: the recommended format
Google supports three formats for structured data: JSON-LD, Microdata, and RDFa. JSON-LD is the format Google recommends because it is the easiest to implement. It lives in a single script tag in the page head, separate from your HTML markup.
A basic JSON-LD block looks like this:
<script type="application/ld+json">\n{\n "@context": "https://schema.org",\n "@type": "Article",\n "headline": "How to Use Schema Markup",\n "author": {\n "@type": "Person",\n "name": "Jane Smith"\n },\n "datePublished": "2026-08-22",\n "image": "https://example.com/image.jpg"\n}\n</script>Step-by-step: adding schema to a page
Step 1: Identify what the page is about
Look at the page and decide what single entity it primarily describes. Is it an article? A product? A local business? A recipe? An FAQ page? This determines your @type.
Step 2: Choose the right schema type
Browse schema.org or our schema markup generator to find the type that matches. The most common types for websites:
- Article - blog posts, news articles, guides
- Product - e-commerce product pages
- LocalBusiness - businesses with physical locations
- FAQPage - pages with FAQ sections
- HowTo - step-by-step instruction pages
- Review - product or service reviews
- BreadcrumbList - navigation breadcrumbs
- Event - concerts, webinars, conferences
Step 3: Generate the JSON-LD
Use our schema markup generator to create the JSON-LD code. Fill in the fields: name, description, author, date, image, URL, and any type-specific properties. The generator outputs ready-to-paste code.
Step 4: Add the code to your page
Paste the generated script block into the head section of your HTML. If you use WordPress, you can add it via your SEO plugin settings or in a custom HTML block.
Step 5: Validate
Use the structured data tester to check for errors. Fix any warnings or issues before publishing. Then test with Google Rich Results Test to confirm eligibility for rich results.
Most impactful schema types for SEO
Article schema
If you publish blog posts or guides, Article schema is essential. It helps Google identify the headline, author, publication date, and featured image. Required properties: headline, author, datePublished, image.
FAQPage schema
FAQ schema adds expandable question-and-answer sections directly in the search results. This is one of the easiest rich results to earn if you have a FAQ section on your page. The schema requires at least two Question/Answer pairs. Each question and its answer must be visible on the page.
Use the schema markup generator to create FAQ schema from your existing FAQ content.
Product schema
Product schema can display price, availability, review ratings, and images directly in search results. For e-commerce sites, this is high-impact structured data. Key properties: name, image, description, offers (price and currency), aggregateRating (if you have reviews).
HowTo schema
HowTo schema marks up step-by-step instructions. Google can display these as a steps carousel in search results. Use HowTo for instructional content: recipes, tutorials, assembly instructions, repair guides.
LocalBusiness schema
For businesses with physical locations, LocalBusiness schema provides Google with your name, address, phone number (NAP), hours, and geo-coordinates. Include openingHours, address, telephone, and priceRange properties at minimum.
BreadcrumbList schema
Breadcrumb schema helps Google understand your site hierarchy and can display breadcrumb navigation in search results instead of the full URL path. This makes your listings look cleaner and more organized.
Common structured data mistakes
- Marking up invisible content: The content described in your schema must be visible on the page. Marking up hidden text violates Google guidelines and can trigger a manual action.
- Missing required properties: Each schema type has required properties. Missing one can prevent the rich result from appearing.
- Using the wrong type: A blog post is not a NewsArticle. A product review is not a Review. Using the wrong type can confuse Google.
- Incorrect date formats: Dates must be in ISO 8601 format (YYYY-MM-DD).
- Conflicting schema: Multiple schema blocks on the same page can conflict. Keep your schema simple.
- Not updating after content changes: If you change the price of a product or the date of an event, update the schema too.
Testing and validation workflow
Follow this workflow for every page where you add or modify schema:
- Generate the JSON-LD with the schema markup generator
- Add it to the page and save
- Test with the structured data tester to catch syntax errors
- Test with Google Rich Results Test to check eligibility
- Monitor Google Search Console for structured data errors in the Enhancements section
Schema and programmatic pages
If you have hundreds or thousands of pages, you cannot manually add schema to each one. Use your CMS or a template system to inject schema programmatically. For example, a WordPress site can use a custom field or an SEO plugin to auto-generate Article schema on every post from the post title, author, date, and featured image.
Measuring the impact
After implementing schema, track these metrics in Google Search Console:
- Rich results impressions: In the Enhancements section, monitor which rich result types are being detected and how many impressions they receive.
- CTR changes: Compare CTR before and after implementation for pages that earned rich results.
- Errors and warnings: Fix any new errors that appear after deploying schema.
Schema markup is one of the few SEO tactics that gives you a visible, immediate advantage in the search results. Start with the schema types that match your most important content, validate thoroughly, and expand from there.