WooCommerce Product Rich Snippets for Better SEO

WooCommerce product rich snippets help you gain better exposure in search results. Learn how to expose them in this article.

There are many ways to increase the exposure of the products in your WooCommerce store. WooCommerce Product Rich Snippets are one such way.

Today I want to discuss how we can work with Google, for free, to deliver our products into advanced search results in a mostly automated way. Lots to cover, so let’s dig in!

I will start with a bit of background in how I have done this (and more) in the past on a bit bigger scale. My story should help you think about the source and quality of product data, why it matters, and how it can be leveraged for increased exposure.

Table of Contents:

Story: Put My Products in All The Places!

In this Section:

Taking Time for Product Data Entry is Vital

Many moons ago, I managed a WooCommerce-driven web site with a very large inventory of raw food and natural health-related products. The person I did the work for was often very vague in his requests, and really didn’t have a lot of understanding of what was involved in making things happen. He was a brilliant email marketer and knew enough HTML to be effective with emphasis and bold. Plus, he had a hot-key setup for Shift+1 because of his frequent overuse of the exclamation point. But, he had no interest in the technical details of running an online store, which is fair.

After working with him for a few short weeks though, he learned that for me to deliver what he wanted it wouldn’t take just 15 minutes of time. For what he ultimately wanted, I needed to be very thorough, very efficient, and reduce as much technical debt as possible upfront. By technical debt I mean… put in the extra work now to avoid scrambling to fix things later on and also to get more bang for the buck. More than that, I learned that even though advanced SEO was not part of the conversation of his request, that SEO was assumed.

Describing Products on the Meta Level for Improved Exposure in Search Engines

Screenshot of Product Schema Markup.

The up-front SEO effort that I put in, as we will discuss more about shortly, ultimately gave us top spots in the many varying types of Google listings without any extra work. Being meticulous in how the products were described on a meta-level paid dividends.

Now, you might be happy to know that today Woo does much of that work for you, perhaps without you even realizing it! It’s all buried in the meta-data. But, is the data correct? Is it enough? Be patient 🙂 we will dig into all of that.

Anyway, one day I was tasked to: “Put my products in all the places!”.

Challenge accepted!

Choosing One Product Data “Source” to Avoid Duplication or Out-Of-Sync Data

Based on my and my clients evolved understanding of each other, I knew these things going in:

  • I only wanted to manage inventory in one place. Makes sense.
  • And I wanted to automate the delivery of the updated product data to the merchant and product comparison sites. Again, makes sense.
  • On top of that, I wanted to make certain that the optimized images on our site were used in the product feeds delivered to the other sites. I didn’t mind uploading starter product feeds, but I knew the images can be pulled from our site with ease and didn’t need to be duplicated elsewhere.

I ended up setting up some complex, but powerful, software that became our “source” for the data. It meant moving the products out of WooCommerce. The Woo shop would then just sort of fetch the data when needed.

Don’t worry, moving data out of Woo is not at all what I am going to be suggesting to you here. It’s just an example of how we did things for our specific scenario.

I did store the data locally as a cache of sorts but data and inventory updates to the WooCommerce site were automated from the source. That was the same for all the other places we sold the products. They would either pull from the main source when appropriate or accept a push of the data.

In some cases, the checkout happened on the merchant side (as was the case with eBay and Amazon), and in other cases, the other sites just essentially linked to our product and checkout happened on our side.

This was a very efficient way to manage one source of inventory exposed to multiple sites. It was also very flexible allowing us to create micro-stores with just a subset of products.

Even more, the products were heavily exposed in places where our potential customers were either already hanging out (Facebook) or looking for stuff to buy (Google, eBay, Amazon). And with the task of product describing given more emphasis, our main Woo site attracted buyers from Google like a magnet! And that’s the idea, right?

Providing a Visual Representation of our Data in Google Shopping (and Other Google Surfaces)

In this Section:

Woo Can Be Used as the Main Inventory Source

The whole multi-shop process described previously though is way over and above what I will cover today. I just wanted to share some back story and elaborate on what is possible. For today, I want to discuss how your WooCommerce shop could be the main inventory source and how your product data could be fed into a variety of Google surfaces, like Google Shopping.

And now that Google Shopping shows free listings, it is a great time to take advantage of this traffic. The good news is that for the majority of Google surfaces (search, images, etc) WooCommerce does a decent job out-of-the-box to make this a hands-off, already-happening-behind-the-scenes thing. Google Shopping requires something extra from us initially though.

Previously called Froogle, Google Shopping was my favorite to work with in terms of providing product data because I was already doing most of the needed work when optimizing for SEO anyway.

Limited Availability for Google Inclusion, and What Google Shopping Used to be Called

One thing that is important to note here is that some of this is only available in certain countries. Google likes to roll things out a country at a time, usually starting with the United States. Also, in many cases, they roll things out to just mobile initially.

