How I add rich snippets to WooCommerce (4 methods, 2026)
Add rich snippets to your WooCommerce store and show star ratings, prices, and stock status directly in Google. This guide walks you through quick methods to set it up and boost visibility.

Here’s the quickest way to add rich snippets to WooCommerce: install Rank Math, enable the WooCommerce module, and your product pages automatically get Product schema with ratings, price, and stock.
Takes 3 minutes. Google picks it up on the next crawl. That’s the 90% answer. It covers most stores.
But if Rank Math isn’t playing nicely with your theme, or you want review stars showing up when your SEO plugin refuses, or you’d rather hand-code the JSON-LD for full control, this guide walks through every real method I’ve used.
I’ll also cover the ugly problems nobody warns you about: duplicate schema from two plugins fighting each other, aggregate rating errors in Search Console, and why your stars disappear three days after they show up.
By the end, you’ll know exactly which method fits your setup and how to validate that Google actually sees it.
What are rich snippets and schema markup (the 60-second version)

Schema markup is invisible code you add to a page so Google knows what’s on it. Not just “this page has words about a chair” but “this is a Product called Oak Dining Chair, priced at $249, in stock, with a 4.7 star rating from 86 reviews.”
Rich snippets are what happen when Google uses that schema to upgrade your search listing. Instead of a plain blue link, you get stars, price, availability, sometimes even an image.
Listings with rich snippets consistently out-click listings without them, which is the whole reason anyone bothers with this.
One thing to clear up: schema markup and rich snippets aren’t the same thing. Schema is the code you ship. Rich snippets are what Google chooses to show.
You can have a perfect schema and still not get stars, because Google makes the final call based on site quality, review authenticity, and a dozen signals outside your control. Most stores with a clean schema do get them, usually within 3 to 12 weeks.
The schema types a WooCommerce store actually needs

Before jumping into plugins, know what you’re marking up. If you try to add everything, you’ll end up with a mess of conflicting schemas that Google ignores. Stick to these five, in this order of priority:
1. Product schema: The one that matters most. Covers name, image, description, SKU, brand, price, stock status, and review data. This is what triggers the star rating and price display in search. Every product page needs it.
2. Offer schema: Technically nested inside Product schema. Carries price, currency, sale price, availability, and shipping details. Rank Math and Yoast add this automatically when Product schema is enabled.
3. AggregateRating and Review schema: Also nested inside Product. AggregateRating is the single average (4.7 stars from 86 reviews). The review schema is for each individual review. Getting these right is what puts stars in your search listing.
4. BreadcrumbList schema: Describes your site hierarchy (Home → Category → Product). Helps Google show breadcrumbs under your listing instead of a long URL. Small CTR win, free to add.
5. Organization or LocalBusiness schema: Site-wide, not per product. Holds your brand name, logo, address, and contact details. Helps Google build your knowledge panel and assign authorship signals.
FAQ and HowTo schema get tempting because they used to trigger rich results. Google dialed those back in 2023, and they rarely show up on commercial pages now. Don’t waste time on them for product pages.
All your reviews in one place
Collect reviews, manage every response, and display them where they matter most.
Start Free →Pick the right method for your store
Most WooCommerce stores don’t need multiple schema plugins. Pick one based on what you already have installed and what you actually need.
| Your situation | Best method | Setup time |
|---|---|---|
| Already using Rank Math or want the simplest all-in-one | Method 1: Rank Math | 3 minutes |
| Already using Yoast SEO | Method 2: Yoast + Yoast WooCommerce SEO | 4 minutes |
| Stars aren’t showing despite the schema being set up | Method 3: Add a dedicated review plugin | 5 minutes |
| The developer wants full control over every field | Method 4: Manual JSON-LD | 15 minutes |
Whatever you pick, don’t stack two methods on the same schema type. Two plugins, both emitting Product schema, are the fastest way to break your rich snippets.
Method 1: Add rich snippets with Rank Math (recommended for most stores)
Rank Math auto-detects WooCommerce, pulls product data straight from your product fields, and outputs valid Product schema with zero per-product setup. For most WooCommerce stores this is the right answer.
Step 1: Install Rank Math and activate the WooCommerce module

