You've spent hours writing detailed product descriptions, uploading beautiful photos, and setting competitive prices — but when you search for your products on Google, your listings look plain. Meanwhile, your competitors show star ratings, prices, stock availability, and review counts right in the search results. They're getting the clicks. You're getting skipped.
The difference is schema markup — and setting it up on your WooCommerce store is less intimidating than it looks.
30%+
Rich results consistently achieve significantly higher click-through rates than standard listings. More clicks from the same search ranking means more revenue without spending a penny more on ads.
What Is Schema Markup and Why Does It Matter for Your Store?
Schema markup is a small snippet of structured code added to your web pages to help search engines understand what your content is about. It doesn't change what's on the page — it tells Google exactly what to expect.
For product pages specifically, schema markup communicates details like:
- Product name and description
- Price and currency
- Availability (in stock, out of stock, pre-order)
- Star ratings and number of reviews
- Brand and manufacturer
- SKU and product identifiers (like GTIN or MPN)
When Google reads this structured data, it can display rich results (sometimes called rich snippets) — those enhanced search listings that show prices, ratings, and availability directly below your page title. Here's why that matters in real terms:
Before schema markup: Your search listing shows a blue title, a green URL, and two lines of grey description text. It blends in with every other result on the page.
After schema markup: Your listing shows a blue title, a green URL, your description — plus gold star ratings (4.7 out of 5), a price (£34.99), and a green "In stock" badge. It visually dominates the results.
Studies consistently show that rich results achieve significantly higher click-through rates than standard listings. For an ecommerce store, that means more visitors from the exact same search rankings you already have — without spending an extra penny on ads.
How WooCommerce Handles Schema by Default
WooCommerce already adds some basic schema markup to your product pages out of the box. It uses a format called JSON-LD (JavaScript Object Notation for Linked Data), which is Google's preferred method of reading structured data.
By default, WooCommerce typically includes:
- Product name
- Product description
- Price and currency
- Product image URL
- Basic availability status
However, this default markup is often incomplete or generic. Common gaps include:
- Missing review and rating data — even when your products have reviews, the schema might not reference them properly
- No brand information — Google uses brand data to match products to searches
- Missing product identifiers — GTIN (Global Trade Item Number), MPN (Manufacturer Part Number), and SKU fields are often empty in the structured data
- Incomplete offer details — price valid dates, seller information, and shipping details may be absent
- Conflicts from your theme — some WordPress themes inject their own schema markup, creating duplicate or conflicting data that confuses Google
Test your schema before changing anything
Before you install anything or change any settings, your first step should be testing what's already there.
How to Test Your Current Schema Markup
- Go to Google's Rich Results Test
- Enter the URL of one of your product pages
- Click "Test URL" and wait for the results
- Look for a "Product" item in the detected structured data
- Note any warnings (yellow triangles) or errors (red circles)
Run this test on at least three different product pages — a simple product, a variable product (one with size or colour options), and a product with reviews. You'll likely find that each has different issues. Write down every warning and error. This becomes your checklist for what to fix.
Setting Up Schema Markup With a Plugin (Step by Step)
For most WooCommerce store owners, a dedicated SEO plugin is the most reliable way to add complete, properly formatted schema markup without touching any code. While there are several options available, the two most widely used are Yoast SEO (with its WooCommerce add-on) and Rank Math.
Both tools handle schema markup for WooCommerce products. Here's a step-by-step walkthrough using the general approach that applies to either:
Step 1: Install and Activate Your SEO Plugin
- From your WordPress dashboard, go to Plugins → Add New
- Search for your chosen SEO plugin and click Install Now
- Click Activate once installed
- If you're using Yoast, you'll also need the Yoast WooCommerce SEO premium add-on to get full product schema support. Rank Math includes WooCommerce schema integration in both its free and paid versions.
- Run through the setup wizard — both plugins offer one when first activated
Step 2: Configure Global Schema Settings
Before touching individual products, set your store-wide defaults:
- Navigate to your SEO plugin's Schema or Structured Data settings
- Set your Organization name and upload your logo — this gets attached to every page's schema
- Under the product page defaults, ensure the schema type is set to Product
- Enable automatic product schema generation — this tells the plugin to pull data from your WooCommerce product fields automatically
Step 3: Add Missing Data to Individual Products
This is where most of the real improvement happens. Open any product in your WooCommerce editor and scroll down to the SEO plugin's settings panel. Fill in these fields:
- Brand name — if you sell products from other brands, enter the manufacturer name. If you make your own products, enter your store name.
- GTIN / EAN / UPC — this is the barcode number on your product's packaging. If you sell branded goods, the manufacturer can provide this. Google increasingly expects this for product schema.
- MPN (Manufacturer Part Number) — the unique number the manufacturer assigns to each product. Check supplier documentation or the product's original packaging.
- SKU — WooCommerce already has a SKU field in the product data panel. Make sure it's filled in.
If you have hundreds of products, prioritise your top 20 best-sellers first. Getting complete schema on your highest-traffic pages delivers the biggest impact fastest.
Step 4: Ensure Reviews Connect to Your Schema
If your products have customer reviews, make sure the schema includes aggregate rating data:
- In your SEO plugin settings, look for an option to include review/rating data in product schema
- Enable it
- Verify that WooCommerce's built-in review system is active: go to WooCommerce → Settings → Products and ensure "Enable product reviews" is checked
If you use a third-party review plugin (like a reviews app that imports from external platforms), check that it's compatible with your SEO plugin's schema output. Some review plugins add their own schema, which can create conflicts — we'll cover how to detect that next.
Step 5: Handle Variable Products Correctly
Variable products — those with options like size, colour, or material — need special attention. Each variation can have a different price and stock status, and Google wants to see this reflected in the schema.
Most SEO plugins handle this by generating an Offer for each variation within the product schema. To make sure this works correctly:
- Open a variable product in your WooCommerce editor
- Under the Variations tab, confirm every variation has its own price, SKU, and stock status filled in
- Check that your SEO plugin is set to output schema for all variations, not just the default selection
Run the Rich Results Test on a variable product URL after making changes to confirm Google sees multiple offers with different prices.
Fixing Common Schema Errors and Warnings
After configuring your plugin, run Google's Rich Results Test again on several product pages. Here are the most common issues you'll encounter and exactly how to fix them:
"Missing field: brand" — Go to each product's SEO settings and add the brand name. For your own products, use your store name consistently.
Duplicate schema from your theme will break your rich results
"Missing field: review" or "Missing field: aggregateRating" — This appears on products with no reviews yet. You can't fake reviews, but you can encourage real ones by sending post-purchase follow-up emails asking for feedback. In the meantime, this warning won't prevent your other data from displaying.
"Missing field: gtin, isbn, or mpn" — Add at least one of these product identifiers. For handmade or custom items without a GTIN, adding an MPN (which you can create yourself as a unique reference code) satisfies this requirement.
Duplicate schema detected — This happens when your theme, your SEO plugin, and possibly a review plugin all output their own product schema. To fix it:
- Check your theme's documentation for a way to disable its built-in schema output
- In your SEO plugin, look for an option to strip other schema markup or handle conflicts
- As a last resort, ask your developer to remove the duplicate schema from your theme's template files
Price shows as "0" or is missing — This usually means the product doesn't have a regular price set in WooCommerce, or the currency isn't configured properly. Go to WooCommerce → Settings → General and confirm your currency is set correctly.
If troubleshooting feels overwhelming, consider running your store through our free site audit tool — it flags structured data issues alongside other SEO opportunities you might be missing.
Advanced Schema Enhancements Worth Adding
Once you've covered the basics, there are a few additional schema properties that can further improve how your products appear in search:
Shipping and Returns Information
Google can display shipping costs and return policies directly in search results. To add this:
- In your SEO plugin or a dedicated schema plugin, look for shippingDetails and returnPolicy schema options
- Add your standard shipping rate, delivery time range, and the regions you ship to
- Specify your return window (e.g., 30 days) and whether you offer free returns
Merchant Listing Schema
If you participate in Google Shopping (even the free listings), having complete Product schema with merchant-specific fields helps your products appear in the Shopping tab. Key fields include:
- Shipping weight and dimensions
- Condition (new, used, refurbished)
- Availability date for pre-orders
FAQ Schema on Product Pages
If your product pages include an FAQ section (which is excellent for both customers and SEO), you can mark those questions up with FAQPage schema. Some SEO plugins support this natively — you add your Q&A pairs in a dedicated block, and the plugin generates the schema automatically.
If you don't have FAQ content yet, the free FAQ generator creates relevant questions and answers for any product — ready to paste into your page and mark up with schema.
For stores built on WordPress and WooCommerce, these enhancements pair well with a broader technical SEO strategy. If you're looking for expert help to audit and optimise your entire store's search presence, our ecommerce SEO services cover everything from schema to site structure.
Monitoring Your Rich Results Over Time
Setting up schema is not a one-time task. You need to monitor it to ensure Google continues to read your data correctly, especially after theme updates, plugin updates, or product changes.
Here's your ongoing monitoring routine:
- Google Search Console — Go to the Enhancements section in the left sidebar. You'll see a Products report showing how many of your pages have valid product schema, how many have warnings, and how many have errors. Check this at least once a month.
- Spot-check after updates — Every time you update your WordPress theme, your SEO plugin, or WooCommerce itself, run the Rich Results Test on two or three product pages to make sure nothing broke.
- Track click-through rates — In Google Search Console's Performance report, filter by pages that have product schema. Over time, you should see CTR improvements on pages where rich results appear compared to your previous baseline.
- Add schema to new products — Build it into your product launch process. Every time you add a new product, fill in the brand, GTIN/MPN, and other schema fields before publishing.
Your Next Step
Add GTIN or MPN to satisfy Google's product identifier requirement
Key takeaway
Pick your single best-selling product, run it through Google's Rich Results Test, and write down every warning and error. Then install or configure your SEO plugin following the steps above, fill in the missing fields for that one product, and test it again. When you see clean, green, validated results — repeat the process for your next nine best-sellers. Within an afternoon's work, your top products will be eligible for rich results that make your competitors' plain listings look invisible.




