How to Add Schema Markup (JSON-LD Structured Data) — Step-by-Step

Learn how to add schema markup (JSON-LD structured data) for rich results — with exact steps for WordPress, Wix, Squarespace, Webflow, Shopify and custom sites.

Nasir Uddin
Nasir UddinSEO & Growth Lead · ScoutRival
How to Add Schema Markup (JSON-LD Structured Data) — Step-by-Step — cover
On this page

If ScoutRival’s SEO Score flagged “Add structured data (JSON-LD),” it means your pages aren’t telling search engines what they actually are in a machine-readable way. Adding schema is one of the highest-leverage modern SEO moves — it’s how you become eligible for eye-catching rich results and how AI search engines learn to trust and quote you. And on most platforms, it takes about 10 minutes.

What is schema markup?

Schema markup (also called structured data) is standardised code you add to a web page that labels your content so search engines understand it precisely — not just the words on the page, but their meaning. It uses a shared vocabulary from Schema.org, a project backed by Google, Microsoft, Yahoo, and Yandex.

Here’s the analogy. A web page without schema is like a box of loose paperwork handed to a clerk — all the information is there, but they have to read every page and guess what’s important. Schema markup is like attaching a neatly filled-out cover form: Name here, address here, phone number here, price here, rating here. The clerk (the search engine) can now file it instantly and correctly. Same information — but now it’s labelled, so nothing is guessed.

The preferred format is JSON-LD (JavaScript Object Notation for Linked Data) — a small, self-contained block of code that sits quietly in your page’s code and is invisible to human visitors. Instead of scattering labels through your visible HTML, JSON-LD keeps all the structured facts in one clean block, which is exactly why Google recommends it.

Why schema markup matters for your SEO

Schema doesn’t directly boost your ranking position, but it makes your existing listing far more powerful — and increasingly, it’s how machines decide whether to cite you at all:

  • It unlocks rich results. Structured data is what powers the enhanced listings you see in Google — star ratings under a product, an FAQ dropdown, recipe cook times, event dates, business hours, and more. These take up more space and earn more clicks than a plain blue link.
  • It feeds AI search. AI assistants and answer engines (Google’s AI Overviews, ChatGPT, Perplexity) rely on structured, unambiguous data to understand and summarise pages. Schema markup makes your content easier for them to parse and cite accurately — a growing source of visibility.
  • It builds a knowledge graph. Organization and LocalBusiness schema help Google connect your brand, logo, social profiles, and contact details into the “knowledge panel” that can appear beside branded searches.

ScoutRival’s SEO Score checks whether your pages include valid JSON-LD structured data and flags this as a medium-severity item in the Structured Data pillar when it’s missing. Because rich results and AI citations are becoming central to visibility, it’s a smart win to clear.

How to check if you have this problem

Two quick ways to see whether your pages already have schema:

  1. The 30-second manual check. Open Google’s Rich Results Test, paste in your page URL, and click Test URL. If it finds structured data, it lists the types (Organization, Article, Product, etc.). If it says “No items detected,” you have none.
  2. The Schema.org validator. The Schema Markup Validator does the same and shows every schema type found on the page, along with any warnings.

Then let ScoutRival check your whole site at once: re-run your SEO audit and open the “Add structured data (JSON-LD)” item to see which pages are missing markup.

How to fix it — step by step

First, decide which schema type each page needs — match the schema to what the page is:

  • Homepage / About: Organization (or LocalBusiness if you have a physical location).
  • Blog posts / news: Article or BlogPosting.
  • Product pages: Product (with Offer for price and AggregateRating for reviews).
  • FAQ pages / sections: FAQPage.
  • Contact / storefront: LocalBusiness with address and opening hours.

Here’s the platform-by-platform path.

WordPress

WordPress makes this easy through SEO plugins, which generate valid schema for you from simple forms:

  1. Most SEO plugins add schema automatically. Yoast SEO and Rank Math both output Organization/Person and Article schema out of the box once configured.
  2. In Rank Math, go to Titles & Meta (and per-post Schema tab) to pick a schema type per page or post — it builds the JSON-LD for you.
  3. In Yoast, set your site representation under Yoast SEO → Settings → Site representation, and it adds Organization schema site-wide.
  4. For product schema, WooCommerce adds Product markup automatically. For FAQ schema, use a dedicated FAQ block or plugin.

Wix

Wix generates baseline structured data automatically and lets advanced users add custom schema:

  1. Wix automatically adds core schema (like LocalBusiness from your Business Info and BlogPosting on blog posts) — fill out your business details in Settings so it’s accurate.
  2. To add or extend schema on a specific page, open the page in the editor, go to SEO Settings → Advanced SEO → Structured data markup, and paste a custom JSON-LD snippet there.
  3. Save and publish.

Squarespace

Squarespace includes some structured data by default and supports custom JSON-LD via code injection:

  1. Squarespace adds basic schema automatically (for example, on blog posts and products). Keep your business information filled in under Settings so it’s accurate.
  2. To add custom schema (like Organization or FAQPage), paste a JSON-LD block into Settings → Advanced → Code Injection → Header for site-wide markup, or into a specific page’s Page Settings → Advanced → Page Header Code Injection.
  3. Save and check the page with the Rich Results Test.

Webflow