Go to Plugins → Add New, search “Rank Math SEO,” install, and activate. Run the setup wizard if it’s your first time.
Then open Rank Math → Dashboard and scroll to the modules list. Find the WooCommerce module and toggle it on. This enables WooCommerce-specific schema features.
Step 2: Configure Product schema defaults

Go to Rank Math → Titles & Meta → Products. Scroll to the Schema section. Make sure Schema Type is set to Product. Rank Math sets this by default, but confirm it hasn’t been overridden.

Under Rank Math → General Settings → WooCommerce, check that Remove WooCommerce Generator Tag and Remove Schema.org Markup are both enabled. The second one is critical. It stops WooCommerce from emitting its own basic schema, which would otherwise conflict with Rank Math’s richer version.
Step 3: Confirm the output
Open any product page on your store in an incognito tab. View the source and search for application/ld+json. You should see one Product schema block with your product’s name, price, SKU, brand, and (if the product has reviews) aggregateRating and review arrays.
If you see two Product schema blocks, your theme or another plugin is also emitting schema. Go back to Method 1, Step 2, and make sure the WooCommerce generator is turned off.
Rank Math handles price, availability, SKU, and brand automatically from WooCommerce product fields. It also picks up review data from the built-in WooCommerce review system and adds aggregateRating. No per-product work needed.
Method 2: Add rich snippets with Yoast SEO
Yoast is the other big SEO plugin. It ships basic Product schema in the free version and adds fuller ecommerce schema (GTIN, MPN, shipping details, offers) in the paid Yoast WooCommerce SEO addon.
Step 1: Install Yoast SEO and Yoast WooCommerce SEO

Install Yoast SEO from the plugin directory. For full product schema support, you’ll also want Yoast WooCommerce SEO, a paid add-on from Yoast.com.
The free Yoast plugin alone gives you a basic Product schema. The addon adds OpenGraph tags optimized for product shares, breadcrumb improvements, and the shipping and delivery fields that Google’s been pushing since 2022.
Step 2: Enable schema in Yoast settings

Go to Yoast SEO → Settings → Content Types → Products. Scroll to the Schema section. Set Page type to Item Page and Article type to Not an article type. This tells Yoast the page is a product listing, not a blog post.
Under Yoast SEO → Settings → Site features, turn on Schema.org data if it isn’t already.
Step 3: Configure the WooCommerce add-on (if installed)

With Yoast WooCommerce SEO active, open a product and scroll to the Yoast metabox. You’ll see new fields for Brand, GTIN, MPN, and shipping details. Fill these in for each product you want to achieve rich results for.
Brand and at least one identifier (GTIN or MPN) matter the most.
Google’s Merchant Center has been stricter about requiring product identifiers since 2024, and passing them through Yoast’s schema helps with both organic rich results and Shopping listings.
Save the product. View source on the live page to confirm a single Product schema block is present.
Method 3: Get review stars to show with a dedicated review plugin

Here’s a problem plenty of store owners hit: Rank Math or Yoast is installed, Product schema is outputting fine, everything validates in the Rich Results Test, but the stars in Google search still don’t show up.
The usual cause is review data. Rank Math and Yoast read reviews from WooCommerce’s native review system. If your reviews live in a third-party plugin like Judge.me or Reviews.io, Rank Math can’t always pull the data into its schema.
I’ve seen this break rich snippets on dozens of stores. Google sees Product schema without aggregateRating and hides the stars.
A dedicated review plugin that outputs its own JSON-LD review schema solves this. Below is the WiserReview flow as an example, but the same pattern applies to most review-focused plugins.
Step 1: Install the plugin

From your WordPress dashboard, go to Plugins → Add New, search “WiserReview,” and click Install, then Activate. The plugin panel appears in your left menu.
Step 2: Connect your account
Open WiserReview → Settings inside WordPress.

Paste your API key from your WiserReview account.

