Skip to main content

The Search Playbook | 10 min read

WooCommerce Schema Markup: Product, Review and Breadcrumb Data

By ยท Updated ยท 10 min read

What schema markup is, in store terms

Schema markup is a block of code on a page that states plainly what the page is about. A shopper reads a price off the screen. A search engine or an AI assistant is helped by a second, machine-readable copy: this is a product, its name is this, its price is that, it is in stock, it has this many reviews with this average.

The common format is called JSON-LD, a small script that sits in the page's code and is invisible to visitors. Our glossary pages on schema markup for WooCommerce and JSON-LD for WooCommerce give the short definitions.

What it earns you is not a ranking jump. It makes your page eligible for richer listings, such as price, availability and star ratings shown beside the result, and it gives crawlers a cleaner read of your products. For product search features in Google, accurate product data is an entry requirement, not a bonus.

One rule governs everything: the markup must match what a visitor can see on the page. Marking up a rating the page does not show, or a price that is wrong, breaks Google's guidelines and can lose you the rich result. Treat structured data as a mirror of the page. If you want someone else to own it, the kinds of paid help for structured data and the rest of the store are laid out in one place.

What WooCommerce adds on its own

WooCommerce outputs basic structured data for products without any extra plugin. On a product page, that generally covers the product's name, description, image, price, currency, availability and, if reviews are on, a rating summary. It also includes some breadcrumb data when your theme uses WooCommerce's breadcrumbs.

That is a reasonable base, and for many small stores it is enough to be eligible for product rich results. It is built from the fields you fill in. A missing price, a product with no image, or an out-of-stock flag that is not updated all flow straight into the markup.

What the default may not include is everything Google would like to see: product identifiers such as a brand or a barcode number where they apply, shipping and return details, and a richer review set. Whether WooCommerce adds more over time depends on its version, so rely on the WooCommerce documentation and your own test results rather than any list we give here.

Run a test on a live product page before you assume anything. The result will tell you more than a description of defaults will.

The short version

Check what WooCommerce already outputs before adding a plugin. Often the work is filling in the product data, not adding markup.

Product markup: the fields that matter

Product markup is the core. Think of it as the facts a shopper wants, in a form a machine can read. The fields that matter most are the ones tied to real data in your store.

Name, image and description. These come from the product title, the featured image and the description. Make them accurate, specific and unique per product, and the markup improves as a side effect.

Price and currency. They must match the price on the page. If you run sales, make sure the price shown and the price in the markup agree after the sale starts and ends. Caching can cause stale prices in markup, so test after a sale begins.

Availability. In stock, out of stock, or on backorder. It should update when stock changes.

Identifiers. A brand name and a barcode or manufacturer number where one exists help search engines match your product to the same product elsewhere. WooCommerce has fields for some of these, and others come from your theme or plugins. Check the current WooCommerce documentation for where to enter them.

Variable products. For a product with options, the markup may describe a range of prices or each option. Test a variable product separately from a simple one, because they are handled differently.

Fill in the data completely, and the page content improves too. The existing WooCommerce product page SEO page covers the visible content the markup mirrors.

Review and breadcrumb markup

Reviews. Star ratings in a result are persuasive, and they come from review markup. The rules are strict. The reviews must be real, from your customers, and visible on the page. Reviews written by the store owner about their own product, or copied from another site, are against Google's guidelines. If reviews are switched off in WooCommerce, there is nothing to mark up, and you should not invent a rating.

A product with no reviews yet should simply have none in its markup. Do not add a fake average to fill the space. Instead, ask real buyers after delivery, and let the count build.

Breadcrumbs. A breadcrumb trail shows a page's place in your site, such as home, category, product. Marked up, it can appear in the search listing in place of a raw address, which reads better. The trail should reflect a real path a shopper could follow. Because a product can sit in several categories, check which category the breadcrumb picks, and that it is the primary one. That choice also ties back to our permalink and duplicate content pages, since a product reachable through several paths can show inconsistent trails.

