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
-
Index, follow on a paginated page with a different rel=canonical URL
Hello, I have a question about meta robots ="index, follow" and rel=canonical on category page pagination. Should the sorted page be <meta name="robots" content="index,follow"></meta name="robots" content="index,follow"> since the rel="canonical" is pointing to a separate page that is different from the URL? Any thoughts on this topic would be awesome. Thanks. Main Category Page
Intermediate & Advanced SEO | | Choice
https://www.site.com/category/
<meta name="robots" content="index,follow"><link rel="canonical" href="https: www.site.com="" category="" "=""></link rel="canonical" href="https:></meta name="robots" content="index,follow"> Sorted Page
https://www.site.com/category/?p=2&dir=asc&order=name
<meta name="robots" content="index, follow"=""><link rel="canonical" href="https: www.site.com="" category="" ?p="2""></link rel="canonical" href="https:></meta name="robots" content="index,> As you can see, the meta robots is telling Google to index https://www.site.com/category/?p=2&dir=asc&order=name , yet saying the canonical page is https://www.site.com/category/?p=2 .0 -
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 -
:Pointing hreflang to a different domain
Hi all, Let's say I have two websites: www.mywebsite.com and www.mywebsite.de - they share a lot of content but the main categories and URLs are almost always different. Am I right in saying I can't just set the hreflang tag on every page of www.mywebsite.com to read: rel='alternate' hreflang='de' href='http://mywebsite.de' /> That just won't do anything, right? Am I also right in saying that the only way to use hreflang properly across two domains is to have a customer hreflang tag on every page that has identical content translated into German? So for this page: www.mywebsite.com/page.html my hreflang tag for the german users would be: <link < span="">rel='alternate' hreflang='de' href='http://mywebsite.de/page.html' /></link <> Thanks for your time.
Intermediate & Advanced SEO | | Bee1590 -
Benefits/drawbacks to different Schema markup languages (ie. JSON-LD, Microdata, RDFa)
Just a question (or questions) I have wondered about. What's the difference, besides the actual encoding, between the three? Why have three? Why not just the one? Seems to me that Microdata is the easiest, but maybe I am wrong. Is there a reason to use one versus another? I have not found anything explaining this on schema.org - I suppose this is just a discussion versus getting one right or wrong answer. I am just curious of the opinions of people in the SEO MOZ community. Unless of course there is one answer. I'll take that too.
Intermediate & Advanced SEO | | Brian_Dowd1 -
Added sub-folder to GWT no data?
Added sub-folder to GWT no data? Hi guys, I've added a sub-folder to GWT: domain.com.au/us/ about 5 days ago. I have no yet received any data via GWT around the subfolder. The main domain domain.com.au has been added separately and is receiving traffic. Any ideas why i'm not seeing data for the sub-folder above domain.com.au/us/ I simply added it as a new property in GWT. Thankyou.
Intermediate & Advanced SEO | | jayoliverwright0 -
I need thoughts on how to chase a suspected Hosting Issue with Simple Helix and 524 errors, also some site speed data mixed in...
So the back story on this project is we've been working as PPC and SEO managers with an ecoomerce site (Magento Enterprise based) that crashed in April. After the issue they fired their developer and switched hosting to Simple Helix at the recommendation of the new developer. Since the change we have seen a plummeting ecommerce conversion rate especially on weekends. Every time something seems really bad, the Developer gives us a "nothing on our end causing it." So doing more research we found site speed in GA was reporting crazy numbers of 25+ seconds for page loads, when we asked Simple Helix gave us answers back that it was "Baidu spiders" crawling the site causing the slowdown. I knew that wasn't the issue. In all of this the developer keeps reporting back to the site owner that there is no way it is hosting. So the developer finally admitted the site could be slowing down from a Dos attack or some other form of probing. So they installed Cloudflare. Since then the site has been very fast, and we haven't seen turbulence in the GA site speed data. What we have seen though is the appearance of 524 and 522 errors in Search Console. Does anyone have experience with Cloudflare that seeing those types of errors are common in usage? Is there any other thought what might be causing that and what that means from the servers, because the developer reports back that Simple Helix has had no issues during this time. This has been a super frustrating project and we've tried a lot different tests, but there is really abnormal conversion data as I said especially during peak times on the weekend. Any ideas of what to chase would be appreciated.
Intermediate & Advanced SEO | | BCutrer0 -
Google crawling different content--ever ok?
Here are a couple of scenarios I'm encountering where Google will crawl different content than my users on initial visit to the site--and which I think should be ok. Of course, it is normally NOT ok, I'm here to find out if Google is flexible enough to allow these situations: 1. My mobile friendly site has users select a city, and then it displays the location options div which includes an explanation for why they may want to have the program use their gps location. The user must choose the gps, the entire city, or he can enter a zip code, or choose a suburb of the city, which then goes to the link chosen. OTOH it is programmed so that if it is a Google bot it doesn't get just a meaningless 'choose further' page, but rather the crawler sees the page of results for the entire city (as you would expect from the url), So basically the program defaults for the entire city results for google bot, but for for the user it first gives him the initial ability to choose gps. 2. A user comes to mysite.com/gps-loc/city/results The site, seeing the literal words 'gps-loc' in the url goes out and fetches the gps for his location and returns results dependent on his location. If Googlebot comes to that url then there is no way the program will return the same results because the program wouldn't be able to get the same long latitude as that user. So, what do you think? Are these scenarios a concern for getting penalized by Google? Thanks, Ted
Intermediate & Advanced SEO | | friendoffood0 -
Importing Keyword Planner Data into Excel?
What is the most efficient way to import search volume information into excel? We have 130K keywords that we need search volume information for.
Intermediate & Advanced SEO | | nicole.healthline0