You can find the API key inside your WiserReview dashboard under Settings → API Key. Log in to WiserReview if you’re not already signed in.
Click Save and your products sync automatically. Each review gets mapped to the correct WooCommerce product.
Step 3: Enable the rich snippet toggle

Turn on Generate Product Review Rich Snippet. The plugin injects JSON-LD review schema into the product page <head> automatically. What gets included:
- Aggregate star rating
- Total review count
- Individual review text (for top reviews)
- Product name, image, and SKU from WooCommerce
No code edits. Once enabled, Google can read review data on every product page.
Step 4: Critical check, make sure products have approved reviews
No reviews means no stars. Google won’t show aggregateRating unless the product actually has at least one approved review in the database.
If you just launched, collect a few reviews first (even 3 or 4 is enough to trigger stars in most niches).
Step 5: Test the output
Open Google’s Rich Results Test, paste a product URL, and run it. You should see “Product detected” with no errors and “aggregateRating” present.
If there are warnings about missing fields, such as GTIN or brand, leave them as is for now. Warnings don’t block rich snippets; errors do.
All your reviews in one place
Collect reviews, manage every response, and display them where they matter most.
Start Free →Method 4: Manual JSON-LD schema (developer route)
Hand-coding schema gives you full control and zero dependency on plugin updates. Use this when plugins are conflicting, when you need fields no plugin exposes, or when you’re building a custom theme and want schema baked into the template.
Step 1: Pick where to inject the code
You have three options. In descending order of safety:
- A child theme’s functions.php file with a
wp_headhook. Safe because theme updates won’t overwrite it. - A custom plugin you create in
/wp-content/plugins/your-schema/. Safest option. Survives theme changes. - Code Snippets plugin. Great for non-developers. Adds a GUI for PHP snippets.
Avoid editing single-product.php directly unless you’re comfortable with WooCommerce templating. It’s easy to break the template loop.
Step 2: Add the Product JSON-LD snippet
Here’s a minimal but complete Product schema for a WooCommerce product page. Paste this inside a function hooked to wp_head:
<script type=”application/ld+json”>
{
“@context”: “https://schema.org/”,
“@type”: “Product”,
“name”: “Your Product Name”,
“image”: “https://example.com/image.jpg”,
“description”: “Short product description”,
“sku”: “SKU123”,
“brand”: {
“@type”: “Brand”,
“name”: “Brand Name”
},
“offers”: {
“@type”: “Offer”,
“url”: “https://example.com/product-page”,
“priceCurrency”: “USD”,
“price”: “99.99”,
“availability”: “https://schema.org/InStock”,
“itemCondition”: “https://schema.org/NewCondition”
},
“aggregateRating”: {
“@type”: “AggregateRating”,
“ratingValue”: “4.5”,
“reviewCount”: “24”
}
}
</script>
For a real store, you’d replace the hardcoded values with WooCommerce function calls like $product->get_name(), $product->get_price(), $product->get_sku(), and $product->get_average_rating().
Step 3: Required fields (don’t skip these)
Google treats some fields as required for product-rich results: name, image, and at least one of review, aggregateRating, or offers. Skip these, and your snippet won’t show.
Recommended but not required: sku, brand, gtin, mpn, description. Including these improves your chances and unlocks additional rich results features, such as Google Shopping listings.
Step 4: Turn off competing schema
If you’re hand-coding schema, disable auto-schema from your SEO plugin for product pages.
- In Rank Math, go to Titles & Meta → Products and set Schema to None.
- In Yoast, disable the schema output via Settings → Site features.
Two sources of Product schema on one page is the most common cause of broken rich snippets I see.
Step 5: Validate and monitor
Run the Rich Results Test on a live product URL. Fix any errors (red). Warnings (yellow) are usually safe to leave.
Then log in to Google Search Console and open Enhancements → Products. This is where Google reports Product schema errors across your site.
Check it weekly after any schema change.
Plugin comparison: which one should you pick
| Plugin | Product schema | Review schema | Free? | Best for |
|---|---|---|---|---|
| Rank Math | Yes, automatic | Yes (from WC reviews) | Yes | Most WooCommerce stores |
| Yoast SEO (free) | Basic | Limited | Yes | Blog-heavy sites |
| Yoast WooCommerce SEO | Full | Full (GTIN, brand, shipping) | Paid add-on | Shopping-focused stores |
| WiserReview | Adds review layer | Dedicated review schema | Free plan available | Stores where stars aren’t showing |
| All in One Schema | Yes | Yes (author reviews only) | Yes | Lightweight no-SEO-plugin setups |
The combination I see most often in stores that consistently get stars: Rank Math for Product schema, plus a dedicated ecommerce review platform for reliable aggregateRating when WooCommerce native reviews aren’t enough. Only stack them if Rank Math alone isn’t generating stars for you.
Want review stars showing in Google consistently?
WiserReview adds dedicated review schema to your WooCommerce products, so star ratings show up in search even when your SEO plugin misses them.
Start Free →How to test your rich snippets are working

