Stuctured data for different sized packages
-
Hi all,
We are currently working on implementing structured data to our webshop, for SEO and for google shopping.
We sell stones, pebbles, gravel etc. (to be used in gardens).We offer each product in different sized bags. Customers can buy 20KG minibags, 250KG minibags, 500KG midibags, 1500KG bigbags and bulk quantities (ranging from 3000KG up to 35000KG).
For example, we sell Black Beach Pebbles in the bags as described as above (+ the bulk quantities). We have a product page for these Black Beach Pebbles and on that product page customers can choose the desired bag or desired bulk quantity. For google shopping, visitors land on these productpages. A while back that caused a problem; the landing page contained different prices so sometimes google could not match the prices on the landing page with the prices in our productfeed (because of course, each bag has a different price). So, besides SEO, another reason for us to implement structured data. I have two questions regarding the implementation.
1. For the landing page as described above, the idea now is to mark 1 product with different offers (an offer for each bag + an offer for the bulk quantities). This raises a problem regarding the bulk quantities; the price of the bulk quantity depends on the chosen quantity (customers can pick the desired bulk quantity using a dropdown) on the productpage. How should we markup the price? The idea know is to markup 1 product with different offers for each bag and 1 aggregate offer for the bulk quantities (and using the lowest price, so the price for the smallest bulk quantity). So, for the Black Beach pebbles:
Product = Black beach Pebbles
Offer (= 20KG minibag)
Price = ...
Offer (= 250KG minibag)
Price = ...
Offer (= 500KG midibag)
Price = ...
Offer (= 1500KG bigbag)
Price = ...
AggregateOffer (= Bulk quantities)
Lowprice = ...Is combining Offer and AggregateOffer within 1 product the right solution?
2. For the 1500KG Bigbags and bulk quantities we have separate landing pages (because people specifically search for bigbags and bulk quantities). So those landing pages are dedicated to bigbags / bulk quantities. How should we mark up those pages? Should we for example just do this:
On the page for te bigbag:
Product = Black Beach Pebbles 1500KG bigbag
Offer (=Black Beach Pebbles 1500KG bigbag)
Price =....and on the page for the bulk quantities:
Product = Black Beach Pebbles bulk quantities
AggregateOffer (=Black Beach Pebbles bulk quantities)
Lowprice=......Could that cause any confusion for google, because on the productpage with all the available bags, the bigbag is an offer for the product 'Beach Pebbles Black'. And on the second page it is a product on its own.
Thanks in advance!
Best!
-
Hey! No problem.. Just trying to figure the best way to do this too!
Thanks for the detail reply. All valid points - regarding indexing thin content, and showing customers more than 1 size - but those can be solved.
Lets look at this with an actual example...
Redbubble.com (an Alexa top 1000 website in the US) are selling a throw pillow in different sizes and different types. The costs are different based on the size and type chosen. This is their main product page for this product:
https://www.redbubble.com/people/straungewunder/works/25221192-familiar-sooty-owl?p=throw-pillow
On this main product page they are sending the customer to a default size (16*16) and type (cover only) option.. But as it is a dropdown, the customer is not stuck with just 1 size - he/she can choose multiple from dropdown.
And on this same page, they have this schema markup.
.....
Then they have duplicate pages for all the other pricing options.
E.g. for size (26*26) and type (cover only) - this is the URL
and the schema markup is identical to the one list above, _except for the price. _
All these pages are all exactly similar except for the default size and type chosen, and therefore the price is different for each page.
Duplicate pages are not a problem as they use canonical tags properly. All the pages have this canonical tag.
The canonical tags point to the original page always.
Regarding indexing the pages - **only the original page is indexed. **
If you go to Google and search for their main product url - it comes up on Google.
If you go to Google and search for the other product pages with different pricing options - they are not indexed.
So **Google isn't wasting crawl budgets on these duplicate pages.**But in your case you would index more pages if the search volume is high for different quantities (and then also change H1/title/meta tags respectively for these indexed pages).
Also, updated this as a blog as I think more people have this problem and will find this useful.
Apologies if you have already considered this, but let me know if this still doesnt work for you.. Interested to know what you finally go with!
-
Hi Arjun,
Thanks for your input, really appreciate it!
Actually, we already have seperate pages for each quantity. So for the Beach Pebbles black example we have:
- The overall product page with all quantities
- A 'simple' productpage for the 20KG bag
- A 'simple' productpage for the 250KG bag
- A 'simple' productpage for the 500KG bag
- A 'simple' productpage for the 1500KG bag
- A 'simple productpage for the bulk quantities
But, these pages are all near duplicates (only difference is the price). Plus, we have a lot of those pages. We noticed that google didn't even index all of them (i guess because they are all near duplicates). Plus, people really aren't searching for those quantities (i.e. googling those quantities), with an exception for the bigbags and bulk quantities. So we really didn't want google to spend it's time crawling all those pages, and because those are kind of thin-content pages we decided to first noindex them so google would take them out of the index. And after they disappeared we made sure there were no internal links pointing to them anymore so google wasn't going to crawl them anymore (we are keeping an eye on the logfiles to be sure google doesn't still crawl them with the same frequency. Would that be the case we will probably just block them through robots.txt).
But, long story short, for SEO we don't really want to use these 'simple' quantity pages (except for the bigbag + bulk quantities --> we gave them all unique and qualitative content). Also, for google shopping we don't want to send visitors to one specific quantity. I think it's kind of the same when someone is clicking (in google shopping) on a certain shoe and you present them with just 1 size.
I'm curious to your thoughts about this! And again: really appreciate your input!
-
Hey!
Great question.. Did you consider using different landing pages for all the different pricing options.
Eg.. For Black Beach Pebbles - suppose the main product page is yourwebsite.com/black_beach_pebbles .. And then for each pricing option - you have different URLs like these
- For the 20 kg minibag - you have yourwebsite.com/black_beach_pebbles?quantity=20kg
- For the 500 kg minibag - you have__ yourwebsite.com/black_beach_pebbles?quantity=500kg__
- etc..
Also for each of the bulk quantities options, you have different URLs like these
- For the 3000 kg bulk quanitity - you have_ yourwebsite.com/black_beach_pebbles?quantity=3000kg_
- For the 20,000 kg bulk quanitity - you have_ yourwebsite.com/black_beach_pebbles?quantity=20000kg_
- etc..
The advantage of having different URLs for each quantity option, is that you can then add the schema markup relevant just for the page. And if you add canonical tags for each page, then there is no issue of duplicate content.
For example, for the 20,000 kg url - yourwebsite.com/black_beach_pebbles?quantity=20000kg - the schema markup would be:
similarly for each page, you would add the relevant schema markup for that page.
Think this maybe better as each price has a different landing page, and each landing page has the correct schema reference.
The AggregateOffer schema markup maybe more useful when the same product is sold by different manufacturers. E.g. if you are selling black beach pebbles from 10 different manufactures, then you could use the AggregateOffer schema on the respective page (e.g. yourwebsite.com/manufactures/black_beach_pebbles which lists all the manufacturers.)
_$39_ _$950_ _from 10 sellers_
Just another option for you to consider. From a developer point of view the Offer property is better as each page (each quantity page URL) is totally independent, and only has markups regarding it. So, in the future if you delete one or add 20 more pricing options, you dont have to modify the existing ones.
Curious to know what you went with and why..
Cheers
Arjun
-
Not a problem hopefully it will prove useful...
-
First of all, thanks a lot for your reply!
Yes, you're completely correct. Regarding point 3 --> prices are already shown for all bags, but for the bulk quantities, the customer has to choose the desired quantity first.
I will dive into those recources first thing tomorrow! Thanks for providing them!
-
Wow that's quite a query. If I am understanding you right, you have this problem:
- You sell bags of stones and stuff
- They come in multiple sizes
- The user goes to the product page, selects the size - and is then presented with a price
- But because the price depends upon the user's interaction, because there are multiple product variants, Google doesn't understand your product pages very well - or the prices of your products
- This is particularly true for Google shopping
I can't say I have experienced this exact issue as Google shopping is one thing that, I haven't had much to do with it - since the good old days (when it was free, and all you needed was an XML feed!)
But your basic problem is how do you mark up product 'variants' with Schema, right?
I have tried to find some resources for you on the subject:
- https://www.schemaapp.com/tips/schema-org-variable-products-productmodels-offers/ - this seems really in-depth and helpful. Suggest giving it a read
- https://schema.org/ProductModel - Product models seem like a concept you'd need to know about
- https://schema.org/isVariantOf - this seems to be a symmetrical schema, going from variant to master (also something you'd need to know about)
From a top-line check, it seems that you need to establish product models and variants. The model seems to be the master 'thing' that has children, whilst the variant seems to be one of the children (makes sense I guess)
I'd try to get as close to those materials as possible, then debug with Google's official structured data testing tool (until everything is perfectly digested...)
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
-
Having problem with multiple ccTLD sites, SERP showing different sites on different region
Hi everyone, We have more than 20 websites for different region and all the sites have their specific ccTLD. The thing is we are having conflict in SERP for our English sites and almost all the English sites have the same content I would say 70% of the content is duplicating. Despite having a proper hreflang, I see co.uk results in (Google US) and not only .co.uk but also other sites are showing up (xyz.in, xyz.ie, xyz.com.au)The tags I'm using are below, if the site is for the US I'm using canonical and hreflang tag :https://www.xyz.us/" />https://www.xyz.us/" hreflang="en-us" />and for the UK siteshttps://www.xyz.co.uk/" />https://www.xyz.co.uk/" hreflang="en-gb" />I know we have ccTLD so we don't have to use hreflang but since we have duplicate content so just to be safe we added hreflang and what I have heard/read that there is no harm if you have hreflang (of course If implemented properly).Am I doing something wrong here? Or is it conflicting due to canonicals for the same content on different regions and we are confusing Google so (Google showing the most authoritative and relevant results)Really need help with this.Thanks,
Intermediate & Advanced SEO | | shahryar890 -
Our Web Site Is candere.com. Its PA and back link status are different for https://www.candere.com, http://www.candere.com, https://candere.com, and http://candere.com. Recently, we have completely move from http to https.
How can we fix it, so that we may mot lose ranking and authority.
Intermediate & Advanced SEO | | Dhananjayukumar0 -
Internal Links - Different URLs
Hey so, In my product page, I have recommended products at the bottom. The issue is that those recommended products have long parameters such as sitename.com/product-xy-z/https%3A%2F%2Fwww.google.co&srcType=dp_recs The reason why it has that long parameter is due to tracking purposes (internally with the dev and UX team). My question is, should I replace it with the clean URL or as long as it has the canonical tag, it should be okay to have such a long parameter? I would think clean URL would help with internal links and what not...but if it already has a canonical tag would it help? Another issue is that the URL is different and not just the parameter. For instance..the canonical URL is sitename.com/productname-xyz/ and so the internal link used on the product page (same exact page just different URL with parameter) sitename.com/xyz/https%3A%2F%2Fwww.google.co&srcType=dp_recs (missing product name), BUT still has the canonical tag!
Intermediate & Advanced SEO | | ggpaul5620 -
Best Format to Index a Large Data Set
Hello Moz, I've been working on a piece of content that has 2 large data sets I have organized into a table that I would like indexed and want to know the best way to code the data for search engines while still providing a good visual experience for users. I actually created the piece 3 times and am deciding on which format to go with and I would love your professional opinions. 1. HTML5 - all the data is coded using tags and contains all the data on page in the . This is the most straight forward method and I know this will get indexed; however, it is also the ugliest looking table and least functional. 2. Java - I used google charts and loaded all the data into a
Intermediate & Advanced SEO | | jwalker880 -
Is it OK to dynamically serve different content to paid and non-paid traffic from the same URL?
Hi Moz! We're trying to serve different content to paid and non-paid visitors from the same URL. Is this black hat? Here's the reason we want to do this -- we're testing a theory that paid ads boost organic rankings. This is something we saw happen to a client and we want to test this further. But we have to have a different UX that's more sparse and converts better for paid. Thanks for reading!
Intermediate & Advanced SEO | | Horizon_SEO0 -
Pros or Cons of adding Schema Markup via HTML or through Webmaster Data Highlighter
Hello, I am in the process of adding schema to a site that I am working on,, are there advantages or disadvantages to adding via html on site or through webmaster tools? Thank You
Intermediate & Advanced SEO | | TP_Marketing0 -
I have search result pages that are completely different showing up as duplicate content.
I have numerous instances of this same issue in our Crawl Report. We have pages showing up on the report as duplicate content - they are product search result pages for completely different cruise products showing up as duplicate content. Here's an example of 2 pages that appear as duplicate : http://www.shopforcruises.com/carnival+cruise+lines/carnival+glory/2013-09-01/2013-09-30 http://www.shopforcruises.com/royal+caribbean+international/liberty+of+the+seas We've used Html 5 semantic markup to properly identify our Navigation <nav>, our search widget as an <aside>(it has a large amount of page code associated with it). We're using different meta descriptions, different title tags, even microformatting is done on these pages so our rich data shows up in google search. (rich snippet example - http://www.google.com/#hl=en&output=search&sclient=psy-ab&q=http:%2F%2Fwww.shopforcruises.com%2Froyal%2Bcaribbean%2Binternational%2Fliberty%2Bof%2Bthe%2Bseas&oq=http:%2F%2Fwww.shopforcruises.com%2Froyal%2Bcaribbean%2Binternational%2Fliberty%2Bof%2Bthe%2Bseas&gs_l=hp.3...1102.1102.0.1601.1.1.0.0.0.0.142.142.0j1.1.0...0.0...1c.1.7.psy-ab.gvI6vhnx8fk&pbx=1&bav=on.2,or.r_qf.&bvm=bv.44442042,d.eWU&fp=a03ba540ff93b9f5&biw=1680&bih=925 ) How is this distinctly different content showing as duplicate? Is SeoMoz's site crawl flawed (or just limited) and it's not understanding that my pages are not dupe? Copyscape does not identify these pages as dupe. Should we take these crawl results more seriously than copyscape? What action do you suggest we take? </aside> </nav>
Intermediate & Advanced SEO | | JMFieldMarketing0 -
Why should your title and H1 tag be different?
Is it dangerous to have your H1 tag and your title the exact same thing? My thought was that it's not be the best use of space, but that it couldn't cause harm. What do you think?
Intermediate & Advanced SEO | | MarieHaynes7