In circumstances where you wish to add markup to your product pages, the Feefo Reviews API can be used to retrieve and populate the dynamic data elements.

Implementation steps

             1. Markup your product pages
              Applying markup with associated schema to your HTML page content allows Google to scan your review data.

Schema markup languages

Available syntax for schema mark-up: JSON-LD, Microdata, RDFa. Lately Google recommends using JSON-LD for your schema markup.

For more information on schema markup, please see the links below:


Schema placement

Product schema should be added to an individual product page that features a physical product or a service (e.g. haircut) where you are collecting and displaying product reviews. You cannot place product schema on category or collection pages, as this is against Google guidelines.

Example of a single product page (JSON-LD)

 

<script id='product_schema' type="application/ld+json">

{

  "@context": "https://schema.org",

  "@type": "Product",

  "@id": "/products/egret-ten-v3-electric-scooter#Product",

  "name": "EGRET-TEN V3 X","gtin13": 4260399795284,"itemCondition": "https://schema.org/NewCondition",

  "sku": "EGR-TEN-BLA",

  "mpn": "EGR-TEN-BLA",

  "image": "https://cdn.shopify.com/s/files/1/0106/0156/2193/products/egret-electric-scooters-egret-ten-v3-x-48v-15628641927249.jpg?v=1598780050",

    "productID": 3112989392977,

    "description": "The EGRET-TEN V3 X UK electric scooter is built to the highest specification and build quality, apparent in everything from the 10\" air-filled tyres that make light work of bumps and potholes, right through to the Samsung li-ion battery, capable of supporting a power output 500W, for up to 25 miles on a single charge. ",

"brand": {

       "@type": "Brand",

    "name": "Egret"

  },

  "aggregateRating": {

"@type": "AggregateRating",

"ratingValue": "5",

"reviewCount":"2"

}, 

"review": [

{"@type": "Review",

"author": "Imogene Ashlock",

"datePublished": "Tue Jun 16 2020 17:00:00 GMT-0700 (Pacific Daylight Time)",

"reviewBody": "I have an Engineering background, own a Tesla and I work in the energy industry, specifically the Mo",

"name": "Imogene Ashlock",

"reviewRating":{

"@type": "Rating",

"bestRating": "5", 

"ratingValue": "5", 

"worstRating": "1"}},

{"@type": "Review",

"author": "Trusted Customer",

"datePublished": "Sun May 31 2020 17:00:00 GMT-0700 (Pacific Daylight Time)",

"reviewBody": "The escooter is the dogs, i love it.",

"name": "Trusted Customer",

"reviewRating":{

"@type": "Rating",

"bestRating": "5", 

"ratingValue": "5",

 "worstRating": "1"}

}

],

  "offers": {

       "@type": "Offer",

    "price": "1338.99",

    "priceCurrency": "GBP",

    "priceValidUntil": "2021-06-07",

"url": "https:\/\/myscoot.co.uk\/products\/egret-ten-v3-electric-scooter?variant=23620094722129",

"availability": "https://schema.org/OutOfStock"

  }   

}

</script>

 

 

                  2. Use the Feefo Reviews API to retrieve and populate the markup

  • Aggregate markup data can be called from the summary API (product mode)
  • Review markup data can be called from the reviews API (product mode)

     Marking up reviews in your schema will allow the Googlebot to crawl the reviews from the HTML code as opposed to fetching the reviews from the on-page integration widget that inserts reviews via JS script.  This can be particularly useful in circumstances where there are a lot of reviews on the page.

Schema Property

Feefo API Response Parameter

aggregateRating.ratingValue

rating.rating

aggregateRating.reviewCount

rating.product.count

review.author

reviews[].customer.display_name

review.reviewBody

reviews[].products[].review

review.ratingValue

reviews[].products[].rating.rating

review.datePublished

reviews[].products[].created_at


 Note: Manipulating or skewing your aggregateRating markup could result in Google penalising your rich snippets results.

Performance caching

It’s highly recommended that you cache the API response data server side and periodically update it to avoid having a real-time dependency on the API and optimise your page load speed.

             3. Validate your implementation

You can do this using the Google Developers Testing Tool by simply providing the URL of your web page or the code snippet, clicking Fetch & Validate and checking for the presence of the data in the response.

Graphical user interface, text, application, chat or text message

Description automatically generated

A screenshot of a computer

Description automatically generated

             4. Wait for your content to be crawled by Google

This will depend on how often your website is crawled and on average can be around 24-48 hours from publication. In some cases, Google’s algorithms will disregard content even when it has been marked up correctly based on a huge number of factors. To be on the save side, your content must follow these guidelines to be eligible to appear as a rich result. We also recommend you check the list of products that do not qualify to be promoted on Google’s network and therefore do not qualify for rich snippets in SERP.