Setting up a schema is one thing. Confirming Google actually reads it is another. Three tools, in order of when you use them:
1. Google Rich Results Test
Go to search.google.com/test/rich-results. Paste a product URL. Run it. You’ll see one of three outcomes:
- Valid. Schema is clean. You’re eligible for rich results, though Google still decides whether to show them.
- Valid with warnings. Schema works, but some recommended fields are missing (GTIN, brand, etc.). Fix if easy, leave if not.
- Errors detected. Something’s broken. Rich results won’t show until you fix it.
Test at least three products: one in stock, one out of stock, and one with variations. Different product states sometimes expose bugs.
2. Schema Markup Validator
At validator.schema.org. This one’s stricter than the Rich Results Test and validates the full schema.org vocabulary, not just what Google uses for rich results. Useful when you’re hand-coding and want to be thorough.
3. Google Search Console → Enhancements
Once Google has crawled your schema (usually within days), Search Console starts showing a Products report under Enhancements. It reports errors at scale across your entire catalog, not just individual URLs. Check this weekly after any schema change.
This is where you’ll catch problems that affect only some products, such as out-of-stock items, missing availability fields, or products with zero reviews triggering aggregateRating warnings.
Common problems and how to fix them

These are the issues I see most often when stores email me because their rich snippets aren’t working. I’ve run through all five of these enough times that my troubleshooting order is muscle memory now.
Problem 1: Duplicate Product schema (two plugins fighting)
Symptom: Rich Results Test shows Product schema is valid, but stars never appear in actual Google search results. View source shows two <script type="application/ld+json"> blocks both containing Product.
Fix: Pick one schema source. If you’re using Rank Math, disable WooCommerce’s built-in schema (Rank Math General Settings → WooCommerce → Remove Schema.org Markup).
If you’re running Yoast and a dedicated schema plugin, disable one of them. Google treats duplicate schema as a quality signal and usually ignores both.
Problem 2: aggregateRating error in Search Console
Symptom: Google Search Console shows errors like “Missing field aggregateRating” or “aggregateRating value is invalid.”
Fix: The product has no reviews yet. aggregateRating can’t be empty or zero. Either collect at least one review before enabling that schema field, or use a filter to exclude aggregateRating on products with no reviews.
Rank Math has a built-in filter for this. Most review plugins handle it automatically.
Problem 3: Wrong schema type applied
Symptom: Product pages are marked up as Article or BlogPosting. Rich Results Test says “This page is not eligible for product rich results.”
Fix: Happens when a blog-focused SEO plugin setting leaks into products. Go to your SEO plugin’s schema settings for products specifically (Rank Math: Titles & Meta → Products; Yoast: Settings → Content Types → Products) and force it to Product or Item Page. Not an article.
Problem 4: Stars showed up, then disappeared
Symptom: Rich snippets appeared for a week or two, then vanished. The schema is still valid.
Fix: Usually means Google downgraded rich result eligibility because review signals look thin or suspicious.
Common causes: reviews posted in a single burst, reviews from the same IP, product descriptions that don’t match the reviews.
Collect reviews organically over time, ensure they come from verified buyers, and avoid templates that encourage identical-sounding feedback.
Problem 5: Reviews exist, but aggregateRating is still empty
Symptom: Product has 10 reviews in WooCommerce, but the schema shows no aggregateRating.
Fix: Three things to check.
- First, reviews must be approved (not pending).
- Second, if you’re using a third-party review plugin (Judge.me, Loox, Stamped), Rank Math or Yoast might not be able to read the review data. You’ll need that plugin’s own schema output.
- Third, clear your site cache and any SEO plugin cache. Rank Math and Yoast cache the schema output for performance, but a stale cache shows old data.
5 tips that actually matter for WooCommerce rich snippets

