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.
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:
- 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.
- 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(orLocalBusinessif you have a physical location). - Blog posts / news:
ArticleorBlogPosting. - Product pages:
Product(withOfferfor price andAggregateRatingfor reviews). - FAQ pages / sections:
FAQPage. - Contact / storefront:
LocalBusinesswith 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:
- Most SEO plugins add schema automatically. Yoast SEO and Rank Math both output
Organization/PersonandArticleschema out of the box once configured. - 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.
- In Yoast, set your site representation under Yoast SEO → Settings → Site representation, and it adds Organization schema site-wide.
- For product schema, WooCommerce adds
Productmarkup 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:
- Wix automatically adds core schema (like
LocalBusinessfrom your Business Info andBlogPostingon blog posts) — fill out your business details in Settings so it’s accurate. - 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.
- Save and publish.
Squarespace
Squarespace includes some structured data by default and supports custom JSON-LD via code injection:
- Squarespace adds basic schema automatically (for example, on blog posts and products). Keep your business information filled in under Settings so it’s accurate.
- To add custom schema (like
OrganizationorFAQPage), 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. - 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:
- For site-wide markup (like
Organization), open Project Settings → Custom Code and paste your JSON-LD block into the Head Code field. - For per-page markup (like
Articleon 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. - Click Save, then Publish.
Shopify
Shopify themes ship with product and organisation schema built in; you extend it in the theme code:
- Most current Shopify themes automatically include
Productschema (with price and availability) andOrganizationmarkup — confirm with the Rich Results Test on a product page. - To add or fix schema, go to Online Store → Themes → ⋯ → Edit code, and add your JSON-LD to the relevant template (for example,
theme.liquidfor site-wide, or a product template for product-specific markup). - 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:
- Pick the schema type that matches the page (Organization, Article, Product, FAQPage, LocalBusiness…).
- 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. - 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
- 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.
- Check the Schema Markup Validator for a clean pass with no errors.
- 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.
- 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.
Productschema on a blog post, orFAQPageon 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?
What is JSON-LD?
Does schema markup help SEO?
What schema type should I use?
How do I add schema markup on Squarespace or Wix?
How do I test if my schema markup is working?
Why isn't my rich result showing even though my schema is valid?
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.
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.