Data, SEO & AI Search · Practical guide
Paywall SEO: how to rank content behind a login wall
Google can index and rank content behind a paywall or login, but only if you tell it the wall is there. This guide explains the mechanism: the full text served to Googlebot, the gated section marked with a class, and the structured data (isAccessibleForFree and hasPart) that separates a supported paywall from cloaking. It covers flexible sampling, the difference between paywalls, login walls and hard gates, what AI engines can cite, and a nine-point checklist.
The short answer
How Google ranks content behind a login
Google can index and rank content behind a paywall or login, but only if you tell it the wall is there. Serve Googlebot the full article, wrap the gated section in an element with a class name, and declare that class in structured data with isAccessibleForFree set to false on the article and on a hasPart WebPageElement. That declaration is what separates a legitimate paywall from cloaking, which is showing Google a page a person cannot see. Do it and the page can rank, appear in rich results and be cited for its open preview; skip it and the page is either invisible to Google or a policy risk. Australians search "paywall seo" only about 10 times a month at difficulty 59, which is why most gated sites get this wrong.
Key takeaways
Google indexes gated content when you serve Googlebot the full page and declare the gated section with isAccessibleForFree: false and a hasPart naming its CSS class.
Without the declaration, showing Google what a person cannot see is cloaking. With it, the same behaviour is a documented, supported paywall.
Flexible sampling replaced First Click Free in 2017: you choose how much a non-subscriber sees, by metering or by lead-in, and Google no longer demands the first click be free.
AI engines cite the open preview and never the gated body, so the preview must carry the answer you want to be quoted for. The markup makes the page indexable; the preview makes it citable.
The basics
How Google treats content behind a paywall or login
Googlebot does not log in, subscribe or pay. Left alone, it sees whatever a logged-out visitor sees: a preview and a wall, or a redirect to a login page, and it indexes that. For most gated content that is the right outcome, because most gated content is post-purchase material (reports, onboarding, account pages) that nobody searches for before buying, and our gated content strategy guide covers why it belongs behind the wall. But some gated content is the best answer on the web to a question prospects ask: the members' version of a guide, the paid course's opening lesson, the subscriber-only analysis. For those pages Google offers a supported path, documented under structured data for subscription and paywalled content, that lets the whole article be indexed while the reader still meets the wall.
The path has three parts, all on the article's own page. The article's structured data carries isAccessibleForFree set to false, which tells Google the page is intentionally partly gated. A hasPart property holds a WebPageElement, also with isAccessibleForFree false, whose cssSelector names the class of the gated section. And in the HTML, the gated section is wrapped in an element carrying that class, with the full text served to Googlebot inside it. Google's documentation is specific on the details: class selectors only (never an id or a nested selector), sections not nested inside one another, and JSON-LD or microdata for the markup. Google's guidance applies the same way to a metered paywall, a hard paywall or a login wall, because from the crawler's side they are the same thing: content it can read that a visitor sometimes cannot.
The line
Paywall or cloaking: the only difference is the declaration
Cloaking is showing search engines different content from what a person sees, and it is a violation of Google's spam policies that can remove a site from results. A paywall does exactly that: Googlebot sees the full article, a logged-out person sees a preview. What makes one a supported practice and the other a policy violation is the declaration. Google's own documentation says its crawlers need to see the full content to index it, and that marking the gated section with the structured data above is how you distinguish paywalled content from cloaking. The markup is not an optimisation. It is the licence.
Two failure modes follow from that. A site that serves Googlebot the full article and skips the markup is, by Google's definition, cloaking, however innocent the intent. And a site that adds the markup but serves Googlebot the same truncated preview a person sees has declared a wall that hides nothing, so the gated body is never indexed and the markup does nothing. The crawler must get the full text and the declaration together, on the same page, every time.
The method
The markup, step by step
Five steps. The first three are twelve lines of markup; the last two are the discipline that keeps it honest.
Google's paywalled content markup. The article declares it is partly gated, the hasPart names the gated section by class, and the HTML wraps that section in the class. Source: Google Search Central.
Mark the gated section in the HTML
Wrap the part of the page a logged-out reader cannot see in a single element with a class name of your choosing, for example paywall. One class, applied to each gated block, never nested inside another gated block. If several separate sections are gated, list each as its own WebPageElement in an array under hasPart.
Set isAccessibleForFree to false on the article
On the Article, NewsArticle or other CreativeWork node in the page's JSON-LD, add isAccessibleForFree: false. On an open page the value is true, which is what every guide on this site carries today. The property is what tells Google the page is intentionally partly gated.
Add the hasPart WebPageElement
Inside the same node, add hasPart with a WebPageElement whose isAccessibleForFree is false and whose cssSelector is the class from step one, written with the leading dot. Google's documentation restricts this to class selectors, so an id or a compound selector will be ignored.
Serve Googlebot the full content
The crawler must receive the complete text inside the gated element, on the same URL a person visits. Do this by server-side rendering the full page and hiding the gated section for logged-out visitors in the browser, or by recognising Googlebot by verified IP and serving it the full page. Either is supported once the markup is present; neither is without it.
Test it and keep it consistent
Run the page through Google's Rich Results Test to confirm the markup parses, and fetch it as Googlebot in Search Console to confirm the full text is served. Then keep the boundary consistent: the same section gated for every logged-out visitor, so the declaration stays truthful.
The policy
Flexible sampling: how much to show a non-subscriber
In October 2017 Google retired its First Click Free policy, which had required publishers to show a visitor arriving from search the full article before asking them to subscribe, and replaced it with flexible sampling. Under flexible sampling the publisher decides how much a non-subscriber sees, in one of two ways: metering, where a visitor gets a number of free articles per month before the wall appears, or lead-in, where every article shows a portion of its text before the wall. Google's guidance at the time suggested publishers start around ten free articles a month under metering and adjust from there, and it made clear that a site was free to sample less, with the structured data above doing the work of keeping the page indexable regardless.
For a business site rather than a news publisher, lead-in is nearly always the right model. A members' guide shows its answer-first opening and its key figures to everyone and gates the depth; a course shows the framework and the first lesson. That lead-in is also the only part of the page an AI engine will ever quote, which makes its length and content a strategic decision rather than a technical one.
The distinction
Login walls versus paywalls: what changes
| Paywall (subscription) | Login wall (free account) | Hard gate (no preview) | |
|---|---|---|---|
| Who sees the full page | Subscribers | Anyone with an account | Only the customer it belongs to |
| What Googlebot should see | Full text plus the markup | Full text plus the markup, if the page deserves to rank | Nothing: noindex or a login redirect |
| Typical content | Members' guides, analysis, courses | The deeper version of an open guide, recordings, tools | Reports, account, onboarding, bookings |
| Preview length | Lead-in or metered | Lead-in | None |
| Search goal | Rank and cite the preview, convert to subscriber | Rank and cite the preview, convert to account | Stay out of the index cleanly |
The distinction that matters is not how the visitor pays but whether a stranger would search for the page before buying. The rule from our search intent guide holds: open before the sale, gated after it. Paywalls and free login walls both sit on pre-purchase content that deserves to be found, so they get the full text plus the markup. Hard gates sit on post-purchase content that belongs to a customer, so they are excluded cleanly, with a noindex or a login redirect rather than a soft 404 or an infinite redirect that wastes crawl budget. The client portal guide covers where each kind of page lives in the two-layer site.
The next race
What AI engines see behind a paywall
ChatGPT, Google AI Overviews and AI Mode, and Perplexity read what a crawler can read, and they cite what they can quote. For a page with the paywall markup, Google's systems have the full text and can use it to judge relevance, but the answer an engine shows a user is built from what the user could also see, which is the preview. In practice that means a gated guide is cited for its lead-in or not at all. The strategic consequence is that the open portion of a gated page has to carry the definition, the key figure and the named source you want attributed to you, and the gated portion holds the depth the reader logs in for. Written that way, the paywall costs nothing in citations that the page would otherwise have earned, because the quotable part was always going to be the opening.
Two things not to do. Do not use the markup to hide an entire article behind a one-line preview and expect it to rank or be cited; a lead-in that answers nothing earns nothing. And do not rely on the markup for content that should simply be open; if a prospect would search for it before choosing you, gating it costs the ranking and the citation whatever the schema says. Our guide to getting cited by AI in Australia covers what the open portion has to look like.
The checklist
Paywall SEO in nine checks, and what it costs
Gated section wrapped in a single class; isAccessibleForFree false on the article node; hasPart WebPageElement with the same class in cssSelector; class selectors only, nothing nested; Googlebot served the full text on the same URL; the boundary identical for every logged-out visitor; a lead-in that states the answer and the key figure; post-purchase pages excluded with noindex or a login redirect, never a soft 404; and the page verified in the Rich Results Test and fetched as Googlebot in Search Console. Nine checks, an afternoon's work for a developer, and the difference between a members' library that ranks and one that is invisible.
Auditing a gated site against those nine is part of every SEO engagement we run, and our Snowball SEO platform monitors the indexation and citation of the open previews afterwards, which is the ongoing checking other agencies bill by the hour. On this site the value is true everywhere because the hub is open; the schema is already built so that flipping one page to false is a one-line change, which is the right way to build a site that might one day gate part of itself.
Sources: Paywall markup and crawler requirements from Google Search Central, Structured data for subscription and paywalled content. Flexible sampling from Google's October 2017 announcement replacing First Click Free. Cloaking definition from Google's spam policies. Keyword volume and difficulty from our Snowball SEO platform, country = Australia, pulled August 2026. Schema state of this site from its own build, August 2026. Figures were accurate at the pull date and shift over time.
Start here
Want your gated library indexed, cited and inside the rules?
Get a free audit and we will check every gated page against the nine-point list, and show you which previews the AI engines could be quoting and are not.
Get your free auditGood questions
Paywall SEO FAQs
Can Google index content behind a paywall or login?
Yes, if you serve Googlebot the full page and declare the gated section with structured data: isAccessibleForFree set to false on the article, and a hasPart WebPageElement with isAccessibleForFree false and a cssSelector naming the class of the gated section. Google's documentation says this markup is how it distinguishes paywalled content from cloaking.
Is a paywall cloaking?
Not when it is declared. Cloaking is showing search engines content a person cannot see, and a paywall does exactly that, so Google requires the paywalled content markup to license it. Full text to Googlebot without the markup is cloaking by Google's definition; the markup without the full text indexes nothing. Both halves are needed, on the same page.
What is isAccessibleForFree?
A schema.org property on a CreativeWork (Article, NewsArticle and others) that tells Google whether the content is free to read. True on open pages, false on pages that are partly or wholly gated. When false, a hasPart WebPageElement names which section is gated by its CSS class, and Googlebot is served the full text inside that section.
What is flexible sampling?
Google's policy since October 2017, replacing First Click Free. Publishers choose how much a non-subscriber sees, either by metering (a number of free articles a month) or by lead-in (a portion of every article before the wall). Google suggested starting around ten free articles a month under metering, and made clear a site may sample less, with the paywall markup keeping the page indexable.
Should every gated page use the paywall markup?
No. Use it on gated pages a prospect would search for before buying: members' guides, courses, subscriber analysis. Post-purchase pages (reports, account, onboarding, bookings) should be excluded cleanly with a noindex or a login redirect, never a soft 404, because nobody searches for them before deciding and indexing them serves no one.
Can AI engines cite content behind a paywall?
They cite what a user could also see, which is the preview. A gated guide is cited for its lead-in or not at all, so the open portion must carry the definition, the key figure and the named source you want attributed to you, and the gated portion holds the depth the reader logs in for.
Keep rolling