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
AggregateOfferis 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 lowPriceNumber, 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, andpriceCurrencyproperties. Alternatively, instead ofpriceandpriceCurrency, you can include any four properties and excludeprice. -
To show your product information in the Related Items feature: Include the
name,image,price,priceCurrency, andavailabilityproperties. -
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
-
What's the best way to handle product filter URLs?
I've been researching and can't find a clear cut answer. Imagine you have a product category page e.g. domain/jeans You've a lot of options as to how to filter the results domain/jeans?=ladies,skinny,pink,10 or domain/jeans/ladies-skinny-pink-10 or domain/jeans/ladies/skinny?=pink,10 And in this how do you handle titles, breadcrumbs etc. Is the a way you prefer to handle filters and why do you do it that way? I'm trying to make my mind up as some very big names handle this differently e.g. http://www.next.co.uk/shop/gender-women-category-jeans/colour-pink-fit-skinny-size-10r VS https://www.matalan.co.uk/womens/shop-by-category/jeans?utf8=✓&[facet_filter][meta.tertiary_category][Skinny]=on&[facet_filter][variants.meta.size][Size+10]=on&[facet_filter][meta.master_colour][Midwash]=on&[facet_filter][min_current_price][gte]=6.0&[facet_filter][min_current_price][lte]=18.0&per=36&sort=
Technical SEO | | RodneyRiley0 -
Assigning WooCommerce products to more than one category - Correct methodology?
I manage a store selling prescription glasses, many of which are unisex or apply to more than one category. I have already assigned the canonical URL for each category, but my question is, if a product appears in more than one category, do I need to set the canonical URL in each product to reflect the category I want it to index under? Therefore, any additional categories that product appears in simply refers the link value back to the canonical URL. I note that in Yoast, under each product, there's note in the canonical setting to leave it empty to default to permalink, so this has confused me a little. I'm just concerned that by applying a product to multiple categories, it may be causing duplicate content, as I have a lot of duplicate issues which I'll raise in another question. Thanks!
Technical SEO | | SushiUK1 -
Indexing product attributes in sitemap
Hey Mozzers! I'm battling a few questions about the sitemap for my ecommerce store. Could you help me out? Is it necessary to include your product attributes in the sitemap? I'm not sure why it would matter to have a sitemap that lists everything in the color cherry. Also, if the attributes were included in the sitemap, would that count as duplicate content for the same products to show up in multiple attributes? Is there any benefit to submitting the sitemaps individually? For example, submitting /product-sitemap.xml, /product_brand-sitemap.xml versus just /sitemap.xml? Any other best practices for managing my ecommerce sitemap, or great resources, would be very helpful. Thank you! a1vUz
Technical SEO | | localwork0 -
Adding Reviews to JSON Product Schema Markup
Hi everyone, Below is an example of some JSON product schema markup I'd like to integrate into my site. My question is, what do I need to do to incorporate the individual reviews on a product page as well? I've tried a few different things but I can't get it to validate.
Technical SEO | | VDigitalServices0 -
Exclude price in rich snippet markup
Our site has their prices hidden for non logged in users. Its a woocommerce built site and the rich snippet markups are added by woocommerce. I would like to remove the markup for the price becouse : 1, we would like our customers to register for prices. 2 i dont want to get penalties for not showing the same thing to visitors as to "google" .. Any help or thoughts on this one? Thanks / Jonas
Technical SEO | | knubbz0 -
Product Variations (rel=canonical or 301) & Duplicate Product Descriptions
Hi All, Hoping for a bit of advice here please, I’ve been tasked with building an e-commerce store and all is going well so far. We decided to use Wordpress with Woocommerce as our shop plugin. I’ve been testing the CSV import option for uploading all our products and I’m a little concerned on two fronts: - Product Variations Duplicate content within the product descriptions **Product Variations: - ** We are selling furniture that has multiple variations (see list below) and as a result it creates c.50 product variations all with their own URL’s. Facing = Left, Right Leg style = Round, Straight, Queen Ann Leg colour = Black, White, Brown, Wood Matching cushion = Yes, No So my question is should I 301 re-direct the variation URL’s to the main product URL as from a user perspective they aren't used (we don't have images for each variation that would trigger the URL change, simply drop down options for the user to select the variation options) or should I add the rel canonical tag to each variation pointing back to the main product URL. **Duplicate Content: - ** We will be selling similar products e.g. A chair which comes in different fabrics and finishes, but is basically the same product. Most, if not all of the ‘long’ product descriptions are identical with only the ‘short’ product descriptions being unique. The ‘long’ product descriptions contain all the manufacturing information, leg option/colour information, graphics, dimensions, weight etc etc. I’m concerned that by having 300+ products all with identical ‘long’ descriptions its going to be seen negatively by google and effect the sites SEO. My question is will this be viewed as duplicate content? If so, are there any best practices I should be following for handling this, other than writing completely unique descriptions for each product, which would be extremely difficult given its basically the same products re-hashed. Many thanks in advance for any advice.
Technical SEO | | Jon-S0 -
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