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="http://schema.org/Review">
<meta itemprop="itemReviewed" content="My Product name goes here" />
<div itemscope itemprop="reviewRating" itemtype="http://schema.org/Rating">
    <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": "http://schema.org",
  "@type": "Product",
  "name": "My product name goes here",
  "description": "my product description here...",
  "image": "https://www.example.com/media/product_image.jpg",
  "offers": {
    "@type": "http://schema.org/Offer",
    "availability": "http://schema.org/InStock",
    "price": "21.00",
    "priceCurrency": "USD",
    "itemCondition": null
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "101"
  "brand": "Brand Name"
  • 1
    That sounds right. I'd try to either remove the pagination and display them all, or only mark up the ones that are initially visible. – Stephen Ostermiller Aug 6 '18 at 10:10
  • I'd try and integrate the Product and aggregate rating with the reviews. At the moment they are quite separate, and will always be if they are written in different formats (Google does not merge between formats). So Google may be seeing a list of reviews about a thing that they only get the name of, or they see a Product where you state there are reviews but don't list them. Your itemCondition is invalid. – Tony McCreath Aug 6 '18 at 23:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.