Five practical tips that help WooCommerce stores generate valid review schema and improve the chances of getting star-rating rich snippets in Google search results.
1. Match schema types to content types exactly
Product schema on product pages. Article schema on blog posts. Not the other way around. Google flags mismatches and drops rich result eligibility.
Your SEO plugin should set defaults per content type; double-check those settings if you migrated from another plugin.
2. Keep schema data visible on the page
If your schema says “In Stock” but the product page says “Out of Stock,” Google penalizes you. Same for prices, star ratings, and any other field.
Rich snippets are a trust layer. Google pulls listings that feel deceptive. Make sure what’s in the schema matches what customers see.
3. Only mark up what you display
Never add schema for content that’s hidden in collapsed accordions, behind JavaScript, or outside the visible viewport.
Google specifically calls this out as a reason to disable rich results. If an FAQ section is only visible after clicking, don’t add FAQPage schema to it.
4. Don’t add every schema type just because you can
Plugins like All in One Schema give you Event, Recipe, Course, and Book schemas. Your WooCommerce store probably doesn’t need any of them.
More schema types means more chances for errors, more Search Console noise, and Google disregarding valid schema because it’s surrounded by irrelevant ones.
Stick to Product, AggregateRating, Review, Breadcrumb, and Organization. That’s it.
5. Re-test after every theme or plugin change
Theme updates can overwrite schema output. Plugin updates can change how JSON-LD gets emitted. New plugins can add a conflicting schema.
Any of these is enough to break rich snippets overnight. Run the Rich Results Test after any site change that touches templates, schema, or the SEO plugin.
Wrap up
For most of the WooCommerce stores, the right answer is Rank Math with the WooCommerce module enabled. Three minutes, no per-product work, clean Product schema that pulls from WooCommerce directly.
If you’re on Yoast, add the WooCommerce SEO add-on for the same effect. If your reviews live in a third-party plugin and stars aren’t showing, add a dedicated review plugin that emits its own review schema.
Hand-code JSON-LD only if you need fields that no plugin exposes, or you’re building a custom theme.
Whichever path you pick, run the Rich Results Test right after setup and check Search Console’s Enhancements report weekly for the first month.
Most problems show up fast, and fixing them while the schema is fresh is much easier than untangling it six months later, when five plugins have touched it.
Rich snippets take 3 to 12 weeks to appear after Google recrawls your pages. Don’t panic if you don’t see stars on day one. Validate the schema, give it time, and keep an eye on Search Console.
All your reviews in one place
Collect reviews, manage every response, and display them where they matter most.
Start Free →Frequently Asked Questions
Common questions about this topic
Written by
Krunal vaghasiya
Krunal Vaghasiya is the founder of WiserReview and WiserNotify, which have served 10,000+ stores since 2020. He helps ecommerce brands build trust through fair, flexible, customer-led review management across every store and market.
Related Articles

How to Add Product Reviews in WooCommerce
Learn how to turn on product reviews in WooCommerce, set them up correctly, and make sure they show on your store. This guide covers each step in a clear and simple way.

How to Collect & Display Video Reviews to WooCommerce
Video reviews help customers see your product in real life. They build trust fast, clear doubts, and increase conversions.

WooCommerce reviews: Pros, cons & honest verdict (2026)
Discover the pros, cons, and honest verdict of WooCommerce in 2026. Learn if this flexible, cost-effective ecommerce platform is right for your business.