First off, what exactly is Schema.org?
To put it simply, it’s a collaboration between all three major search engines to find ways for better understanding what a website is about. Specifically, certain pages on large websites that can easily have perceived overlapping topics to a computer. After all, a computer is just a machine and can only do what we tell it to do. So thinking critically and being able to discern the different topics of an article that most likely has overlapping terminology from other articles on your site can be tough. In fact, it can be extremely tough! So, Schema.org was born.
How does Schema.org impact your site?
Over the past 4-6 months, I’ve been getting more questions around Schema.org. Things like “how does it impact SEO?”, “how much Schema.org data should we include on a page?” among other questions. I had to do some experimenting before being able to definitively answer these questions, and probably for obvious reasons. Schema is complex, and I had implemented it successfully on large sites, but was implementing the new schema really that effective? Was too much schema a bad thing? Did it really make such an impact or was it just the fact that we improved other portions of the code as well? I set out to answer these questions during another client’s transition from a Magento site to a Shopify Plus store.
A little background on this case study
The client had a large amount of traffic coming to their site, but the problem was it was all paid traffic. Their developers were constantly at work trying to fix the site with other bugs that just wouldn’t seem to go away, so SEO was far from a top priority. The result? Poor URL structures, less than satisfactory title and description tags, and even worse were the products didn’t rank for even their own website terms. Yuck!
Here’s what we did
Before the transition from Magento to Shopify, we debated on re-creating the Magento theme into a Shopify theme, or just buying one already built. By some stroke of luck, we found a theme that was already very similar to the one in the Magento store and decided to buy it. The theme even came with Schema built in! HOORAY! Less work for us, right?
The theme had:
Product schema on the product pages
Product schema in the recommended products section on product pages
Product scehema on product collection pages
Product schema on the Top Products section on the home page
Breadcrumb schema littered throughout the menu
At first it seemed like we were off to a great start. New theme, faster server that wouldn’t crash under high-traffic volume loads, and all kinds of other neat and easily implemented features that used to create development headaches. So I went through the typical process of updating title and page descriptions, adding in alt-tag keywords, etc. and used Google’s Structured Data Testing Tool to verify the schema was being picked up correctly.
Wait a week to see what happens and…
I checked the Search Console to verify that the schema markup was being detected correctly, and to my delight it was! I start Googling the names of products to see them appear in search results along with stock availability and pricing. What do I find? Nothing but a standard result, or even nothing. What?! Why isn’t the schema working? It had taken less than a week to appear for another very similar eCommerce site, so why isn’t it working now?
It turns out that too much schema is a bad thing
I went back to using Google’s structured data tool to see if it would give me clues. I quickly realized, every product page I checked had 4-7 products appearing with schema data. Uh-oh, is Google not able to tell what the main product on the page is about? Is having too much schema on the page just re-creating the problem that Schema.org was designed to solve? Well, it turns out that is exactly the case! The developers wouldn’t know that unless they were marketers, but cranking out a mass-produced theme file and including “Structured Data Schema” was a selling point, regardless of whether it was implemented in a way that functions.
So I spent an entire day removing the inline Schema markup and replaced it with JSON-LD
Why JSON-LD? Well, it’s much easier to maintain for one. My second reason is because it makes it much easier to control where the snippet appears within Shopify. I can just create a snippet in the theme files and only include the product scheme on a product page and not a list page. Thus, preventing overlapping information! Another benefit is that there is less code to manage. Inline schema adds a lot of extra code to a page and when you multiply that times the number of visitors to a site it can become resource intensive to keep adding detailed markup. It can also interfere with design elements or sometimes not even have the design elements needed on a page to produce things like Aggregate Review Ratings within the serps.
Less than one week later, we had the results we wanted!
After making the switch to JSON-LD and only utilizing one product schema per product page, we saw our products ranking better for the keywords they were about and the availability and pricing were included in the search results. Success! Since this was something I had never tested before, I had used the developers decision to include so much markup in order to test whether it was detrimental to a site’s ranking or not.
Thanks for taking the time to read this. I am not able to post any before/after images due to an NDA that’s in place with this client, but I would love the chance to make you a case study! If you would like help, please reach out to me through the contact form on our Contact Us page. Don’t forget to subscribe to the blog and leave any comments below.