Schema markup provides your site with a variety of rich snippets that can make your ecommerce store stand out more in search results. It also gives search engines information that can help your pages perform better in search results and inform the Google Knowledge Graph.
Fortunately, most BigCommerce themes come with schema markup included, which you can test using Google’s Structured Data Testing Tool.
Unfortunately, most themes do not take full advantage of all of the structured data opportunities available. We highly recommend working with a developer to ensure that you are capitalizing on all of the available schema markup opportunities.
We present an overview of them here.
Product Schema
Product schema markup is arguably the most important schema markup for an ecommerce store. If your store is missing it, you can hardly claim to be doing schema markup for ecommerce.
Product schema allows Google to add product information to Google image search results so that searchers know the product in the image is for sale and some important information about it. It also adds product information to Google search results, creating a rich snippet that stands out more and gives searchers information like the product price.
Product markup is used on two types of pages:
- Product pages for a single product
- Shopping aggregators that list several different sellers, again for a single product
See Google’s example of an offer for a single product.
Google’s required properties for Product are:
And the recommended properties are important to get the most out of your markup:
- aggregateRating which will display a star rating in the search results
- brand
- description
- offers, an Offer that includes the pricing information you want to turn up in search results
- review, a nested review of the product
- global identifiers
- sku
Review Snippet
We mentioned review snippets in the product section above. If you are not including them in your product markup you will not get star ratings in the search results. You will need to have product reviews legitimately left by users and fairly represented for this to work reliably. Remember that trying to fool the search engines can result in your site being penalized and being removed from the search results altogether.You will need to use AggregateRating for the average rating of all of your user reviews, and Review for each individual user review.
Each review requires these properties:
The other properties can help or may be necessary:
- datePublished
- reviewRating.bestRating if it isn’t on a 5 point scale
- reviewRating.worstRating if the lowest possible score isn’t 1
AggregateRating requires these properties:
And you may need these properties:
- bestRating if it isn’t a 5 point scale
- worstRating if the lowest possible score isn’t 1
Here are Google’s examples of an aggregate rating, and of a simple review.
Sitelinks Searchbox
Users can use a sitelinks searchbox to search your site from within Google’s search results. Google sometimes includes one even without markup that is powered by Google search.
However, if your e-commerce site has a strong internal search engine that is more effective for e-commerce purposes, marking it up with the correct structured data allows users to search for your site’s products from within Google search results. Including this markup may also encourage Google to include a searchbox when it otherwise wouldn’t. Real-time suggestions and other features are included.
Google’s guidelines include these steps:
- Install a working search engine on your site or app
- Set up searchbox schema using the WebSite markup only on the homepage. You will specify one SearchAction for the website, and optionally a second for the app.
- Verify with Google’s Structured Data Testing Tool.
- Verify that your search engine works properly by navigating to a test URL like https://www.example.com/search/?q={kittens}.
- Set up rel=canonical on all variants of your homepage
- Use intent filters for apps. See Firebase App Indexing for Android for an example.
While the WebSite markup is used to set up the searchbox, it’s usage deviates slightly from that recommended on schema.org. The required properties include:
- potentialAction: this is an array of either one or two SearchAction objects. This describes the URI for the query and its syntax. Google offers these examples:
- Website example:
"potentialAction": [{ "@type": "SearchAction", "target": "https://query.example.com/search?q={search_term_string}", "query-input": "required name=search_term_string" }]
- App example:
"potentialAction": [{ "@type": "SearchAction", "target": "android-app://com.example/https/query.example.com/search/?q={search_term_string}", "query-input": "required name=search_term_string" }]
- Website example:
- potentialAction.query-input, which uses the literal string required name = search_term_string, or a different placeholder string if it was used it target above
- potentialAction.target, in the format search_handler_uri?q={search_term_string}, like this example:
- https://query.example.com/search?q={search_term_string}
- url for your canonical homepage.
We highly recommend reviewing Google’s examples of searchbox markup for a website and for a website and app.
Software App
Markup software app information to get rich results in search results like the one above. If you sell products through an ecommerce app this markup is vital.
Use the SoftwareApplication schema to markup your app information. Google’s required properties are:
- name for the app name
- offers.
price - aggregateRating or review
Recommended properties include:
See Google’s example of markup for a software app.
Corporate Contact
Adding corporate contact markup introduces your company’s contact information into some search results, especially rich results and the Google Knowledge Panel.
See Google’s example of markup for corporate contact including a customer service number and company logo.
Corporate contact uses the ContactPoint schema, and Google requires these properties:
They also recommend
Breadcrumb
Use breadcrumb markup to display your site hierarchy in search results so that users have the option to directly access the folders a page is nested in.
For example, Google offers a markup example here that would generate these links in a rich snippet for your search result:
Use the schema BreadcrumbList. Google requires these properties:
Logo
Tell Google what to use for your company logo in the Knowledge Panel and rich results using logo schema markup. See Google’s example of the markup.
Use the Organization schema to define your company’s logo. The required properties are:
- logo, the URL for a logo image, which must be 112×112 px at minimum and in .jpg, .png, or .gif format
- url, the URL for the website
Article
If you are running a blog as part of your store’s content marketing strategy, take advantage of article schema to show up in rich results like Top Stories carousels, Visual stories, and other rich results including images and logos. Google recommends using AMP for your articles with structured data, although there are some limitations that don’t always make that the best option, in particular limited Analytics tracking, a limit of one ad per page, and limited control over the layout.
Article objects use the Article, NewsArticle, or BlogPosting schema. Google has different structured data recommendations for AMP and non-AMP articles.
For AMP pages, these properties are required:
- author
- author.name
- datePublished
- headline
- image
- publisher
- publisher.
logo - publisher.
logo. height - publisher.
logo. url - publisher.
logo. width - publisher.
name
and they recommend these properties:
There are no technically required properties for non-AMP pages, but they recommend dateModified, datePublished, headline, and image. Use these for the best chance of a good rich result in the search listings.
See Google’s example of an Article object.
Carousel
Carousels are some of Google’s most standout rich results. Typically appearing in mobile results, they show a list of visual items that the user can swipe sideways on to explore pages on your site. Unfortunately, Google doesn’t currently offer carousel results for products, although up the schema as though they were is not considered an error and is worth doing if there are no serious development hurdles.
Carousel results are currently available for recipe, course, Article, and Restaurant types.
The schema for a carousel includes an ItemList containing a minimum of two ListItems.
The only required property for ItemList is itemListElement. ListItem requires these properties:
See Google’s summary page with detail pages example as well as their all in one page example.
FAQ (Frequently Asked Questions) Schema
Use the FAQ structured data and Google may display a rich result with a list of questions on your site with drop-down arrows to view the answers. The schema may also be used by Google Assistant.
Google requires that you only use FAQ markup if:
- Your page is a list of questions and answers, not one answer to one question or one question with multiple answers.
- The questions and answers are NOT user-generated content
- It can’t be used to advertise.
- The entire question and answer must be within the markup.
- All of the FAQ content is visible to users who visit the page.
FAQ pages are marked up using the FAQPage schema, which requires the mainEntity property.
Each question uses the Question schema, which requires these properties:
The answer uses the Answer schema, which requires the text property.
See Google’s FAQ page example markup.
Q&A
Use Q&A markup to help Google display rich results for user-generated questions and answers, similar to the image above. This is only for user-generated content. Use FAQ markup, as described in the previous section, if the content was published by your own authors and lists a series of questions with one answer for each.
Googles guidelines on Q&A markup say:
- Use it only for Q&A format, which includes one question with multiple answers.
- Users don’t have to be able to generate questions, but they must be able to submit answers.
- It should only be applied to pages that use the Q&A format, not to every page even if your site features some Q&A pages
- Don’t use it for advertising
- The entire question and answers must be marked up
- Make sure the answers are moderated for obscene content
Use the QAPage schema to markup Q&A pages. There should only be one QAPage per URL. The only required property is mainEntity which must contain a Question. The required properties for Question include:
- answerCount
- acceptedAnswer or suggestedAnswer. The accepted answer must be the top answer or user or moderator selected answer. A suggested answer can be one of many answers that has not been accepted as the top or correct answer and is possibly false.
- name as a title for the question
Recommended properties for Question include:
- author
- dateCreated
- text for the long form of the question
- upvoteCount for a user-generated score of the question
Use Answer markup for the acceptedAnswer or suggestedAnswer within the Question schema. Required properties are. The only required property is text for the text of the answer, but recommended properties include:
- author
- dateCreated
- upvoteCount
- url pointing directly to the answer
See Google’s example markup.
How-To
Use how-to markup to encourage Google to list a series of instructional steps in a rich result. This is a perfect fit if you have instructions on your site for using a product that needs to be followed in sequence. It should only be used if the instructions are the main content of the page.
Google’s guidelines say:
- Don’t use it to advertise.
- The how-to content needs to be visible to users.
- Structured data needs to be included for any materials and tools required.
- Each step needs to contain the full step.
- If you use step images, the images must be used to represent only that step and be functionally useful.
- If you have a final image, it must represent the completed result of the instructions.
- Don’t use it for recipes because there is already a separate markup for that.
To markup instructional content, use the HowTo schema, with these required properties:
- name for the title of the instructions
- step using the HowToStep or HowToSection elements
These properties are highly recommended to get a good rich result if they fit:
- description
- estimatedCost
- image for the final result
- supply
- tool
- totalTime
- video
See Google’s example markup for a simple text how-to, a how-to with images, and a how-to with video.
Conclusion
The schema markup above will help your site show up in rich results that make you stand out in the search results, can help Google understand your site better, and can help Google Assistant and other tools in some cases. Take advantage of these tools to stand out against the competition.