Advanced guide
Pre-rendering paywalled content — Flexible Sampling without cloaking
Pre-render paywalled content safely with Flexible Sampling, metering, and fair-access heuristics that keep you inside Google's guidelines.
Introduction
Pre-rendering paywalled content is legitimate as long as you follow Google's Flexible Sampling policy and mark the structured data correctly. The common failure mode is serving full text to Googlebot while users see a locked preview — that is cloaking.
The five steps below implement the safe pattern.
How to: Paywalled content
- 1
Pick a Flexible Sampling model: metering or lead-in
Metering gives users a fixed number of free articles per month. Lead-in gives all users the first paragraphs free. Either is acceptable to Google; choose based on user experience goals, not SEO.
- 2
Serve full text to Googlebot and metered / lead-in to users
Pre-rendered snapshots contain the full article. Human responses implement metering or lead-in via the same middleware layer that does bot detection.
- 3
Mark CreativeWork.isAccessibleForFree = false
Add isAccessibleForFree: false to the Article JSON-LD. Include hasPart with cssSelector pointing to the paywalled section. This is the "no cloaking" insurance policy.
json{"@context": "https://schema.org","@type": "NewsArticle","isAccessibleForFree": false,"hasPart": {"@type": "WebPageElement","isAccessibleForFree": false,"cssSelector": ".paywalled"}} - 4
Apply the .paywalled class to locked content
The cssSelector referenced in hasPart must match real DOM in the pre-rendered snapshot. If you omit the class or strip it from the snapshot, Google treats the article as fully free and you drift into cloaking territory.
- 5
Monitor Search Console for cloaking warnings
If Google suspects cloaking, a manual action appears in Search Console. Check monthly. If a warning appears, audit the diff between the snapshot and the human response on 5 sample URLs.
Questions engineers ask about this guide
Yes, under Flexible Sampling, provided the structured data marks the content as paywalled. Serving full text to bots and locked content to all users without that marking is cloaking.
Policy coverage is less clear. OpenAI and Anthropic do not document a Flexible Sampling equivalent. Many news publishers block AI crawlers on paywalled content via robots.txt while allowing Googlebot.
Use noindex on the paywalled page or return truncated content to all traffic including bots. You lose rich-result eligibility but avoid any cloaking risk.
Related guides and deep dives
Guide — hydration failures
Paywall state often lives in hydration — mismatch risk.
Guide — cache headers
Vary on User-Agent for bot vs user responses.
Guide — crawl frequency signals
Freshness on subscription content.
Use case — SaaS
Public surface vs gated content boundary.
Compare — vs Prerender.io
Vendor comparison.
Technology — how pre-rendering works
Pipeline primer.
Editorial trust
Written by ostr.io engineering team · Engineering Team. We build and run pre-rendering infrastructure for more than 200 engineering teams, which is where the numbers and code samples on this page come from.
Last updated . Editorial scope and review policy: About prerender.info.