Webflow doesn’t add schema by default, but it’s simple to add via the custom code area:

  1. For site-wide markup (like Organization), open Project Settings → Custom Code and paste your JSON-LD block into the Head Code field.
  2. For per-page markup (like Article on a blog post), open the page’s settings → Custom Code and paste the JSON-LD there. On CMS collection pages, you can use dynamic field bindings inside the code embed so each item gets its own values.
  3. Click Save, then Publish.

Shopify

Shopify themes ship with product and organisation schema built in; you extend it in the theme code:

  1. Most current Shopify themes automatically include Product schema (with price and availability) and Organization markup — confirm with the Rich Results Test on a product page.
  2. To add or fix schema, go to Online Store → Themes → ⋯ → Edit code, and add your JSON-LD to the relevant template (for example, theme.liquid for site-wide, or a product template for product-specific markup).
  3. Alternatively, install a dedicated structured data / SEO app from the Shopify App Store to manage schema without touching code.

Any other website (custom or unlisted CMS)

If you hand-code your site or use an unlisted builder, you add the JSON-LD block directly to your page’s code — in the <head> or just before the closing </body> tag:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Brand Name",
  "url": "https://yoursite.com"
}
</script>

Steps:

  1. Pick the schema type that matches the page (Organization, Article, Product, FAQPage, LocalBusiness…).
  2. Add the JSON-LD <script> block to that page, filling in accurate, real values — never mark up information that isn’t actually visible on the page.
  3. Validate it with the Rich Results Test before you rely on it.

For pages that are the same type across your site (like every blog post being an Article), add the schema to that template so each new page inherits it automatically.

How to confirm it’s fixed

  1. Re-run the Rich Results Test on the pages you updated. It should now detect your schema and report whether the page is eligible for rich results — with any errors or warnings listed to fix.
  2. Check the Schema Markup Validator for a clean pass with no errors.
  3. Watch Google Search Console. Over time, the Enhancements reports (Products, FAQs, Breadcrumbs, etc.) will show valid items being recognised — and rich results may start appearing in search.
  4. Re-run your ScoutRival SEO audit. The “Add structured data (JSON-LD)” item should now pass, and your Structured Data pillar score should improve.

Common mistakes to avoid

  • Marking up content that isn’t on the page. Google’s guidelines require that structured data reflect the visible content. Adding fake reviews or hidden info can trigger a manual penalty — only mark up what a visitor actually sees.
  • Using the wrong schema type. Product schema on a blog post, or FAQPage on a page with no visible FAQ, confuses engines and can be flagged. Match the type to the page.
  • Leaving in placeholder values. Copy-pasting a template and forgetting to swap “Brand Name” or the URL is common — always fill in your real details.
  • Skipping validation. A single missing comma or bracket breaks the whole block silently. Always run the Rich Results Test after adding schema.
  • Expecting instant rich results. Valid schema makes you eligible — Google still decides when to show rich results, and it can take days or weeks to appear.

The bottom line

Schema markup is how you hand search engines (and AI assistants) a neatly labelled version of your content instead of a box of loose paperwork. Pick the schema type that matches each page — Organization for your homepage, Article for posts, Product for products — add the JSON-LD, validate it, and you become eligible for the richer, more eye-catching listings that win clicks and citations.

Want to see exactly which of your pages are missing structured data — and which other quick wins will move your score the most? Run a free SEO Score with ScoutRival for a prioritised, plain-English checklist. To make your shared links and previews just as machine-friendly, pair this with our guide on adding Open Graph titles.

Frequently asked questions

What is schema markup?
Schema markup is code you add to a web page that describes its content to search engines using the shared Schema.org vocabulary. It labels your information — business, product, article, FAQ — so engines understand it precisely and can show richer search listings.
What is JSON-LD?
JSON-LD (JavaScript Object Notation for Linked Data) is the format Google recommends for schema markup. It's a self-contained block of code you place in your page that holds all the structured facts in one tidy spot, invisible to visitors but readable by search engines and AI.
Does schema markup help SEO?
Yes, though indirectly. Schema doesn't change your ranking position by itself, but it can unlock rich results (star ratings, FAQs, prices) that earn more clicks, and it helps AI search engines understand and cite your pages. Both increase your visibility.
What schema type should I use?
Match the schema to what the page is: Organization or LocalBusiness for your homepage and contact page, Article or BlogPosting for blog posts, Product for product pages, and FAQPage for pages with a visible FAQ section.
How do I add schema markup on Squarespace or Wix?
On Squarespace, paste a JSON-LD block into Settings → Advanced → Code Injection (site-wide) or a page's header code injection. On Wix, use SEO Settings → Advanced SEO → Structured data markup on the page. Both also generate some basic schema automatically from your business info.
How do I test if my schema markup is working?
Use Google's Rich Results Test — paste your page URL and it lists the structured data it detects and whether the page is eligible for rich results. The Schema.org Markup Validator does the same and flags any errors or warnings.
Why isn't my rich result showing even though my schema is valid?
Valid schema makes you eligible for rich results, but Google decides whether and when to display them. It can take days or weeks after adding valid markup, and Google may choose not to show a rich result for certain pages or queries. Keep the markup accurate and be patient.
Nasir Uddin
Nasir Uddin SEO & Growth Lead · ScoutRival

Nasir Uddin is an SEO consultant and ScoutRival's SEO & Growth Lead. He's spent years helping small businesses climb the search results — and now the AI answers too — and writes about SEO, AI-search visibility, and turning organic traffic into real growth.

Your unfair advantage

Stop reading about it. Ship it this week.

ScoutRival turns competitor intel into ready-to-post content and graphics — for a fraction of an agency.