Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
Schema.org product offer with a price range, or multiple offers with single prices?
-
I'm implementing Schema.org, (JSON-LD), on an eCommerce site. Each product has a few different variations, and these variations can change the price, (think T-shirts, but blue & white cost $5, red is $5.50, and yellow is $6).
In my Schema.org markup, (using JSON-LD), in each Product's Offer, I could either have a single Offer with a price range, (minPricd: $5, maxPrice $6), or I could add a separate Offer for each variation, each with its own, correct, price set.
Is one of these better than the other? Why? I've been looking at the WooCommerce code and they seem to do the single offer with a price range, but that could be because it's more flexible for a system that's used by millions of people.
-
I have a question about the offerCount item within an AggregateOffer type.
I want to show the "true" price range of every product in our inventory but we don't automatically load them all to the page. Most implementations I have seen that trigger the price range showing in the SERP have the individual offers marked up further down the page as well, but that wouldn't work for us. We show 10 or so out of 100s.
In my mind there are two options here. We can use the true aggregate price of the set and skip tagging up individual offers. Or we can tag up the offers displayed but still show what I am calling the "true" aggregate price. Any opinions on whether Google needs the individual offers tagged up? And any opinions on whether the individual offers tagged up need to "match" the aggregate offer prices?
THANKS
-
Anytime, John, I am happy to help!
-
Thanks Thomas.
AggregateOffer is what I was looking for.
-
Each product can have a few different variations
See Google's https://developers.google.com/search/docs/data-types/product
Aggregate offer properties
An
AggregateOffer
is a kind of Offer representing an aggregation of other offers. When marking up aggregate offers within a product, use the following properties of the schema.org AggregateOffer type:Properties lowPrice
Number, required
The lowest price of all offers available. Floating point number.
|
|highPrice
|Number, recommended
The highest price of all offers available. Floating point number.
|
|priceCurrency
|Text, required
The currency used to describe the product price, in three-letter ISO 4217 format.
|
|offerCount
|Number, recommended
The number of offers for the product.
|
https://developers.google.com/search/docs/data-types/product
**Just 1 **
Product rich results provide users with information about a specific product, such as its price, availability, and reviewer ratings. The following guidelines apply to product markup:
- Use markup for a specific product, not a category or list of products. For example, “shoes in our shop” is not a specific product. See also our structured data guidelines for multiple entities on the same page.
- Adult-related products are not supported.
- Reviewer’s name needs to be a valid name for a Person or Team For example, "James Smith" or"CNET Reviewers." By contrast, "50% off on Black Friday" is invalid.
To include product information in Image Search, follow these guidelines for required markup:
-
To show your product information in the rich image viewer: Include the
name
,image
,price
, andpriceCurrency
properties. Alternatively, instead ofprice
andpriceCurrency
, you can include any four properties and excludeprice
. -
To show your product information in the Related Items feature: Include the
name
,image
,price
,priceCurrency
, andavailability
properties. -
Be careful that the text you use is the same text that is on the page
-
https://www.distilled.net/resources/understanding-and-implementing-json-ld/
-
http://www.remicorson.com/add-woocommerce-product-to-cart-from-url-using-products-sku/
/*
- Remove the default WooCommerce 3 JSON/LD structured data format
*/
function remove_output_structured_data() {
remove_action( 'wp_footer', array( WC()->structured_data, 'output_structured_data' ), 10 ); // Frontend pages
remove_action( 'woocommerce_email_order_details', array( WC()->structured_data, 'output_email_structured_data' ), 30 ); // Emails
}
add_action( 'init', 'remove_output_structured_data' );
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Why Product pages are throwing Missing field "image" and Missing field "price" in Wordpress Woocommerce
I have a wordpress wocommerce website where I have uploaded 100s of products but it's giving me error in GSC under merchant listing tab. When I tested it show missing field image and missing field price. I have done everything according to https://developers.google.com/search/docs/appearance/structured-data/product#merchant-listing-experiences and applied fixed i.e. images are 800x800 and price range is also there. What else can be done here?!merchant listing.jpg
Technical SEO | | Ravi_Rana0 -
Product schema with no offer as owner wants to give price per customer
Hi, Trying to markup products for a site that does not show prices. Is there any way to markup a product price when the business model is: 1. customer calls or contacts shop. 2. shop gives a price quote based on level of detail and finish on the product 3. there is no base or top price. Thanks in advance!
Technical SEO | | plahpoy0 -
Suite Numbers and Schema
A potentially stupid question. Is the suite number included within the tag, or should it sit outside of it? The reason I ask is because (a) I've seen it where the suite number sits outside that tag and (b) Google My Business best practices, I've been told (by Google support), is to include the suite in the second address line. I'm wondering if that translates in some way to the local schema on your site. On the other hand, it makes sense to include your suite number within the streetAddress span tag, but sometimes what makes sense doesn't really make sense when you know more, so I'm just covering my bases. Thank you!
Technical SEO | | nowmedia11 -
Duplicate content through product variants
Hi, Before you shout at me for not searching - I did and there are indeed lots of threads and articles on this problem. I therefore realise that this problem is not exactly new or unique. The situation: I am dealing with a website that has 1 to N (n being between 1 and 6 so far) variants of a product. There are no dropdown for variants. This is not technically possible short of a complete redesign which is not on the table right now. The product variants are also not linked to each other but share about 99% of content (obvious problem here). In the "search all" they show up individually. Each product-variant is a different page, unconnected in backend as well as frontend. The system is quite limited in what can be added and entered - I may have some opportunity to influence on smaller things such as enabling canonicals. In my opinion, the optimal choice would be to retain one page for each product, the base variant, and then add dropdowns to select extras/other variants. As that is not possible, I feel that the best solution is to canonicalise all versions to one version (either base variant or best-selling product?) and to offer customers a list at each product giving him a direct path to the other variants of the product. I'd be thankful for opinions, advice or showing completely new approaches I have not even thought of! Kind Regards, Nico
Technical SEO | | netzkern_AG0 -
Removed Product page on our website, what to do
We just removed an entire product category on our website, (product pages still exist, but will be removed soon as well) Should we be setting up re-directs, or can we simply delete this category and product
Technical SEO | | DutchG
pages and do nothing? We just received this in Google Webmasters tools: Google detected a significant increase in the number of URLs that return a 404 (Page Not Found) error. We have not updated the sitemap yet...Would this be enough to do or should we do more? You can view our website here: http://tinyurl.com/6la8 We removed the entire "Spring Planted Category"0 -
Robots.txt and Multiple Sitemaps
Hello, I have a hopefully simple question but I wanted to ask to get a "second opinion" on what to do in this situation. I am working on a clients robots.txt and we have multiple sitemaps. Using yoast I have my sitemap_index.xml and I also have a sitemap-image.xml I do put them in google and bing by hand but wanted to have it added into the robots.txt for insurance. So my question is, when having multiple sitemaps called out on a robots.txt file does it matter if one is before the other? From my reading it looks like you can have multiple sitemaps called out, but I wasn't sure the best practice when writing it up in the file. Example: User-agent: * Disallow: Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /wp-content/plugins/ Sitemap: http://sitename.com/sitemap_index.xml Sitemap: http://sitename.com/sitemap-image.xml Thanks a ton for the feedback, I really appreciate it! :) J
Technical SEO | | allstatetransmission0 -
Handling 301s: Multiple pages to a single page (consolidation)
Been scouring the interwebs and haven't found much information on redirecting two serparate pages to a single new page. Here is what it boils down to: Let's say a website has two pages, both with good page authority of products that are becoming fazed out. The products, Widget A and Widget B, are still popular search terms, but they are being combined into ONE product, Widget C. While Widget A and Widget B STILL have plenty to do with Widget C, Widget C is now the new page, the main focus page, and the page you want everyone to see and Google to recognize. Now, do I 301 Widget A and Widget B pages to Widget C, ALTHOUGH Widgets A and B previously had nothing to do with one another? (Remember, we want to try and keep some of that authority the two page have had.) OR do we keep Widget A and Widget B pages "alive", take them off the main navigation, and then put a "disclaimer" on the pages announcing they are now part of Widget C and link to Widget C? OR Should Widgets A and B page be canonicalized to Widget C? Again, keep in mind, widgets A and B previously were not similar, but NOW they are and result in Widget C. (If you are confused, we can provide a REAL work example of what we are talkinga about, but decided to not be specific to our industry for this.) Appreciate any and all thoughts on this.
Technical SEO | | JU19850 -
Same Video on Multiple Pages and Sites... Duplicate Issues?
We're rolling out quite a bit of pro video and hosting on a 3-party platform/player (likely BrightCove) that also allows us to have the URL reside on our domain. Here is a scenario for a particular video asset: A. It's on a product page that the video is relevant for. B. We have an entry on our blog with the video C. We have a separate section of our site "Video Library" that provides a centralized view of all videos. It's there too. D. We eventually give the video to other sites (bloggers, industry educational sites etc) for outreach and link-building. A through C on our domain are all for user experience as every page is very relevant, but are there any duplicate video issues here? We would likely only have the transcript on the product page (though we're open to suggestions). Any related feedback would be appreciated. We want to make this scalable and done properly from the beginning (will be rolling out 1000+ videos in 2010)
Technical SEO | | SEOPA0