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
hasPart
andisAccessibleForFree
keywords for eachReview
? (apparentlyLocalBusiness
doesn't accepthasPart
according to the testing tool) - Do I need to add the paywalled property
description
for search engines? - In the HTML, I'm generating a "Lorem ipsum"
description
instead 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? willdescription
be 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"
}
}
]
}
description
is also optional, I may remove it from the JSON-LD.