To avoid cloaking, I'm planing to indicate paywalled content on reviews, but I'm struggling how to format both JSON-LD and HTML:
- Should I add
hasPartandisAccessibleForFreekeywords for eachReview? (apparentlyLocalBusinessdoesn't accepthasPartaccording to the testing tool) - Do I need to add the paywalled property
descriptionfor search engines? - In the HTML, I'm generating a "Lorem ipsum"
descriptioninstead to the actual text and blurring it using CSS. The blurred text has the classpaywall, will Google and other SE penalize the site because of the arbitrary nonsense text? willdescriptionbe considered as cloaking in this case (since search engines and users have different content)?
Below is a small example to test, there may be hundreds of reviews.
{
"@context": "http://www.schema.org",
"@type": "LocalBusiness",
"@id": "http://localBusiness.example.com",
"name": "Example",
"image": "http://localBusiness.example.com/image.jpg",
"aggregateRating":{
"@type":"AggregateRating",
"ratingValue":"3.75",
"reviewCount":"2"
},
"review":[
{
"@type":"Review",
"@id":"http://localBusiness.example.com/Review/1",
"author":"Anonym",
"name":"Review 1",
"description":"Lorem ipsum dolor sit amet",
"datePublished":"2017-07-19",
"reviewRating":{
"@type":"Rating",
"ratingValue":"4"
},
"isAccessibleForFree": "False",
"hasPart": {
"@type": "WebPageElement",
"isAccessibleForFree": "False",
"cssSelector" : ".paywall"
}
},
{
"@type":"Review",
"@id":"http://localBusiness.example.com/Review/2",
"author":"Anonym",
"name":"Review 2",
"description":"Excepteur sint occaecat cupidatat non",
"datePublished":"2017-10-19",
"reviewRating":{
"@type":"Rating",
"ratingValue":"3.5"
},
"isAccessibleForFree": "False",
"hasPart": {
"@type": "WebPageElement",
"isAccessibleForFree": "False",
"cssSelector" : ".paywall"
}
}
]
}