Google mark spam if the review html markup is hidden for paginating - Structured data

by Nidheesh   Last Updated August 06, 2018 09:04 AM

Recently I got below message from google in Webmasters Manual Actions tab:

Site-wide matches

Affects Spammy structured markup Markup on some pages on this site appears to use techniques such as marking up content that is invisible to users, marking up irrelevant or misleading content, and/or other manipulative behavior that violates Google's Spammy Structured Markup guidelines.

Some manual actions apply to entire site Reason

I did a manual check through all the pages of the website and found 1 possible issue, which is explained below.

We use a 3rd party service to collect and display customer reviews of the products. The UI displaying these review has 10 visible reviews and 40 hidden reviews initially. All the reviews html (visible & hidden) have microdata in it. When user click "View more reviews", they will make the next 10 visible. If there are lot of reviews, they will load the remaining from their server on realtime after showing all the loaded reviews to the customer.

On product page, the aggregated rating is also there in JSON-LD format which is based on the entire reviews of that product.

I just want to get an expert webmaster advice on whether I'm on the right track for fixing this issue, before I go an make any changes.

Adding review html (only 1 instance, it will repeat for 50 times for each review):

<div reviewId="58229" date="1520091215000" upvotes="21" downVotes="0" rating="5" itemprop="review" itemscope itemtype="">
<meta itemprop="itemReviewed" content="My Product name goes here" />
<div itemscope itemprop="reviewRating" itemtype="">
    <div class="TTratingBoxBorder">
        <div class="TTratingBox TTrating-5-0"></div>
    <meta itemprop="ratingValue" content="5" />
    <div itemprop="name">Review heading here!!!</div>
    <div itemprop="reviewBody">My Review content goes here</div>
    <div data-ugc-id="58229" data-ugc-type="review"></div>
    <div itemprop="dateCreated" datetime="2018-03-03">March 3, 2018</div>
        <a href="javascript:void(0)" rel="nofollow">

JSON-LD Format for aggregate review:

<script type="application/ld+json">
  "@context": "",
  "@type": "Product",
  "name": "My product name goes here",
  "description": "my product description here...",
  "image": "",
  "offers": {
    "@type": "",
    "availability": "",
    "price": "21.00",
    "priceCurrency": "USD",
    "itemCondition": null
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "101"
  "brand": "Brand Name"

Related Questions

Google Data Highlighter | Missing Tags

Updated March 02, 2017 13:04 PM

New Structured Data Entity?

Updated April 13, 2017 08:04 AM

what decreasing structured data?

Updated June 29, 2017 09:04 AM

Strucutured data not being picked up on gwt

Updated February 06, 2017 14:01 PM