Skip to content
Searchpedia SEO field notes Callum Bennett Callum

Site ops

SEO Schema

I wouldn't add schema to every page blind — start with the one page type that actually matters to your traffic and test before rolling out site-wide.

Beginner5 min readUpdated 2026-07-27Notes by Callum Bennett

Start here

  • Pick one page type — product, article, or local business — and add JSON-LD to only that page first.
  • Use Google's Rich Results Test to validate your markup before publishing, and recheck after any changes.
  • Never mark up content that isn't visible on the page — like reviews before any exist — or you risk being ignored.
  • Schema alone won't fix poor content; it only enhances what is already there.

Plain-English take

[Schema markup](/schema-markup/) is a block of code — usually JSON-LD in a <script> tag — that tells search engines exactly what your page contains. Think of it as a label for a machine. Your page still looks normal to a visitor, but Google gets a cheat sheet: this headline is an h1, this number is a price, this paragraph is a review. I use JSON-LD because it sits in the head or body without cluttering the visible HTML, unlike Microdata or RDFa.

The vocabulary comes from [Schema](/schema/).org, a shared standard that covers everything from recipes to events. The most common types for SEO are Article, Product, FAQPage, LocalBusiness, and BreadcrumbList. But here is the catch: schema does not guarantee a rich result. Google decides whether to show stars, prices, or expandable questions based on quality signals, not just the markup.

I once added Product schema to a site with 500 pages and saw zero change in two months. Then I focused on the top 20 products, rewrote the descriptions, and added review schema only after actual reviews appeared. CTR on those pages jumped by about 30%. The markup only worked because the underlying content earned the visibility.

When it actually matters

Schema matters most when your page competes in a crowded SERP where rich results can make the difference between a click and a scroll. If you run a local restaurant, LocalBusiness schema with opening hours and address can push you above plain listings. For an e-commerce site, Product schema with price and availability gives shoppers a reason to choose your result.

But there is a threshold. I have tested FAQ schema on thin FAQ pages — five questions with one-line answers — and got nothing. Google wants substantive content. The same applies to Article schema: if the article is 200 words of fluff, the markup won't save it.

I always start with a [technical SEO audit](/seo-audit/) to identify which pages already have quality content and decent signals. Then I apply schema only to those. For WordPress sites, plugins like Yoast or Rank Math handle JSON-LD cleanly, but I prefer manual control because plugins sometimes apply markup to pages where it doesn't belong — like adding Article schema to a contact page. That is a common cause of over-markup warnings in Search Console.

Testing is non-negotiable. I run every URL through Google's Rich Results Test before and after deployment. If the test shows errors, I fix them before going live. A broken schema is worse than no schema because it wastes crawl budget and can trigger manual actions.

What I got wrong

I used to believe more schema equalled better SEO. Early in my career, I added the same Article markup to every page on a clients site — including the login page. Google ignored the entire set. I then learned that over-markup dilutes the signal; a page about a product should not claim to be an article. Now I match the schema type exactly to the primary content of the page.

Another mistake: marking up content that was not on the page. I added Review schema to a product page that had zero user reviews. I thought it would encourage Google to pull from elsewhere. Instead, the Rich Results Test flagged missing review body. Google's guidelines are clear: the marked-up content must be visible to users. I now only add schema for things I can see on the screen.

I also overlooked the connection between schema and other technical foundations. A page with slow load times and broken [canonical tags](/canonical-tags/) will not benefit from schema. I wasted weeks on markup before fixing [duplicate content](/duplicate-content/) issues that were draining the pages authority. Now I ensure the page is technically sound first, then add schema as the last layer.

Next step

Quick answers

Does schema improve rankings directly?

No, schema is not a ranking factor for organic position. But it can improve click-through rates if it earns a rich result, which indirectly signals relevance to Google. I have seen CTR increases of 20–40% on pages with star ratings or price snippets.

How do I add schema to WordPress without coding?

Plugins like Yoast SEO or Rank Math let you enable schema types per page from the editor. I use Yoast for clients because it outputs valid JSON-LD and respects content visibility. But always check the generated markup with the Rich Results Test before publishing.

Can I use multiple schema types on one page?

Yes, you can combine types such as Article and BreadcrumbList on the same page. Google supports multiple schemas as long as they are valid and describe distinct parts of the page. I nest them in a single JSON-LD block using an @graph array to avoid conflicts.

Sources

Primary documentation is linked directly. Anything commercial is marked nofollow.

Notes from Callum Bennett.