For example, Google Actions (now called Buy on Google in the U.S.) is only available currently in the U.S. and France. This is for allowing the checkout process to happen within Google Shopping but still allowing you to integrate payment processing, inventory management, and order processing with other solutions. Google Shopping itself is widely available though in many languages and currencies.

You may have heard of Google Shopping before but as something else. Perhaps you might remember when Google Shopping was called FroogleGoogle Product Search, or Google Products? While this service has evolved somewhat with each name iteration, I would like to define Google Shopping today in terms of how it can help WooCommerce shopkeepers.

Screenshot of Froogle from the Wayback Machine:

Google Shopping for WooCommerce Shopkeepers

Google Shopping essentially involves having your WooCommerce product listings being displayed in the Google Shopping Tab in Google’s search results. This is quite similar to having your products show up in Google’s Search and Image (and Lens) results but is done with more explicit intent on your part.

I like it. Your product data, inventory status, reviews, and images can all be managed in simple fashion in WordPress. And Google can be updated with that data from time to time in order to do what it does best… deliver rich search results, which now includes your products in a variety of ways. Beautiful!

Exposing the Data for Google to Utilize

The means by which you share data with Google for use in the search results vary. I know that from experience, if Google is simply aware of your site, simply by a link from another site or submission to Google Search Central (formerly Google Webmaster Tools), they will be encouraged to crawl the site.

Proper HTML markup can give Google a decent idea of what the site is about. More granular information can also be included in meta-data, tags in particular. There is also OpenGraph and others that can contain meta-data.

Schema markup can include lots of specifics about the page in question. To even hope for inclusion in rich results, there is uniquely required and recommended data based on the type of object the page represents. In our case, a product page should contain Product Markup.

Product Markup is Better Than Raw HTML

Marking up a page with just HTML alone can get part of the job done. But, for exposure in some of the richer results and in specific Google surfaces (like Shopping) more meaningful data is required.

When using Schema Product Markup this important data is present. The data can include very specific information about your version of the product if you are a reseller of products. This can include condition (new, used, refurbished)coloravailabilitypricetaxshipping, and so on.

As you can imagine, this data might be difficult for a computer to find and understand in just raw HTML. That is why there is a preference towards including it in the HTML (for humans to discover) and in meta-data like Schema markup (for bots to consume and hopefully visually present elsewhere). The data for both must be identical.

Since there are individual fields for much of this data present in the add/edit product pages in WooCommerce, spitting out this data in individual pieces is easy for Woo to do for us.

Feeds or Schema Markup for Google Shopping and Other Search Results?

We hear a lot about submitting feeds to Google Merchant for product inclusion, but is it needed? In short, technically no. Well, a feed of data must be present for Google to cache the data for faster delivery in the search results. How they get the feed though is another matter.

In a similar way to how Google can get data from our blog to display in Search even without an XML Sitemap, they can get product data even without a feed. As mentioned, Google can read the data from the HTML and Schema meta-data. So, what gives?

Like the XML Sitemap that helps Google index all types of pages on our sites and blogs, a product feed can provide extra data. In the case of an XML Sitemap, it can allow Google to know the desired crawl frequency for specific pages for example.

Mostly though, the Product feed is a quick one-off way to deliver the initial load of data to Google. This includes links to our images, so no need for image duplication. This submission will create the Primary feed that Google can use in many places when deciding what to display in Search Results across different surfaces.

Automating Product Feed Creating and Updating by Using Product Schema

It is imperative that Google has up-to-date product data from your site. In particular, the two bits of information most critical are price and availability. Agreed? Imagine you increased your price today to $5 for a product that you submitted to Google last Tuesday that carried a price tag of $3.50. Google will display the incorrect pricing which obviously could make a shopper sour. Enough sour shoppers and Google will give you the ax.

This is why Product Schema is critical. It allows Google to do a quick check for pricing and inventory changes before showing the results and product details. Naturally, your site should have this data available in real-time. And also, the data has to be created server-side before delivering the HTML. In other words, JavaScript cannot be used to display Schema Markup. Woo will take care of all that though, providing you keep the prices accurate internally. Also, you would need to activate “Stock” and be sure that all your sales channels are keeping that data honest.

It’s also possible, although currently in Beta, for Google to determine most of the consistent product data for resell (or catalog) products. For this, I am talking about properties like weight, dimensions, shutter-speed for cameras, highest decibel for kid’s headphones, and other such properties. They base this on the Global Trade Item Number (GTIN) or other Unique Product Identifier.

It is also possible to link Google to the Product feed, even if they have to log in to see it, to keep things up to date. You can set the update frequency and leave well enough alone.

As you can likely see, feed or no feed, the Product Markup being at least present offers huge advantages. But, we can do more to optimize it.

Is Our Product Schema Up To Par?

Automation is a beautiful thing, but only when it makes sense to automate. The metadata that Google looks at it in order to deliver the best search results to users can be integrated into your web site markup in an automated way. WooCommerce does a good job at doing that, and other tools like this Customer Reviews Plugin can enhance that.

