
Short answer: Schema markup is code, usually in JSON-LD format, that uses the Schema.org vocabulary to tell search engines exactly what a page contains, such as a product, article, business or event. It does not directly improve rankings. What it does is help Google understand the page and make it eligible for rich results, such as review stars or product prices, which can earn more clicks.
This guide is for site owners, marketers and developers who keep hearing that they “need schema” and want to know what it really does, which types are worth adding in 2026, and how to add and test them without breaking anything. I have written it from the way I implement structured data on client sites, including the mistakes I most often have to undo.
What is schema markup?
Schema markup is a shared vocabulary of types (such as Product, Organization, Article or LocalBusiness) and properties (such as name, price, address or author) that you add to a page as code. Search engines read it to understand the page without having to guess from the text. The vocabulary is maintained at Schema.org, a project launched in 2011 by Google, Microsoft and Yahoo, with Yandex joining later that year.
The terms get mixed up, so here is how I use them:
- Structured data is the general idea: information in a fixed, machine-readable format.
- Schema.org is the vocabulary most structured data on the web uses.
- Schema markup is that vocabulary added to a page as code.
- Rich results (often called rich snippets) are the enhanced listings Google may show when it finds valid markup, such as star ratings, prices, breadcrumbs or event dates.
A simple example
Here is JSON-LD for a local business. It sits in a script tag anywhere in the page’s HTML and is invisible to visitors:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "Example Dental Clinic",
"url": "https://www.example.com/",
"telephone": "+92-21-0000000",
"address": {
"@type": "PostalAddress",
"streetAddress": "Block 13, Gulistan-e-Johar",
"addressLocality": "Karachi",
"addressCountry": "PK"
},
"openingHours": "Mo-Sa 10:00-20:00",
"sameAs": ["https://www.facebook.com/exampleclinic"]
}
</script>Every value in it must match what visitors can see on the page. That rule matters more than any other, and I come back to it below.
Does schema markup affect SEO?
Yes, but not in the way many guides claim. Structured data is not a ranking factor: in my Google ranking factors list it is labelled a myth as a direct boost. Google says so in plain terms too. When it removed several rich result types in 2025, it stated that the change “won’t affect how pages are ranked”, and a structured data manual action removes rich result eligibility without affecting how the page ranks.
Where schema does help:
- Rich results and clicks. A listing with prices, stock status or review stars stands out. Google’s own case studies report a 25% higher click-through rate for Rotten Tomatoes pages with structured data, an 82% higher click-through rate for Nestlé pages shown as rich results, and a 35% increase in visits for Food Network after enabling search features on 80% of its pages. These are Google-published case studies from individual brands, not averages you should expect.
- Understanding and entities. Organization, Person and sameAs properties help Google connect your site to your business, its profiles and its people, which is the core of entity-based SEO. This supports a consistent Knowledge Graph presence over time.
- Merchant and local features. Product, offer and shipping markup feed shopping experiences alongside Merchant Center.
- AI search. No search engine has said structured data is required to be cited in AI answers. But clear, consistent facts about who you are and what you sell are easier for any system to use correctly, which is why I keep Organization and Product markup accurate on every site.
Not sure if this is hurting your site?
Get the fixes that matter most, in priority order.
JSON-LD, Microdata or RDFa?
| Format | How it works | Best for | My view |
|---|---|---|---|
| JSON-LD | A separate script block, not mixed into the visible HTML | Almost every site; easy to add via plugins, templates or a tag manager | Use this. Google recommends it where your setup allows |
| Microdata | Attributes added to the HTML elements themselves | Older themes and some e-commerce platforms that already output it | Fine if it is already there and valid; do not hand-write new Microdata |
| RDFa | Attributes added to HTML, similar to Microdata | Some CMSs and publishing systems | Rarely the right choice for a new implementation |
Google treats all three as equally valid when they are implemented correctly. The practical issue is duplication: a theme outputting Microdata and a plugin outputting JSON-LD for the same product can create conflicting data. Pick one source per entity.
Which schema types are worth adding in 2026?
Schema.org has hundreds of types, but Google uses only a small set for search features, and that set has been shrinking. In August 2023 Google limited FAQ rich results to well-known government and health sites and later removed How-to rich results entirely. In June 2025 it announced the phase-out of seven more: Book Actions, Course Info, Claim Review, Estimated Salary, Learning Video, Special Announcement and Vehicle Listing (Google Search Central Blog, 2025). Always check Google’s current search gallery before building anything new.
| Site type | Types I add first | What it can show |
|---|---|---|
| Any site | Organization (or LocalBusiness), WebSite, BreadcrumbList | Business details, site name, breadcrumb trail on desktop results |
| Online shop | Product with Offer, price, availability, shipping and return details; AggregateRating only for genuine reviews | Prices, stock, ratings, shopping features |
| Local business | LocalBusiness subtype (Dentist, Restaurant, LegalService), address, hours, phone | Supports consistent business information alongside your Google Business Profile |
| Blog or publisher | Article or BlogPosting with author (Person), datePublished, dateModified, image | Better article understanding and author attribution |
| Events | Event with date, location, offers | Event listings in results |
| Recipes | Recipe with ingredients, times, images, ratings | Recipe cards with images and times |
| Video publishers | VideoObject with thumbnail, upload date, duration | Video features and key moments |
FAQPage markup still validates and does no harm, and other search engines and tools may read it, but most sites should not expect an FAQ rich result in Google any more. I keep it where it already exists and is accurate; I do not add it for the sake of a rich result.
For local businesses, my guide to schema for local SEO covers LocalBusiness subtypes and service areas in more depth.
How to add schema markup
- Decide what each page is. One main entity per page: a product page describes a Product, a service page a Service or LocalBusiness, an article an Article.
- Check Google’s documentation for that type. Note the required and recommended properties. Missing required properties make a page ineligible.
- Generate the code. Use your CMS or plugin where possible, or my free schema markup generator for one-off JSON-LD.
- Test before publishing. Run the code or URL through Google’s Rich Results Test for rich result eligibility, and the Schema Markup Validator for general Schema.org errors. Google’s older tool has been retired; my note on the Structured Data Testing Tool explains what replaced it.
- Deploy. Add it through your plugin, theme template, or Google Tag Manager. Google can read JSON-LD injected by JavaScript, but server-side output is more reliable and easier to debug.
- Monitor. Check the rich result reports under Enhancements in Search Console after Google recrawls, and fix new errors when templates change.
On WordPress
Yoast SEO and Rank Math both output a connected graph of WebSite, Organization or Person, WebPage, Article and BreadcrumbList automatically once you fill in the site representation settings. Rank Math lets you add Product, Event and other types per page; Yoast does this through add-ons. Use one SEO plugin only, and if you add a dedicated schema plugin, switch off overlapping output so you do not publish two Organization entities with different details. More technical WordPress fixes are in my WordPress technical SEO checklist.
Worked example: connecting entities with @id and sameAs
On an agency or consultancy site I give the Organization a stable identifier, such as “@id”: “https://www.example.com/#organization”, and list its official profiles in sameAs (LinkedIn company page, Facebook page, Google Business Profile URL, Crunchbase if it exists). Each Article’s publisher then points to that same @id instead of repeating the details, and the founder’s Person entity uses worksFor with the same @id. The result is one consistent description of the business across every page, rather than dozens of slightly different copies.
Schema mistakes I fix most often
- Marking up content visitors cannot see. Google’s structured data guidelines say not to mark up content that is not visible to readers. A five-star AggregateRating with no reviews on the page is the classic example.
- Self-serving reviews. Review stars for your own business on your own LocalBusiness or Organization pages are not eligible for review rich results.
- Duplicate entities. Theme Microdata plus plugin JSON-LD, or two plugins each declaring a different Organization name.
- Stale facts. Old prices, old opening hours or “InStock” on discontinued products. On retail sites I audit in Pakistan, I often find prices changed in the admin panel while a hard-coded schema block still carries the old figure.
- Wrong type for the page. Product schema on a category page, or Article schema on a service page.
- Product markup on thin pages. Price and stock markup on a product page with a two-line manufacturer description. Markup helps listings, but product descriptions that rank still do the heavy lifting.
- Adding schema instead of fixing content. Markup describes a page; it cannot make a thin page useful. If the page has weak content or poor E-E-A-T signals, fix those first.
Spammy or misleading markup can lead to a manual action. Google says that kind of action removes rich result eligibility rather than affecting ranking, but it is still a wasted effort and a mark against the site’s trust.
Check your understanding
Schema markup quiz
Adding valid Product schema to a page will…
- Move it up the rankings
- Make it eligible for rich results, with no guarantee they appear
- Guarantee review stars in results
Google says correct markup enables a feature but does not guarantee it will be shown, and structured data does not change rankings.
Which format does Google recommend where your setup allows it?
- Microdata
- RDFa
- JSON-LD
Google recommends JSON-LD because it is separate from the visible HTML and easy to maintain, though it supports all three.
A dental clinic adds FAQPage markup to its services page in 2026. What should it expect in Google?
- Probably no FAQ rich result, because Google now shows them mainly for authoritative government and health sites
- An FAQ dropdown on every result
- A penalty for using FAQ markup
Since August 2023 Google shows FAQ rich results only for well-known, authoritative government and health sites. The markup does no harm, but most businesses will not see the rich result.
Your schema says 4.9 stars from 120 reviews, but no reviews appear on the page. What is the problem?
- Nothing, Google reads the schema only
- It marks up content visitors cannot see, which breaks Google’s structured data guidelines
- The rating is too high
Markup must describe content that is visible on the page. Hidden or invented ratings can lead to a manual action that removes rich result eligibility.
Frequently asked questions
Is schema markup a ranking factor?
No. Google has said structured data does not affect ranking. It helps Google understand your content and can make pages eligible for rich results, which may improve click-through rate.
How long does it take for rich results to appear?
Google has to recrawl and reprocess the page first, which can take days or weeks depending on how often it crawls your site. Even then, rich results are not guaranteed. Check the URL in the Rich Results Test and watch the Enhancements reports in Search Console.
Can I add schema markup without a developer?
Yes, on most platforms. WordPress SEO plugins handle the basics, Shopify themes output Product markup, and a generator can create JSON-LD you paste into a custom HTML block or tag manager. Template-wide changes on custom sites usually need a developer.
What is the difference between schema markup and rich snippets?
Schema markup is the code you add. Rich snippets, or rich results, are the enhanced listings Google may choose to show because of that code.
Does schema markup help with AI Overviews?
Google has not said structured data is required for AI Overviews, and its guidance for AI features points to the same fundamentals as normal Search. Accurate markup still helps by stating key facts clearly, so I treat it as good hygiene rather than an AI tactic. My guide to optimising for AI Overviews covers what matters more.
Sources
- Google Search Central, “Introduction to structured data markup in Google Search” (last updated 2025).
- Google Search Central, “General structured data guidelines” (accessed 2026).
- Google Search Central Blog, “Simplifying the search results page”, Henry Hsu (June 2025).
- HTTP Archive, Web Almanac 2024, Structured Data chapter (2024).
- Schema.org, “Organization of Schemas” (accessed 2026).
If you want structured data that matches your content and does not conflict with your theme or plugins, my on-page optimisation service includes a schema review, or you can ask me about your site.
Request received
Thank you! Saad will contact you within the next 24 hours.
Keep an eye on your phone and inbox.
