Mr Jonathan Jones

Mr Jonathan Jones

SEO & Digital Consultant

Testing FAQ page mark-up with Product Ratings on Google

So one of the questions I asked John Mueller in a Google Hangouts recently was –

Is it possible to have FAQ page mark-up and product review ratings simultaneously?

Or something like that. It is a genuine question as development resource has to go into getting structured data applied in complex content management systems, and that resource has a cost associated with it.

John wasn’t too sure, so told me to go and test that out which is what I have done in the post. Though I’ll briefly go into the pre-text behind some research that I’ve seen before from Brodie Clark where he had posted a screenshot before where he noted down a before and after of a page with FAQPage Schema and Product Schema:

So it looked like at some point that you could have both star ratings and FAQs showing; you can see that changed at some point – with Brodie speculating that this change occurred during the Google Review Snippet update:

brodie-clark-product-ratings-faqAs an aside, if we take the example from Vroom Vroom Vroom for the term [car hire melbourne] today, you can see that on Google UK it shows the star rating snippet on their search result listing. They still have FAQPage schema and product schema on their page, but Google has decided to show the star ratings. Via the Rich Results Test Tool you can also see that tool does the opposite and shows the FAQPage schema – showing the complete opposite of what Google actually shows:

In a weird way (weird because Google’s Rich Results Tool says otherwise), this sort of confirms that you can’t have both star ratings and FAQs showing in the search results at the same time.

Or does it?

If you work on or are in the hotel industry for organic search purposes, you’ll see that Booking.com has a pretty comprehensive set of structured data showing in the search results – all the way from price ranges, product ratings to FAQs:

Via Google’s Structured Data Tool you can see they have all of the structured data schema – all below in working order:

I can only assume that because Google groups the Hotel schema along with the AggregateRating, they are able to get the best of both worlds (both FAQs and star ratings) – as from what I’ve tested, you can only have one or the other – and not both – as per the screenshots from Brodie Clark above when it comes to Product schema and FAQPage mark-up.

Hotel schema:


<script type="application/ld+json">
{
"aggregateRating" : {
"@type" : "AggregateRating",
"reviewCount" : 2229,
"ratingValue" : 8.7,
"bestRating" : 10
},
"@type" : "Hotel",
"hasMap" : "https://maps.googleapis.com/maps/api/staticmap?markers=color:blue%7c53.4822848,-2.2581330&center=53.4822848,-2.2581330&sensor=false&zoom=15&size=1600x1200&client=gme-booking&channel=booking-frontend&signature=fH2w7_eEb1JuZ0_W2Px9IkpmOhg=",
"@context" : "http://schema.org",
"url" : "https://www.booking.com/hotel/gb/the-ainscow.en-gb.html",
"address" : {
"addressCountry" : "UK",
"addressLocality" : "Trinity Way",
"streetAddress" : "Trinity Way, Manchester City Centre, Manchester, M3 5EN, United Kingdom",
"@type" : "PostalAddress",
"postalCode" : "M3 5EN",
"addressRegion" : "Greater Manchester"
},
"description" : "The Ainscow Hotel, BW Premier Collection is set next to Salford Central Railway Station and just 10 minutes’ walk from Manchester’s lively centre and the...",
"name" : "The Ainscow Hotel, BW Premier Collection",
"priceRange" : "Prices for upcoming dates start at £50 per night (We Price Match)",
"image" : "https://r-ak.bstatic.com/images/hotel/max500/136/136869675.jpg"
}
</script>

Another example of it working through AutoRental schema

Off the back of this post, I put this up on Twitter and got a few good responses. Peter Mindhall, for example, found me an example of it working through AutoRental schema mark up for this particular website:

I am now testing this out to see if this has an actual impact on the original test page that I setup, so there might be tweaks or ways round to getting this to show.

<script type='application/ld+json'>
{
"@context": "http://schema.org/",
"@type": "AutoRental",
"currenciesAccepted": ["EUR","GBP","USD","AED","ARS","AUD","AZN","BDT","BGN","BHD","BRL","CAD","CHF","CLP","CNY","COP","CRC","CZK","DKK","EGP","FJD","GTQ","HKD","IDR","ILS","INR","ISK","JOD","JPY","KES","KRW","KWD","LKR","MAD","MKD","MMK","MOP","MXN","MYR","NAD","NGN","NOK","NZD","OMR","PHP","PKR","PLN","QAR","RON","RSD","RUB","SAR","SEK","SGD","THB","TRY","TWD","TZS","UAH","VND","ZAR"] ,
"faxNumber": "",
"telephone": "(39) 02-715123",
"alternateName": "Avis Europe Corporate",
"mainEntityOfPage": "",
"name": "AVIS",
"address": "Milano Linate Aeroporto, Milan, 20090",
"areaServed": "Milan",
"branchCode": "",
"contactPoint": "",
"email": "",
"globalLocationNumber": "",

"geo": {
"@type": "GeoCoordinates",
"latitude": "45.461746",
"longitude": "9.279697"
},

"legalName": "AVIS",
"location": {
"@type": "Place",
"name": "Milan Linate"
}
,
"paymentAccepted": ["Visa", "Master Card", "Discover", "Amex"],
"priceRange": "",
"sameAs": "",
"taxID": "",
"vatID": "",

"openingHours": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],

"logo" : "https://ct-supplierimage.imgix.net/car/avis.pdf?w=1024" ,

