Subscription & Paywalled Content Structured Data: Complete Implementation Guide
Subscription and paywalled content structured data helps Google understand that your page restricts access to some or all of its content behind a paywall or subscription requirement. Without this markup, Google may interpret the difference between what Googlebot sees and what users see as cloaking — a violation of webmaster guidelines that can result in penalties. By implementing the correct structured data, you signal to Google that the content restriction is legitimate, ensuring your paywalled pages remain indexed and eligible for search results whilst maintaining your subscription model.
Why Use NewsArticle Schema?
- Prevent Google from classifying your paywall as cloaking, which could result in a manual action or removal from search results
- Maintain full indexing of your subscription content so paywalled articles continue to appear in Google Search
- Comply with Google's Flexible Sampling guidelines, giving you control over how much free content to show before the paywall triggers
- Build trust with both users and search engines by transparently communicating your content access model
- Support your publication's revenue model without sacrificing search visibility or organic traffic
Required Properties
These properties are required by Google for NewsArticle structured data to be eligible for rich results.
| Property | Description |
|---|---|
| @type | Must be a supported article type: NewsArticle, Article, BlogPosting, or a similar CreativeWork subtype. |
| isAccessibleForFree | A boolean value indicating whether the content is freely accessible. Set to false for fully paywalled content, or use hasPart to indicate mixed access. |
| hasPart (for metered/partial paywalls) | An array of WebPageElement objects that specify which sections of the page are locked. Each element must include isAccessibleForFree and a cssSelector identifying the locked content. |
| hasPart[].cssSelector | A CSS selector identifying the HTML element(s) that are behind the paywall. Used in conjunction with hasPart to specify exactly which parts of the page require a subscription. |
Recommended Properties
Adding these properties improves your chances of appearing in rich results and provides more context to search engines.
| Property | Description |
|---|---|
| headline | The headline of the article. Should match the visible headline on the page and be concise (under 110 characters). |
| datePublished | The publication date in ISO 8601 format. Essential for news content where freshness is a ranking signal. |
| publisher | An Organisation object identifying the publisher. Include the name and logo properties for full attribution. |
| image | A representative image for the article. Required for eligibility in Top Stories and other rich result features. |
| author | The author of the article as a Person or Organisation. Supports E-E-A-T signals and enhances the article's credibility in search. |
JSON-LD Example
Here is a complete NewsArticle structured data example you can use as a starting point. Or use our NewsArticle generator to create one automatically.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "UK Housing Market Forecast: What to Expect in 2026",
"datePublished": "2026-03-08",
"dateModified": "2026-03-10",
"author": {
"@type": "Person",
"name": "Emma Richardson",
"url": "https://example.com/authors/emma-richardson"
},
"publisher": {
"@type": "Organization",
"name": "The Property Gazette",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/images/logo.png"
}
},
"image": "https://example.com/images/housing-market-2026.jpg",
"description": "An in-depth analysis of UK housing market trends, mortgage rate projections, and regional price forecasts for the year ahead.",
"isAccessibleForFree": false,
"hasPart": [
{
"@type": "WebPageElement",
"isAccessibleForFree": false,
"cssSelector": ".paywall-content"
}
]
}
</script>How to Implement NewsArticle Schema
- 1Identify all pages on your site that restrict content behind a paywall or subscription, including fully paywalled pages and those using metered or partial access models.
- 2Wrap the paywalled sections of your HTML in a container element with a descriptive CSS class, such as 'paywall-content' or 'subscriber-only'.
- 3Add a JSON-LD script block to each paywalled page using the appropriate article type (NewsArticle, Article, or BlogPosting) with the isAccessibleForFree property set to false.
- 4For metered or partial paywalls, include the hasPart property with an array of WebPageElement objects, each specifying isAccessibleForFree: false and a cssSelector pointing to the locked content.
- 5Ensure your server allows Googlebot to crawl the full page content — the structured data tells Google the paywall is legitimate, but Googlebot must still be able to see the content for indexing.
- 6Validate your implementation using Google's Rich Results Test and monitor the relevant enhancement reports in Google Search Console for any errors.
Common Mistakes to Avoid
- Blocking Googlebot from accessing the paywalled content entirely — Google needs to crawl the full content to index it. The structured data only signals that user access is restricted.
- Omitting the hasPart property for metered or partially paywalled pages, which prevents Google from understanding which specific sections are restricted.
- Using incorrect cssSelector values that do not match the actual HTML elements containing the paywalled content, rendering the markup ineffective.
- Forgetting to set isAccessibleForFree to false — without this explicit signal, Google may still interpret the content restriction as cloaking.
- Applying paywalled content markup to pages that are actually freely accessible, which sends conflicting signals and may confuse search engines.
Testing & Validation
Before deploying your NewsArticle structured data, validate it using these tools:
- 1Google Rich Results Test — Paste your page URL or code snippet to check if your structured data is eligible for rich results.
- 2Schema Markup Validator — Validates your JSON-LD syntax against the schema.org specification.
- 3Google Search Console — After deployment, monitor the Enhancements report for any errors or warnings.
Frequently Asked Questions
Will Google still index my content if it is behind a paywall?
Yes, provided you implement the correct structured data and allow Googlebot to access the full content of the page. The structured data informs Google that the paywall is a legitimate content restriction, not an attempt to cloak. Google will index the content and may display it in search results with an indication that a subscription is required.
What is Flexible Sampling and how does it relate to this markup?
Flexible Sampling is Google's framework for how publishers can manage the amount of free content available to users arriving from search. It encompasses metered paywalls (a set number of free articles per period) and lead-in models (showing the first portion of an article for free). The subscription structured data supports both models by allowing you to specify exactly which parts of the page are free and which require a subscription.
Do I need this markup if my entire site requires a subscription?
Yes. Even if your entire site is paywalled, you should implement the structured data on each article page with isAccessibleForFree set to false. This ensures Google understands the restriction is intentional and legitimate, protecting you from potential cloaking penalties.
Can I use this markup for content locked behind a free registration wall?
Yes. The structured data is applicable to any form of content restriction, whether it is a paid subscription, a metered paywall, or a free registration requirement. The key is that the content is not immediately accessible to all users, which needs to be communicated to Google.
Will paywalled pages appear in Google Top Stories?
Paywalled NewsArticle pages can appear in Top Stories and Google News, provided they meet all other eligibility requirements including the Google News policies. The structured data ensures the paywall is not treated as cloaking, so it does not disqualify your content from these features.
Ready to Generate Your NewsArticle Schema?
Use our free generator to create valid NewsArticle structured data in seconds.
Open NewsArticle Generator