All How-To Guides
Any Website15 min·6 steps

How to Add Schema Markup to Your Website (2026 Step-by-Step Guide)

Schema markup is structured data you embed in your pages so search engines and AI assistants can read your content as machine-friendly facts (this is your business name, this is your address, this article was published on this date). The format that Google and AI extractors strongly prefer is JSON-LD - a small <script type="application/ld+json"> block that lives in your <head>. The whole task is about 15 minutes per page type.

What you'll need before you start

  • A live website you control
  • Access to edit your site's <head> HTML or use a CMS code-injection field
  • Roughly 15 minutes per schema type

How to add schema markup on Any Website: Step-by-step

  1. 1

    Decide which schema types your site actually needs

    Don't schema-bomb every page with every type - search engines penalize abusive markup. Pick types that match your content. Common starters: Organization (one block in your site's root <head>, contains your business name, logo, social profiles), WebSite with SearchAction (enables sitelinks search box in Google results), Article or BlogPosting (one per blog post), Product (one per product page, with offers, aggregateRating, review), BreadcrumbList (one per non-homepage), FAQPage (one per page with a Q&A section), HowTo (one per step-by-step procedural page).

  2. 2

    Generate JSON-LD blocks for each type

    The fastest path is to use a generator. Google's own structured data documentation has copy-paste examples for every supported type. Schema.org's own type pages have the canonical field references. Tools like Schema App, Merkle's schema generator, and Hall Analysis are also reliable. The block always starts with {"@context": "https://schema.org", "@type": "Organization", ...}.

  3. 3

    Add the JSON-LD to your page <head>

    Wrap your JSON object in a <script type="application/ld+json"> tag and paste it into the <head> of the relevant page. For site-wide schema (Organization, WebSite), put it in your global head template. For page-specific schema (Article, Product, FAQPage), put it in the per-page template. Multiple JSON-LD blocks on one page are fine - search engines parse each independently.

  4. 4

    Validate every block before publishing

    Run each JSON-LD block through Google's Rich Results Test by pasting either the URL or the raw HTML. Fix every error and warning. Use Schema.org Validator for a more comprehensive check that includes types Google's tool doesn't cover. Don't deploy schema with errors - broken schema is worse than no schema.

  5. 5

    Submit your sitemap and request indexing in Search Console

    Schema gets crawled the next time Google visits your page. To speed it up, use URL Inspection in GSC, paste your URL, and click Request indexing. After 24-48 hours, GSC's Enhancements reports (Articles, Products, FAQ, etc.) will start populating with status data and any errors detected by Google's crawler.

  6. 6

    Monitor for errors in Search Console weekly

    Even valid schema can break later (a content change, a template typo, a deleted image referenced in a logo field). Check GSC's Enhancements section weekly for the first month after launch and monthly after that. Errors typically take 1-2 weeks to clear after fixing in template code, because Google has to recrawl every affected page.

How to verify your setup is working

The Rich Results Test is the fastest validation - paste your URL and Google reports every schema block detected, valid or invalid. The Schema.org Validator is more thorough but covers types not all of which surface in Google search. In Search Console, the Enhancements section shows live crawl results (status counts, examples of valid pages, errors with affected URLs). Use URL Inspection on a single page to see exactly what schema Google has parsed from the latest crawl.

Common issues and fixes

Rich Results Test shows my schema but Google search isn't showing rich snippets

Validation isn't a guarantee of rich snippets - Google reserves the right to choose when to display them. Common reasons for valid-but-not-displayed: (1) the page is too new and hasn't built enough authority yet, (2) the query doesn't match a rich-snippet eligible search type, (3) Google has chosen a competitor's page instead. Wait 4-6 weeks, build a few backlinks, and revisit.

I'm getting "missing field" errors in Search Console

Each schema type has required and recommended fields. Required fields cause errors; recommended fields cause warnings. Open the affected URL in Rich Results Test, expand the schema type, and look at the field list - missing required fields are flagged in red. Add the missing fields to your template and re-deploy. Errors clear after Google recrawls.

I added FAQ schema but it's not showing in Google's results anymore

In August 2023, Google reduced FAQ rich result eligibility to a small set of authoritative government and health sites. FAQ schema is still valid and AI assistants (ChatGPT, Perplexity, Gemini) still extract from it for citations - but Google search results almost never display FAQ rich snippets anymore. Keep the schema for AI extractors; don't expect Google rich snippets.

Frequently asked questions

Is JSON-LD better than Microdata or RDFa for schema markup?

For new implementations, yes - JSON-LD is what Google explicitly recommends. It's easier to generate, easier to maintain (one block in <head> vs scattered attributes throughout the body), and easier for AI extractors to parse. Microdata and RDFa still work but are no longer recommended.

Do I need schema markup for SEO?

It's not required for ranking, but it's increasingly required for visibility. Without schema, you're invisible to rich results, AI Overviews citations, and most ChatGPT/Perplexity/Gemini answers. Sites that get cited by AI assistants overwhelmingly have proper structured data. Treat it as table-stakes for any commercial site.

Can schema markup hurt my SEO?

Two ways. (1) Spammy or misleading schema (e.g., fake aggregate ratings, schema that doesn't match the visible page content) results in manual penalties from Google. (2) Broken/invalid schema with critical errors makes Google ignore the entire block. Always validate before deploying and only mark up content that's genuinely on the page.

How do I add JSON-LD without writing code?

Most CMS platforms have schema plugins or apps. WordPress: Yoast SEO, Rank Math, Schema Pro, or Schema & Structured Data for WP & AMP. Shopify: JSON-LD for SEO by Schema-LD or built-in product schema. Squarespace: paste JSON-LD directly into Code Injection. Wix: schema is generated automatically for products and FAQs; custom schema goes in the Marketing Tools custom-code area. Webflow: paste JSON-LD into Custom Code → Head.

What's the difference between Schema.org and JSON-LD?

Schema.org is the vocabulary - the list of types (Organization, Product, FAQPage) and their fields. JSON-LD is the format - the JavaScript-Object syntax used to express that vocabulary in HTML. They work together: you write JSON-LD using Schema.org types.

How do I know if schema markup is working?

Three checks. (1) Rich Results Test validates the JSON-LD on a single URL. (2) Schema.org Validator gives a more comprehensive validation. (3) Search Console → Enhancements shows what Google's actual crawl found, including counts of valid pages and any errors. Standard URL Inspection in GSC also surfaces the parsed structured data for any specific URL.

Once you're set up, MeasureBoard turns the data into action

MeasureBoard connects to your analytics, search, and SEO tooling and generates AI-powered weekly reports, GEO readiness scores, and a dedicated AI analyst that answers questions in plain English. Free to start, connects in 30 seconds.

Get Started Free