Other types. A store may also use organization markup on the home page, naming your business, logo and profile links, and FAQ markup on pages that truly contain questions and answers. Google has narrowed which sites get FAQ rich results, so treat FAQ markup as a description of the content rather than a way to win space. The glossary entry on FAQPage schema for WooCommerce sets out what it is and is not.

WooCommerce, your theme or a plugin: who writes the markup

Several parts of your site can write schema: WooCommerce itself, your theme, an SEO plugin, and dedicated schema plugins. The risk is not too little but too much, with duplicate and conflicting versions of the same product.

A common case: WooCommerce writes product data, and your SEO plugin writes its own product data too. Now the page carries two descriptions of the same product, sometimes with different prices or no link between them. Google may use one, ignore both or flag a warning.

Fix it by picking one source for each type of markup. Many SEO plugins have an option to take over WooCommerce's product markup or to leave it alone. Read your plugin's documentation, find the setting, and choose deliberately. We cover the wider job of an SEO plugin on the WooCommerce SEO plugins page.

If you use a page builder or a theme with built-in schema, include it in the check. The test below shows you which items are present and where duplicates sit, and then you turn the extras off at their source.

Keep custom code to a minimum. Hand-written markup in a theme file works until the product changes, and then it is silently wrong. Markup generated from the product data stays right on its own.

How to test it

Two free tools do the job.

Google's Rich Results Test. Paste a live product address or code. It shows which rich result types it found, which are eligible and which have errors or warnings. Errors stop eligibility. Warnings are optional improvements, such as missing recommended fields.

The Schema Markup Validator. It checks the structured data syntax in general, not only the types Google uses for features. It is useful to see everything on the page, including duplicates.

Test these, as in the diagram above: one simple product, one variable product, a product with reviews, a product on sale, an out-of-stock product, and a category page. Each exposes a different weakness.

Then use Google Search Console. Its enhancement reports, where they apply to your store, list products and review snippets across the whole site with counts of valid items, items with warnings and items with errors. That is how you find a problem affecting a hundred products from a single template, and it is the place to watch after a theme or plugin change. Details of what appears depend on your data, so follow Search Console's own help pages for each report.

After fixing, request revalidation in Search Console for the affected report, and allow some weeks. Changes in listings do not appear instantly.

From product data to a rich result Product data, markup, test, then fix at the source. 1. Complete product data Price, stock, images, identifiers, reviews. 2. Markup is added to the page By WooCommerce, your theme or an SEO plugin. 3. Test the live page Rich Results Test and the Schema Markup Validator. Errors or duplicates Two plugins writing the same data. 4. Google may show richer results Price, availability and ratings in the listing.
Structured data describes what is on the page. When it disagrees with the page, fix the page or the data, not just the markup.

Common mistakes

Marking up what is not on the page. A rating, a price or a stock level that a visitor cannot see. Remove it.

Duplicate sources. WooCommerce, an SEO plugin and a theme all writing a product. Choose one.

Stale data. Prices and stock that change on the page but not in cached markup. Test after sales and stock changes.

Fake or borrowed reviews. A direct route to losing the feature.

Treating a green test as success. Valid markup on a thin, unhelpful page still earns nothing. The markup describes the page. It does not improve it.

Ignoring warnings forever. Some can be left alone. But recommended fields like brand and identifiers are exactly what helps your product be matched, so read each warning and decide on purpose.

For assistants that answer shopping questions, clean product data helps them read your catalog, but it is one part. Our WooCommerce AI search citation guide covers the rest of what decides whether a store gets named.

A worked example: one product from empty to eligible

Take a simple product, a ceramic mug, that shows no rich result in a test. Walk through it the way you would on your own store.

First, run the Rich Results Test on the live page. It finds product markup but reports a warning that no brand or identifier is given, and no review data. There is no error, so the page is eligible, but the listing will be plain.

Second, look at the page. The price is there and so is the stock status. The reviews tab is empty because the product is new. That matches the markup, which correctly has no rating. Nothing to fix and nothing to fake.

