There are increasing reports on the Google's webmaster forums of manual actions for violations of Google's Structured Rich Snippet Markup. Furthermore, there is a trending theme that many of the violations are being caused by poorly coded WordPress Recipe Plugins that produce markup in breach of Google's structured data policies.
It is useful to look at an example posted on the Webmaster Central Help forums to demonstrate some of the issues being faced that are causing manual actions to be taken by Google. In this case, User "Eddie-Boy" posted a copy of the notice they received via the Search Console, which was as follows:
Google has detected structured markup on some of your pages that we believe violates our structured data guidelines. Because incorrect information lowers the quality of search results for users, rich snippets will not appear in Google Search results for pages with incorrect structured data markup. This manual spam action has been applied to pinoyrecipe[dot]net. We suggest you update the incorrect structured data and file a reconsideration request once you have fixed your website. After we determine that you have complied with our guidelines, we will remove this manual action.
In this case, a plugin called "EasyRecipe Plus" was being used to display aggregate reviews for each recipe:
As you can see, the stars show a rating of five, from a total of one review. However, the problem relates to the fact that there is no system in place for any users to leave a review. In fact, the one review that was left is not visible anywhere on the page.
According to the "Non-visible content and machine-readable alternative" section in Google's Structure Data policy, you should not mark up data that is not visible to the users:
Typically Google will not display content that isn't visible to the end user. In other words, you generally shouldn't mark up content that is not visible to users.
As well as the general guidelines, each Structure Data Type has its own specific usage guidelines. In this case, we must also look at the Review Guidelines:
- The Review or Rating markup should refer clear to a specified product or service.
- The review and any ratings should be clearly displayed or linked to from the marked up page.
- The Review should relate to a particular item, rather than a category or list of items.
- Adult-related content is not permitted.
- For markup that contains a single review, the author name must be valid (i.e. not spammy \ keyword rich).
There is currently several different Recipe plugins that are causing similar issues::
- EasyRecipe Plus — There is no word yet on whether this will be fixed, but in the
meantimewe suggest disabling the review functionality in the settings.
- WP-Ultimate Recipe — This was raised with the author approximately a week ago, and it would appear that the latest update has fixed the issue.
- Ziplist — This plugin was discontinued about a year ago, but if needed you can disable the rating functionality.
- Yummly — This should be fixed within the next few weeks.
If you find yourself being issued with a manual penalty caused by one of these plugins, you should be able to fix the issue easily either by updating the plugin (if an update fixes the problem) or disabling the particular functionality causing the problem.
In one example a user issued with a manual penalty for using the EasyRecipe Plus received a response from Google revoking the penalty within just a few weeks.
While we have specifically mentioned Recipe plugins, the same principle of using markup for data that is not visible to the user could apply to any type of structured data. Furthermore, this is something that may not be picked up via the Rich Snippet Testing tool. We recommend you check your page with the Testing Tool, and then cross-reference that data with the visible page to ensure all data is showing. This should be done with Rich Snippet Guidelines in mind.