Where it gets weird though is when the tools guess at what data to output. As shopkeepers we have more control than that, so we should do a better job of maintaining that control. Spending an extra 15 or 20 minutes on data entry per product could make a huge difference. This will prevent the need for the software to fill in the missing bits. Also, it provides an opportunity for us to include extra information that even automated tools couldn’t glean.

How else can Google show your products to customers that are looking for:

  • a weather-sealed point and shoot camera,
  • with a compact sensor,
  • a 13 to 16.1-megapixel resolution,
  • that weighs between 203 and 318 grams,
  • and that can be delivered for free…

…unless we expose that metadata?

Sure, there may be something going on where a reseller can simply provide a GTIN like described above, to have some of that data automatically exposed, but you get the idea. There will still be things like condition and perhaps color, and certainly stock that should be provided by us. And to be clear, I know nothing about cameras so the above may return 0 results, but again, you get the idea.

Checking In On Our Current Product Markup Status

Now, I want to explore:

  • What Google wants from us to display products across their surfaces
  • What of that WooCommerce gives us automatically
  • How the Customer Reviews plugin can enhance that data, if at all

What better way to showcase this information than in tabular form?

Note: Some Schema properties are required by local laws or regulations, but I did not include those in the table below (where I compare what Google wants with what we easily get). You can view a full list of required, recommended, optional, and conditional properties for Product Schema markup here.

Table of What Google Wants for Product Schema Markup

PropertyRequired / RecommendedDoes WooCommerce Include It?CusRev Enhanced?
brandMostly RequiredNopeYes
Required if available
Highly recommended
This table shows the properties that Google requires and recommends for Product Markup. This meta-data is what allows the inclusion of products in Rich Product listings like Google Shopping. The table also indicates what WooCommerce provides for us out-of-the-box, and how the Customer Review plugin (CusRev) expands this with Product Identifiers.

There are many more conditionally required properties that I did not include, that belong to the categories:

  • Detailed product description
  • Shopping campaigns and other configurations
  • Destinations
  • Delivery
  • Tax

Some of the properties missing from the above table, WooCommerce does give us, and some it does not. New custom fields would need to be exposed in the product add/edit screens, and then those properties will have to be included in the Schema Markup.

So, whether or not WooCommerce is giving you what is needed out-of-the-box really does depend on your country, and the products you are selling. I would say that the properties that matter in 90%+ of cases, GTIN and Brand, Woo does not include. But, since those are not exactly required, WooCommerce technically does give you what is required for rich Product inclusion, in most cases. The Customer Reviews plugin brings it even further with the highly recommended GTIN.

To enable the additional product identifiers (GTIN, MPN, Brand), with the Customer Reviews plugin activated:

  1. Go to Reviews >> Google >> Product Identifiers
  2. Enable the ones that you want (you can also add a default Brand here)
  3. Check the box for Add product identifiers to structured data markup
  4. Map the new fields (if you plan to use the XML Export)
  5. Click Save changes
  6. Update products with the GTIN, or whatever identifier (you will find the new field(s) in the Inventory tab for the Product)

After that, run your product page URLs through the Google Structured Data Testing Tool to see how you are doing!

In Summary

At this stage, you have all the information needed to create a valid feed for Google Shopping. More than that, you have the information needed to make certain your products contain the proper metadata for other rich results in Google.

With just Woo alone you get quite far, and perhaps even far enough. With the CusRev plugin, you get even further with the extra product identifiers. Plus, with CusRev you also get an Export for reviews that we didn’t touch on much here. This can still leave a lot to be desired, I understand that. You may not get the Schema Product properties that are considered required for your country and/or product line, for example.

Also, there are some more steps needed to be accepted (and remain) in the rich results. Your product image quality matters. The length of the reviews (if doing reviews too) matters. And so on.

So, what now? I would suggest starting here on the Google for Retail Merchant Center page. From there, when it talks Product Schema, Feeds, and Reviews you can feel good knowing that with the info above, you more than likely have that part covered 🙂

Happy shopkeeping!

By Keith Lock

I use WP + WOO + PHP + ACF + AMP + HTML + CSS + JS. Semantic, responsive, accessible, fast-loading HTML/CSS/JS rocks. I like to use WP to export web pages into static AMPHTML files. I have kids, am single, and I fish. I currently do content creation, web site repair, and WP development as a freelancer.

3 replies on “WooCommerce Product Rich Snippets for Better SEO”

Hello! This is a good plugin, but Google doesn’n recognize the GTIN of variable products, I am searching a tutorial to configurate the plugin correctly.

Nice blog. But how to proceed? I am the author of original jewelry production. I have an eshop. Google requires a “brand”, a product review and the global identifier (gtin, mpn). “Brand” is me. I always have only one piece of product (original) never more. I also don’t have gtin, mpn. I’m at a disadvantage for SEO! What do you suggest? Regards Dita

I add more. I delete the sold product with the code 410 (Gone), because I need to keep the media library as small as possible. The site must be fast … That’s why I don’t have a product rating. Best Regards Dita

Leave a Reply

Your email address will not be published. Required fields are marked *