Mobile app version of vmapp.org
Login or Join
Speyer207

: How to properly implement paywalled content 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

@Speyer207

Posted in: #Html #Paywall #SchemaOrg #Seo

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 and isAccessibleForFree keywords for each Review?
(apparently LocalBusiness doesn't accept hasPart 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 class paywall, will Google and other SE penalize the
site because of the arbitrary nonsense text? will description 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"
}
}
]
}

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Speyer207

1 Comments

Sorted by latest first Latest Oldest Best

 

@Cugini213

Google notes in the cited documentation, this implementation is only possible for the type CreativeWork. I don't know, whether this kind of markup, even if validated errorfree by testing tool, is correct by design,
Not a LocalBusiness should be divided into hasPart-parts,
Your review should be marked up as having hasPart, and than as containing an array of multiple reviews,
loremIpsum in HTML would be in my opinion definitely harmful - it is a sign of a website, which isn't finally ready for publishing.


Correct, means valide, markup would be:

<script type="application/ld+json">
{
"@context": "http://www.schema.org",
"@type": "LocalBusiness",
"name": "Example",
"image": "http://localBusiness.example.com/image.jpg",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "http://localBusiness.example.com",
"hasPart":
{
"@type": "WebPageElement",
"aggregateRating":{
"@type":"AggregateRating",
"ratingValue":"3.75",
"reviewCount":"2"
},
"isAccessibleForFree": "False",
"cssSelector" : ".paywall",
"review":[
{
"@type": "Review",
"author": "John Doe",
"datePublished": "2006-05-04",
"name": "A masterpiece of literature",
"reviewBody": "I really enjoyed this book. It captures the essential challenge people face as they try make sense of their lives and grow to adulthood.",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5"
}
},
{
"@type": "Review",
"author": "Bob Smith",
"datePublished": "2006-06-15",
"name": "A good read.",
"reviewBody": "Catcher in the Rye is a fun book. It's a good book to read.",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5"
}
}
]
}
}
}
</script>

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme