Skip to main content

SEO Guide

Schema Markup Guide — Add Structured Data to Your Site

Schema markup is structured data you add to your HTML to help search engines understand your content. When implemented correctly and matched to visible page content, it can make eligible pages easier for search engines and AI systems to interpret. It may also qualify specific page types for supported rich-result features, but markup alone never guarantees enhanced display or ranking gains.

What is Schema Markup?

Schema markup uses the vocabulary defined at schema.org to describe entities on your page — articles, products, events, people, organizations, recipes, FAQs, and hundreds more. Search engines read this structured data and use it to display enhanced results.

There are three formats for adding schema: JSON-LD, Microdata, and RDFa. Google recommends JSON-LD because it is a standalone script tag that does not mix with your HTML, making it easier to implement and maintain.

How JSON-LD Works

JSON-LD (JavaScript Object Notation for Linked Data) is added as a <script> tag in your page's HTML. Here is a minimal example for an Article:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Your Article Title",
  "author": {
    "@type": "Person",
    "name": "Author Name"
  },
  "datePublished": "2025-01-15",
  "image": "https://example.com/image.jpg"
}
</script>

The key properties are @context (always schema.org), @type (the schema type), and the type-specific properties.

Most Useful Schema Types

Not every schema type maps to a visible Google Search feature. Focus on types that accurately describe the page and are useful to crawlers, validators, and AI retrieval systems:

  • FAQPage — Describes visible question/answer content for machine understanding. Do not rely on FAQ markup as a Google dropdown tactic; supported rich-result surfaces change over time.
  • HowTo — Shows step-by-step instructions with optional images and time estimates.
  • Article / BlogPosting — Helps Google understand authorship, publish date, and content structure.
  • Product — Shows price, availability, and review ratings in search results.
  • LocalBusiness — Displays business hours, address, phone number, and reviews in local search.
  • BreadcrumbList — Shows breadcrumb navigation in search results instead of raw URLs.
  • Organization — Defines your brand, logo, and social profiles for the Knowledge Panel.

Step-by-Step Implementation

  1. Identify the right type. Choose the schema type that best describes your page content. Use Google's structured data documentation to see which types are currently supported for enhanced search features.
  2. Write the JSON-LD. Include all required properties and as many relevant recommended properties as possible. Complete, accurate markup is easier to validate and less likely to be ignored.
  3. Add it to your page. Place the script tag in the <head> or at the end of the <body>. In Next.js, use dangerouslySetInnerHTML on a script tag with type="application/ld+json".
  4. Validate. Use the CheckFast Schema Validator or Google's Rich Results Test to check for errors. Fix any missing required properties.
  5. Monitor. After deploying, check Google Search Console > Enhancements to see if Google detects and validates your structured data.

Common Mistakes

  • Marking up content that is not visible on the page. Google requires that structured data reflects actual page content.
  • Using incorrect types — for example, marking a blog post as a Product.
  • Missing required properties. Each type has required and recommended fields. Missing required ones can make the markup ineligible for supported enhanced features.
  • Invalid JSON syntax — a single missing comma or extra bracket breaks the entire block.
  • Duplicate schema blocks with conflicting data on the same page.

Testing and Debugging

Always validate your structured data before and after deploying. There are three tools you should use:

  • CheckFast Schema Validator — Paste your JSON-LD and get instant validation with clear error messages.
  • Google Rich Results Test — Shows whether your page is eligible for currently supported rich-result features.
  • Schema.org Validator — Validates against the full schema.org specification.

Validate your schema markup

Paste your JSON-LD and get instant validation with detailed error reporting.

Validate Schema →