Third, fill the gaps that are real. The mug has a brand, so enter it using the field your WooCommerce version or SEO plugin provides, found through their documentation. If the maker supplies a barcode number, add that too.

Fourth, send a note to the last ten buyers asking for an honest review. As real reviews arrive and show on the page, the markup follows.

Fifth, retest. The brand warning is gone, the page is still eligible, and each new review now feeds the rating summary. The work was filling in true facts, not writing code.

What schema will not do for you

Be honest about the limits, because overpromising is the usual way schema work disappoints.

It will not make a weak page rank. The page still has to be the best answer to the search, and the markup only describes it. It will not guarantee a rich result, since Google chooses when to show them. It will not rescue a product with thin copy, no photos and no reviews, because the markup can only repeat that emptiness in machine-readable form.

It does remove ambiguity. A crawler and an AI assistant reading your catalog get a clear statement of what each product is, what it costs and whether it is available. That clarity is cheap to provide and costly to lack, especially for shopping questions where the assistant wants facts it can trust.

Treat it as hygiene. Get it right once, test after changes, and put your effort into the content that markup describes.

How RunOctopus handles this

Product data and plugin settings are yours to keep accurate, and the Rich Results Test is the check. What we add is the pages themselves, written and published on your WordPress site, so there is more real content for the markup to describe.

RunOctopus is a done-for-you service. Its AI, Ollie, researches your business, then writes and publishes pages directly on your own website, and it works with WordPress and WooCommerce. A team plans, writes, reviews and publishes alongside Ollie. There is nothing to install, nothing to approve, nothing to upload and nothing to schedule. Pages go live on their own.

In the first week you get 8 long-form articles, 6 pages and a custom interactive tool built for your niche. After that it is 175+ pieces of content a month, written, published and linked. Reports show where ChatGPT, Perplexity, Claude and Gemini name your business.

The promise is more visibility on Google and in AI answers within 90 days, measured against the 90 days before you joined, or every dollar back. For scale, an agency doing this work charges about $3,209 a month (2026 average, 439 providers) and publishes 4 to 12 pieces.

You can see the plan before you decide anything. Paste your address into the free site read and Ollie reads the site and shows the plan. No account, no call.

Frequently asked questions

Does WooCommerce add schema markup by default?

Yes, it outputs basic product structured data such as name, price, availability and a rating summary when reviews are on. What it adds depends on your version, so run Google's Rich Results Test on a live product page to see exactly what is there.

Do I need a schema plugin for WooCommerce?

Not always. Check what WooCommerce and your SEO plugin already write. A separate plugin is only worth it for a gap you can name, and you must avoid two sources writing the same product, which creates duplicates.

How do I test WooCommerce schema markup?

Use Google's Rich Results Test and the Schema Markup Validator on a live product page, then watch the enhancement reports in Google Search Console for site-wide problems. Test simple, variable, on-sale and out-of-stock products.

Can I add review stars to my WooCommerce listings?

Only with real reviews from customers that are visible on the page. Reviews you wrote yourself or copied from elsewhere break Google's guidelines. Even valid markup does not guarantee that Google shows stars.

Why does my product show two sets of schema?

Usually two sources are writing it, such as WooCommerce and an SEO plugin or theme. Find the setting in your plugin that controls product markup, pick one source and turn the other off.

MG
Written by

Matt is the founder of RunOctopus. He built All Angles Creatures from zero to page-1 rankings in reptile feeder insects using exactly this method. Turning a hard, entrenched niche into RunOctopus's proof store for programmatic SEO and AI search citation.

Connect on LinkedIn →

Ollie builds this for your store automatically

A complete launch build: 8 expert guides, 6 collection pages, and an interactive tool. Structured for both Google and AI search. Live on your store in week one.

See What Ollie Builds →

See what Ollie builds before you pay. Cancel anytime.

● Trusted by store owners in 20+ niches