In the last couple of weeks, Google has been releasing a lot of changes to Search Console. These changes range from cross-domain analytics to new enhancements. While most of these changes haven’t had much of an impact on users, the addition of the “Products” enhancement has created a headache for nearly every eCommerce website.
If you’ve recently found a large number of errors or warnings, don’t fret, you’re not alone. The Products report was added to search console in late February, and with it came an abundance of warnings and an error titled: Either “offers”, “review”, or “aggregateRating” should be specified. The Products report can be found under the enhancements section in Google Search Console. This article will explain the meaning and effects of the errors and warnings, and provide a fix for people using WooCommerce.
The New Error in Google Search Console
The most frustrating part of the errors and warnings is that the problem and solution are not very clearly explained by Google. Each warning’s Learn More button sends people to the exact same page, and the information provided isn’t very user-friendly.
When you look at the details on search console, you will see the following error: Either “offers”, “review”, or “aggregateRating” should be specified. This error will likely affect a large number of your products.
You will also see a wide range of warnings, including Missing field “brand”, Missing field “SKU”, Missing Field “offers”, and more.
These errors and warning relate to the product markup and schema for individual products on your site. If certain schema aren’t specified, rich results won’t be able to appear in search alongside your products. Rich results (formerly called rich snippets) are additional pieces of information that can be shown about the product. You’ll usually only see products names, images, price, and occasionally ratings in search results, but other pieces of structured information can also be shown on occasion.
Google encourages eCommerce sites to use all possible product markups, as it can increase click through rate.
The Either “offers”, “review”, or “aggregateRating” should be specified error occurs when a product does not contain structured content for any of the 3 specified schema. Google wants the ability to display the title, image, and one “reason to buy” of every product in their search results, and these three schema all qualify as a reason to buy. More specifics about these three product schema can be found at schema.org.
The warnings on the page refer to one single piece of structured content that isn’t marked.
Effects this has on your website
Some users are reporting a decrease in rankings after finding this error, but not everyone is experiencing this issue. Remember, this addition to search console doesn’t mean Google changed their ranking algorithm, it is simply a new report. Google has not changed their standards on what is or isn’t required for product markup.
The errors likely aren’t hurting your ranking in search, but if you’ve seen a decrease in traffic you should try to fix them as quickly as possible. The warning on the Product report will not hurt your ranking at all, and therefore aren’t as high priority.
Either “offers”, “review”, or “aggregateRating” should be specified: Caused by WooCommerce
If you have a website that uses WooCommerce, you should have the following schema specified by default: Name, Description, URL, SKU, Availability, Image, Offers, AggregateRating, Price, Review, and more. That means that every product on your website should be exempt from this error. The error messages usually aren’t stemming from your product pages themselves. You can find these in the page source by searching for “schema” or “@type” and finding the long line of code near the bottom of the page. It will look something like this without the breaks.
If you look closely at the products in the error, you’ll likely notice that all the errors are about various products on your archive or category pages. This is because WooCommerce puts the “name” product markup on every item in the categories. After Google reads the name markup, it views it as a new product that is now missing offers, review, and/or aggregateRating. When you examine the page source on these afflicted category pages, you will find a list of markup located right after the “/footer”. This is where the errors come from.
Google says that archive and category pages shouldn’t have this markup. There are only two types of pages that will usually use markup, according to Google: A product page dedicated to a single product, or a “shopping aggregator page” that talks about a single product just with different sellers. WooCommerce adding schema markup to a page that is not dedicated to a single product is what causes the errors.
How to Fix Either “offers”, “review”, or “aggregateRating” should be specified error
If you’re receiving the Either “offers”, “review”, or “aggregateRating” should be specified error on your WooCommerce category pages, there is a fairly simple fix: Remove the product schema markup from the Shop and Product Category pages.
To do that, you’ll want to add the following code to your theme’s functions.php file:
/** * Remove the generated product schema markup from Product Category and Shop pages. */ function wc_remove_product_schema_product_archive() { remove_action( 'woocommerce_shop_loop', array( WC()->structured_data, 'generate_product_data' ), 10, 0 ); } add_action( 'woocommerce_init', 'wc_remove_product_schema_product_archive' );
We have tested this code with multiple sites and it has been successful every time. It will remove the markup that WooCommerce places in the category pages and shop, and should remove the errors (search console make take a while to clear out). Remember that eCommerce sites and functions can be very finicky, so if you don’t normally work with code it would be best to consult a developer to insert the function.
After placing the functions in the code, check your page source to make sure the list of product schema are gone. If all the errors in the Product report are on category pages, archives, or the main shop page, you can select validate changes and get the errors removed sooner.
Note that this code will not fix all of the warnings that also appear in the report (although it will fix some). WooCommerce will address these in their next update, and these missing fields won’t hurt your search ranking in the meantime. The only required markup for products are the product name and image, so missing a brand name or “offer available until” specification shouldn’t be anything to worry about.
What This Fix Will Do
There shouldn’t be any downside to using this code snippet, as we have seen no issues with functionality. If you’re concerned about negative SEO effects, removing markup on the category pages won’t hurt the search ranking of the category pages. If anything, it will help your rankings now that Google has more clarity about the meaning of the page and which pages are single product pages.
We hope this helped you fix the Either “offers”, “review”, or “aggregateRating” should be specified Google Search Console error for your WooCommerce site.
If you need help removing the Either “offers”, “review”, or “aggregateRating” should be specified error from your WooCommerce site, we can help. Our team of experts specializes in WordPress, and manages a number of successful WooCommerce website like yours. Contact us and we’ll work with you to improve the search appearance or design of your eCommerce pages and can help you with any problems that may arise on Search Console.
I’m upholding several sites for more then 20 years now. Never before have I become as frustrated as with this error.
I had never used Woocommerce before, started with Oscommerce and I like CMSMS.
Two weeks! I have searched the web and the application WP, Storefront, Woocommerce etc.
Today the miracle happened, someone else seems to have the same problem, it is not me that went crazy!
Thanks to you I got hope again, now I know there is a simple solutions, so I went for it and it is working great! Thank you, Thank you, Thank you!
Hello there! For some reason it is not working for me. It gives this error back:
Either ‘offerCount”, “review”
Or “aggregateRating” should be specified
This happened 2 days after inserting the snippet of code.
Thanks for reaching out.
Did the error appear after inserting the code, or was the error there beforehand? Search Console can take a long time to clear out the error messages.
Also, is the error on single-product pages, or just category pages? If it is appearing on single products the issue is likely in your ecommerce settings, as aggregateRating is specified by default.
Thank you so much!
It is validating right now but I think it will be all right.
My other solutions didn’t get as far.
Hi all
I told them to integrate the code in the functions folder, but I found that when I gave “Validate correction” in google search console it said: “Unable to continue the validation process
Affected pages found Solve the problem and run the validation again. ”
These redirect me to specific products.
What I can do?
I also have this error “Unable to continue the validation process” – it relates to items that are variable and are out of stock. Can you help me?
Thank you! That’s so helpful..
Thanks a lot !!!!
Your code helps me so much 🙂
It’s validating now with Google, and i think it’s on the way….
hope is reborn :))
Sorry for my english, i’m just a french guy, using Google Translate.
Denis
The WooCommerce solution worked worked like a charm!
Hey, Whenever I enter that code on my themes functions.php it doesn’t change a thing…
Can you please guide me on where I need to copy it in order for it to work?
I’m getting mixed results with this. It seems that some of the time, after applying this patch to functions.php that other elements start to trigger errors. For example, “Missing field “priceValidUntil” (optional)” and “Invalid value type for field “availability” (optional)” are showing now. So strange. I’ll let it settle for a bit longer and report back.
I have added this fix to my client’s site, but there is an issue with 3 products that I do not know how to fix. They are out of stock variable products.
Thank you very much – it works very well for me !!
I am also facing this problem. But my website is in Magento 2. What should I do?
I don’t have much experience with Magento, but the issue remains the same of needing Aggregate rating markup. From preliminary searches, you can add an extension, or look deeper into adding and removing rich snippet markup to core files. Hope these links can help.
But if I remove the product schema markup will this result in Google not knowing that my page is a product page? Isn’t this the whole point of the whole point of the markup. Also do you have any updates on when Woocommerce will fix this issue? Lastly I am having some missing field warning on only 6 of my products do you have any idea why I am having this warning on only a few of my products?
Thanks.
Google has complex algorithms to help it identify the meaning of pages, so I wouldn’t worry about it not understanding the meaning of the page. The point of the markup is to describe the product on a single product page, not to describe all the products on a category page.
In terms of the missing field warnings, there are a couple of possibilities: I tend to have issues with products that are out of stock, as that will effectively hide some parts of the markup which search console doesn’t understand at the moment. It is also possible that those products simply aren’t relevant to some of the missing fields. The “brand” field for example will feed a warning if you don’t have it, but not all products have a brand to mark.
It is important to remember that warnings aren’t believed to hurt your search appearance. It’s obviously nice to have a clean, issue-free account, but some products simply don’t apply to all the markup.
And if I use https://schema.org/SomeProducts? Can it work as a container of different product schemas and so give Google the information without leaving the markup of each product on category pages?
This definitely affects search ranking today. I was frustrated by not solving this issue and a few days ago started to lose my ranking. Just after adding this code on two sites I got the ranking back immediately after requesting a recrawl. Thanks for the info 🙂
Glad it helped!
magento also shows this error,who have sovle it?
can help me my email is anthonyleolin@gmail.com thanks very much
hello, how does this translate to shopify? im getting the same problem!
Hi,
I added this code on March. Worked so far. Today I’ve got errors and warning again.
Top Errors: Either “offers”, “review”, or “aggregateRating” should be specified
Top Warnings: “Missing field sku, description and image”.
Since I have the code inserted I tried to validate the page again. No luck.
Validator is saying the error is affecting 3 pages.
Is there anything else I can do?
Hello,
In my case, this error is not for product category pages.
It is for only some of the products with all their variations.
What can I do?
Any advice highly appreciated…
I am facing the save issue. i am using woocomerce.
and when i copied the data it shows that the error in in the reviews of the product not products it self.
please check the below link https://search.google.com/structured-data/testing-tool/u/0/#url=https://sabriyeayana.com/product/akashic-record-clearing/
Can you please help me with this error.
Hi, I have the same issue. I’m getting “Either “offers”, “review”, or “aggregateRating” should be specified” it comes up 3 times on the same product I have on my site (Woocommerce) (https://teacherofsci.com/product/ultimate-revision-plan/).
I added the code snippet above to the bottom of my theme’s functions.php file but it hasn’t done anything. When I go to validate the fix on search console it just comes back with “Cannot continue validation process
Affected pages were found. Fix the issue and run the validation again” showing the same three instances. All three of the errors relate to reviews people have done on the product. I don’t know what do now, any advice?
Thanks.
Hope this work,
THANK YOU!
Hi, our ecommerce CMS only generates the offers, reviews aggregaterating code when the product actually has a review. Is this a problem for SEO? In other words, should all products have the aggregaterating code markup even if they don’t have any reviews at all? Thanks in advance for any reply.
– Eric
I don’t think there’s solution at plugin level.
I’m seeing the warning from Google search Console for pages in an Ecwid store plugin, within a wordpress.com installation. e.g.
Invalid value type for field ‘availability’
• Missing field ‘aggregateRating’
• Missing field ‘priceValidUntil’
• Missing product ID
• Missing field ‘sku’
• Missing field ‘description’
fixed my day! thanks!
Hi,
I don’t even have a WooCommerce site and I am getting that error notice from Google.
Hi, this code is deprecated for woocommerce 4.5 / wp 5.5.
Any ideas for upgrade?