"image" : "https://ct-supplierimage.imgix.net/car/avis.pdf?w=1024",
"url" : "https://www.italianairportguide.com/lin/avis-car-hire-milan-linate.htm"

,"aggregateRating":{"@type": "AggregateRating", "ratingValue": "5.8", "bestRating" : "10", "reviewCount": "4294","worstRating":"0"}

}
</script>

Testing Product Schema and FAQ Schema

So from the example Brodie shared, we know that you can’t have both these schema types showing, but I thought I’d test this out for myself – along with moving around and re-ordering where I put the mark-up within the HTML.

For this particular test I originally had FAQPage schema mark-up on one of my already existing blog pages from December 2018 – though had obviously added the schema back in June or July when FAQpage became available for use on Google as a snippet enhancement. I simply added product schema to the page and submitted the page to Google and Google decided to prioritise  the product schema over the FAQPage schema:

You can see from the screenshot below that both the FAQ and Product schema validate:

However, again, only one of the schema could show at a time, which was the product schema over the FAQ schema.

I had a few theories as to why this would be the case – and my theory is that Google will process whichever of the schema mark-ups come up first in the HTML (presumably reading from top to bottom). I had positioned the product schema above the FAQ schema, hence why I believe Google displayed the star ratings over the FAQpage schema mark up.

 Update [09/10/2019]: Google seems to prioritise the Product Schema regardless of position within the HTML.

Here’s effectively what I used on the page at the time when the star ratings were displaying:

Product schema:

<footer class="reviews__footer" itemscope="" itemtype="http://schema.org/Product"><meta content="datastudio" itemprop="name">

<div class="reviews__score" itemprop="aggregateRating" itemscope=""
itemtype="http://schema.org/AggregateRating"><div class="reviews__information">

<div class="reviews__value" itemprop="ratingValue">4.6/5</div>

<div> Based on <span itemprop="reviewCount">10</span> reviews. 

FAQPage schema:

<script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Am I still able to pull data by day from Google Search Console? ",
"acceptedAnswer": {
"@type": "Answer",
"text": "In short, the answer is yes. Google Data Studio gives you this ability."
}
}, {
"@type": "Question",
"name": "Can I pull data by device type?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, you can add this as a breakdown dimension which will allow you to pull data over time by all three device types - Mobile, Desktop, and Tablet."
}
}, {
"@type": "Question",
"name": "Does Mr Jonathan Jones likes to play with FAQPage mark-up?",
"acceptedAnswer": {
"@type": "Answer",
"text": "You guessed it; he does."
}
}, {
"@type": "Question",
"name": "Does FAQ page mark-up still show with pure JSON-LD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Let's find out?"
}
}, {
"@type": "Question",
"name": "What's better - JSON-LD or Microdata format?",
"acceptedAnswer": {
"@type": "Answer",
"text":"IMHO JSON-LD is a lot more forgiving, but at times it can play with the existing javascript on the page!"}
}]
}</script> 

I am keen to test out the hotel schema mark-up next – seeing as that seems to work regarding ratings and FAQ in combination – though I do find it odd how Google have disabled it for one type of schema and allowed it on another. It may be due to the fact that the star ratings and FAQ combination is more logical for the hotel industry, whereas having that ability everywhere else might be considered a lot harder to manage/control.

FAQs

Is it possible to have Product schema and FAQpage schema in combination showing on Google? 

  • It’s now no longer possible to have product schema and FAQPage schema in combination showing on your search listing

Is it still possible for other types of schema to show star ratings + FAQPage schema?

  • It’s still possible to to have hotel schema and autorental schema (w/ aggregaterating), along with FAQPage schema showing on your search listing

How does Google prioritise the schema on the page? (whether that’s FAQPage or Product schema)  

  • Google will prioritise the schema it shows from where it is positioned in the HTML (presumably reading from top to bottom) – likely if the ‘mainEntityOfPage’ is not defined
  • Google will prioritise the Product Schema over the FAQPage Schema (from showing in the SERPs). A few tests I’ve done now show this – and also based on feedback I’ve received (thank you!)

16
Leave a Reply

avatar
5 Comment threads
11 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
6 Comment authors
Saijo GeorgeMr Jonathan JonesNealeMartin L.Bimbo Lawal Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Saijo George
Guest

Hi Jonathan

you might find this FAQPage Generator that I built to be useful when you want to quickly add FAQPage schema to a page. https://saijogeorge.com/json-ld-schema-generator/faq/

Jarno van Driel
Guest
Jarno van Driel

It’s likely Google chooses a ‘mainEntityOfPage’ out of 1 of the top level entities on a page if you don’t specify which of the top level entities is the ‘mainEntityOfPage’. You can read more about that here: http://www.seoskeptic.com/how-to-use-schema-org-v2-0s-mainentityofpage-property/

Bimbo Lawal
Guest

I think Google is going to give regard to the schema mark up that comes first.

Neale
Guest

I tested this last week trying to get my head around it. What I found was position of the json on the page had nothing to do with what shows. In my case Google always defaulted to showing the product ratings. I have a site with pages that review an individual product. They are not agregrated ratings. What I have done in the interim is to randomize either ratings or Faq. As I want to see what works best re ctr. What I will be doing moving forward is to apply FAQ to pages where I know I rank page… Read more »

trackback

[…] Jones explored this in a recent post on his blog, which I would recommend checking […]

Martin L.
Guest
Martin L.