Paywalls i SEO

How to zachować paywalled i registration-gated treść indeksowalny bez cloaking — flexible sampling, isAccessibleForFree/cssSelector znaczniki, the JavaScript-paywall trap, i metering strategy.

Opublikowano po raz pierwszy: 3 lip 2026 · Ostatnia aktualizacja: 3 sie 2026 · Advanced
Języki

A paywall doesn't inherently hurt SEO — Google ma no bias wobec gated treść, i the biggest paywalled publishers rank fine. co hurts jest Google nie będąc able to see enough treść to zrozum strona. The supported fix jest flexible sampling: let Googlebot crawl the pełny artykuł, then declare the gated part z dane strukturalne (isAccessibleForFree plus a cssSelector). że's an explicit, sanctioned exception to cloaking — cloaking jest o intent to deceive; ten jest a declared mechanism. używać metering (start around 6–10 free artykuły/month) lub lead-in, gate serwer-side (nie z JavaScript że just hides treść in the DOM), give login strony unique copy, i nigdy używać robots.txt to hide private URLs.

TL;DR — Paywalls don’t inherently hurt rankings; Google będąc unable to see twój treść robi. The supported model jest flexible sampling — metering lub lead-in — declared z dane strukturalne (isAccessibleForFree: false plus a hasPart/cssSelector marking the gated sekcja, class selectors tylko). że declaration jest co makes serving Googlebot the pełny artykuł nie cloaking: cloaking wymaga intent to manipulate i mislead, i Google’s spam polityka explicitly carves paywalls out of że definition. Gate serwer-side (the 2025 doc update i Mueller’s screen-czytelnik caution oba target the same JS-hiding mistake), give login strony unique copy, nigdy robots.txt private URLs, i używać noarchive to stop a cached copy leaking the pełny tekst. Registration walls używać the same znaczniki as paid ones.

co actually causes ranking problems (it isn’t the gate)

Paywall eligibility depends on crawlable treść i accurate znaczniki; the presence of a paywall alone jest nie udokumentowany as a penalty. Evidence for this claim Official or primary documentation supporting the adjacent article claim, with scope limited to the source's published description. Scope: No ranking guarantee or undisclosed system mechanics are inferred beyond the cited source. Confidence: high · Verified: Google: Paywalled content structured data Sampling choices pozostawać publisher decisions z użytkownik i firma tradeoffs. Evidence for this claim Official or primary documentation supporting the adjacent article claim, with scope limited to the source's published description. Scope: No ranking guarantee or undisclosed system mechanics are inferred beyond the cited source. Confidence: high · Verified: Google: Flexible sampling

Google ma no penalty dla paywalled treść, i ten artykuł’s parent hub says as much: gated treść jest fine as long as Google może read it przez the supported approach. The awaria mode jest upstream of ranking — it’s comprehension. If Googlebot tylko ever sees a teaser, że teaser jest wszystkie it może index i rank you dla. każdy technique below exists to solve one problem: let the engine przeczytaj whole thing, podczas gdy unauthenticated humans nadal hit the gate.

Two granice worth stating plainly, since it’s łatwy to overreach in either direction. pierwszy, ten znaczniki jest a narzędzie dla treść you want zindeksowany poniżej a declared gate — nie a mechanism dla exposing treść you don’t want zindeksowany at wszystkie. Genuinely private account/admin URLs są a różny case (see the decision tree below): tamte get noindex lub an authentication redirect, nie isAccessibleForFree. Second, prawidłowy znaczniki i pełny crawl access są nie a ranking guarantee. Google’s structured-data guidelines say directly że “Google robi nie guarantee że funkcje że consume dane strukturalne będzie pokazywać up in wyniki wyszukiwania” — the znaczniki jest the declaration że zachowuje you out of the cloaking bucket, nie a promise of indeksowanie, ranking, ruch, lub a wynik z elementami rozszerzonymi.

Historically ten jest gdzie the biggest cautionary tale comes z. gdy the Wall Street Journal pulled out of Google’s old pierwszy Click Free program in 2017, it reported a ~44% drop in Google ruch z wyszukiwania — nie ponieważ paywalls są penalized, ale ponieważ Google mógł no longer see the artykuły at wszystkie. (więcej on pierwszy Click Free below; it jest history, nie current polityka.)

Flexible sampling: metering i lead-in

The current, active model jest flexible sampling, laid out in Google’s Flexible Sampling guidelines. Google describes two sampling types: “metering, który zapewnia użytkownicy z a quota of artykuły to consume przed requiring użytkownicy to subscribe lub log in, po który paywalls będzie start appearing; i lead-in, który oferty a portion of an artykuł’s treść bez it będąc shown in pełny.”

The liczby że matter, wszystkie z Google’s own doc:

  • Prefer monthly ponad daily metering. Google: “In general, we think że monthly, zamiast daily metering zapewnia więcej flexibility i a safer environment dla testing.” A one-unit change jest far mniej jarring at 10 monthly samples than at 3 daily ones.
  • Start around 6–10 free artykuły/month. “As a starting point dla twój explorations, we encourage you to zapewniać 10 artykuły per month… dla najbardziej daily news publishers, we expect the wartość to fall między 6 i 10 artykuły per użytkownik per month.”
  • Watch the exposure ceiling. “nasz analiza pokazuje że general użytkownik satisfaction starts to degrade significantly gdy paywalls są shown więcej niż 10% of the time (który generally means że o 3% of the odbiorcy ma był exposed to the paywall).”
  • Lead-in jest a good practice. Showing the pierwszy kilka zdania above the paywall lets użytkownicy “experience the value of the content.”

None of te liczby jest a mandate. Google says directly: “There jest no single wartość dla optimal sampling w całym różny firmy” — the 6–10/month figure jest a starting point Google gives specifically dla daily news publishers, i even że comes z “we leave the dokładny liczba to the discretion of individual publishers, who są best positioned to zrozum particular demands of ich firmy.” Treat it as a tested starting range, nie a reguła to copy verbatim.

The poniżej-appreciated point: metering jest nie purely a monetization dial. Google opens the doc noting że “even minor changes to the current sampling levels mógł degrade doświadczenie użytkownika i, as użytkownik access jest restricted, unintentionally impact artykuł ranking in Google Search.” Tightening the meter może quietly cost you rankings.

Why ten isn’t cloaking — the reasoning, nie just the reguła

ten jest the load-bearing part of the whole topic, i najbardziej poradniki assert the conclusion (“paywalls aren’t cloaking if you use structured data”) bez showing why. Here’s the rzeczywisty reasoning, straight z Google’s spam polityki.

zacznij od the definition. Cloaking jest “the practice of presenting różny treść to użytkownicy i wyszukiwarki z the intent to manipulate search rankings i mislead użytkownicy.” The load jest on że clause — intent to manipulate i mislead. A paywall isn’t trying to trick anyone; it’s monetizing treść, i it’s declaring the difference in treatment przez znaczniki.

Then the explicit carve-out, in the same polityka: “If you operate a paywall lub a treść-gating mechanism, we don’t consider ten to być cloaking if Google może see the pełny treść of co’s behind the paywall just like dowolny person who ma access to the gated material i if you follow nasz Flexible Sampling general guidance.”

So the exception ma two conditions: (1) Google sees the same pełny treść a paid subscriber by, i (2) you follow flexible sampling — który w praktyce means the dane strukturalne below. Google’s flexible-sampling doc reinforces the same logic: “Enclose paywalled treść z dane strukturalne aby pomagać Google differentiate paywalled treść z the practice of cloaking, gdzie the treść served to Googlebot jest różny z the treść served to użytkownicy.” The structured data jest the declaration że turns “different content for bots” z deception do a disclosed, sanctioned mechanism.

Implementing the dane strukturalne

The znaczniki lives in Google’s Subscription i paywalled treść doc. Two właściwości robić the działać:

  • isAccessibleForFree (Boolean, required) — whether the treść jest free lub gated. Google’s own właściwość reference marks ten the required one; ustawić it on the top-level CreativeWork/NewsArticle node i on każdy gated sekcja.
  • hasPart (recommended, nie required) — an tablica of WebPageElement obiekty, one per gated sekcja, każdy z jego own isAccessibleForFree: false i a cssSelector pointing at the class you wrapped the gated HTML in. ten jest how you tell Google który part of the piece jest gated gdy it’s a sekcja rather than the whole thing; it’s the recommended way to get sekcja-level precision, nie a second required właściwość alongside the top-level flag.

A minimal NewsArticle looks like ten:

{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "isAccessibleForFree": false,
  "hasPart": {
    "@type": "WebPageElement",
    "isAccessibleForFree": false,
    "cssSelector": ".paywall"
  }
}

Three implementacja details people trip on:

  • Class selectors tylko. The cssSelector “references the class nazwa że you ustawić in the HTML.” używać .paywall — nie an ID (#paywall), nie a descendant lub atrybut selector.
  • Multiple gated sekcje używać an tablica of hasPart obiekty, każdy z jego own class-oparty selector. Don’t nest the gated sekcje inside każdy other.
  • It’s nie just dla news. The znaczniki jest supported on dowolny CreativeWork subtype — Article, NewsArticle, Blog, Comment, Course, HowTo, Message, Review, WebPage. The broader dane strukturalne guidance treats isAccessibleForFree as a general CreativeWork właściwość, nie a news-tylko one.
  • poprawny znaczniki doesn’t guarantee a wynik. Even fully prawidłowy, correctly-nested znaczniki tylko makes Google eligible to understand twój gating — it isn’t a ranking lub rich-wynik guarantee. Treat the znaczniki as the mechanism że zachowuje you out of the cloaking bucket, nie a promise of dowolny specific outcome.

Registration walls użyj identical znaczniki. Google doesn’t distinguish “pay to access” from “register to access” at the schemat level. John Mueller said as much on Search Off the Record: the mechanism “mógł być maybe you wymagać a login, maybe you wymagać a payment, maybe po a certain liczba of iterations you’re like, ‘Oh, ten jest enough free treść.’ Now you mieć to pay dla it… It może just być something like a login lub niektóre other mechanism że basically limits the visibility of the treść.” If you gate it, mark it — paid lub nie. He even flags A/B pricing tests as a prawidłowy powód: “if you mieć something like różny thresholds gdzie you say niektóre people get to view five strony dla free i others mieć the whole treść available dla free ponieważ you’re doing A/B testing… then you’d want to używać a paywall structured data.”

The JavaScript-paywall trap

Here’s the single najbardziej common rzeczywisty-world mistake, i it’s distinct z “forgetting the dane strukturalne.” A lot of paywall solutions ship the pełny artykuł in the HTML the serwer wysyła, then używać JavaScript to hide it until subscription status jest confirmed. Google explicitly warned wobec ten in a 2025 addition to jego JavaScript troubleshooting doc: “niektóre JavaScript paywall solutions obejmować the pełny treść in the serwer odpowiedź, then używać JavaScript to hide it until subscription status jest confirmed. ten isn’t a niezawodny way to limit access to the treść. upewnij się twój paywall tylko zapewnia the pełny treść once the subscription status jest confirmed.”

Why it’s bad on three fronts:

  1. It’s trivially bypassable. Disable JavaScript i the “hidden” artykuł jest right there in the źródło. You’re nie actually gating anything.
  2. It muddies the cloaking exception. If the pełny tekst jest sitting in the DOM dla everyone, Google może’t cleanly tell który treść był meant to być gated — który jest the whole thing the structured-data declaration jest supposed to make jasny.
  3. It’s an accessibility problem. Mueller raised exactly ten on Search Off the Record: “gdy a użytkownik looks at twój strona, you don’t load the treść do the HTML, ale rather you upewnij się że it’s really nie załadowany do the strona’s DOM so że, if a przeglądarka ma something like… a screen czytelnik, że the screen czytelnik doesn’t go off i read wszystkie of ten tekst że you’re trying to hide… upewnij się you don’t load it do the przeglądarka i używać JavaScript to turn it on, ale rather że it’s really tylko served to the użytkownik gdy you want to make it available.” The 2025 doc update i Mueller’s caution są the same mistake seen z two angles.

The fix jest serwer-side gating: confirm subscription/login status on the serwer, i tylko obejmować the pełny artykuł in the odpowiedź dla authenticated użytkownicy. Then warstwa isAccessibleForFree/cssSelector on top so Googlebot — który jest allowed to see the pełny tekst poniżej flexible sampling — nadal gets everything, podczas gdy unauthenticated humans genuinely don’t. ten jest również gdzie paywalls intersect z mobilny-pierwszy indeksowanie: Google crawls i evaluates the mobilny version, so the pełny gated treść ma to być present in the mobilny serwer odpowiedź too, nie just komputer stacjonarny.

Login strony i registration gates: the quieter pitfalls

Two distinct problems pokazywać up around login/registration, oba z the same Search Off the Record episode.

Generic login strony get folded do duplicates. Mueller: “if you mieć a bardzo generic login strona, we będzie see wszystkie of te URLs że pokazywać że login strona, że redirect to że login strona, as będąc duplicates… We’ll fold them together as duplicates, i we’ll focus on indeksowanie the login strona… If someone jest searching dla twój service… the tylko thing… they find in search jest like, ‘Here’s how to log in,’ że może być a kind of a weird experience dla them.” The fix jest to give login strony unique contextual copy per service, so they’re nie wszystkie identical.

Don’t robots.txt private URLs. ten one contradicts a common intuition. Mueller: “whether wszystkie of ten powinien just być blocked by robots.txt, który jest another common strategy… The problem, I think, z doing że jest the URLs mógł become indeksowalny so we wouldn’t see the treści of the login strona… if it’s private treść, serve it z a noindex lub redirect it to a login strona somewhere. Don’t używać robots.txt. A robots-blocked URL może nadal być zindeksowany as a bare, contentless URL — często worse than a clean noindex. (ten jest genuinely-private treść, który jest a różny case z paywalled-ale-powinien-być-zindeksowany; don’t confuse the two.)

Testing i the “leaky” worry

Test z the wyniki z elementami rozszerzonymi Test. Google added paywalled-treść obsługiwać to the wyniki z elementami rozszerzonymi Test in October 2023, so it validates isAccessibleForFree/cssSelector on a live URL, testing as Googlebot komputer stacjonarny lub smartphone. As Mueller put it back in a 2020 office-hours, “you by użyj wyniki z elementami rozszerzonymi test, like dowolny other kind of dane strukturalne… the tricky part z niektóre of te paywall implementacje jest że Googlebot, of course, needs to być able to see the pełny treść.”

The self-audit trick: otwarty an incognito window (logged out of everything), search dla twój own marka lub service, i see co pokazuje. Mueller’s advice — “If the top wynik jest something like a login strona i there’s no information on ten strona at wszystkie otherwise, then probably że’s something że you może poprawić.”

jest showing Googlebot the pełny artykuł “leaky”? No. Danny Sullivan, Google’s Search Liaison, addressed the recurring worry że ten exposes paid treść: “nasz system jest looking to być shown the pełny treść, if a publisher wants to robić że. If they robić, we understand więcej o it. If we understand więcej, then we może być able to pokazywać it dla więcej zapytania gdzie it’s relevant,” and “Since tylko we są seeing ten, there’s nothing ‘leaky’ as you są suggesting.” The rzeczywisty leak vector, he noted, jest the cached copy — solved z noarchive, a oddzielny control z the paywall znaczniki itself. Sullivan’s remarks są relayed via wyszukiwarka Roundtable’s coverage; treat them as reported zamiast a pierwszy-party transcript.

Bing’s approach

Bing’s subscription i paywall guidance (Fabrice Canel, może 2022) jest structurally similar ale nie schemat-centric. jego three points: (1) let Bingbot crawl the pełny gated treść, (2) używać noarchive/nocache (lub the X-Robots-Tag: noarchive header) so cached copies don’t leak, i (3) verify the crawler jest genuinely Bingbot by checking the requesting IP wobec Bing’s opublikowany ranges — nie by trusting the użytkownik-agent ciąg znaków, który anyone może spoof. There’s no opublikowany Bing equivalent to isAccessibleForFree/cssSelector; Bing’s model jest crawl-access-plus-pamięć podręczna-control, gdzie Google’s jest znaczniki-centric. Don’t assume funkcja parity.

pierwszy Click Free — history, nie polityka

You’ll nadal see blog posts i forum answers describing pierwszy Click Free as if it’s current. It isn’t. Google retired it in October 2017, zastępowanie it z flexible sampling. Richard Gingras, then Google’s VP of News: “pierwszy, Flexible Sampling będzie zastępować pierwszy Click Free. Publishers są in the best position to determine co level of free sampling działa best dla them.” pierwszy Click Free miał required participating publishers to let Google-referred visitors read a ustawić liczba of artykuły a day (commonly three) even past ich own paywall. Flexible sampling handed że decision back to publishers. If you see FCF cited as something you może opt do today, że guidance jest eight-plus years stale.

gdzie ten sits in news SEO

Paywall handling jest one piece of the broader News & odkrywać SEO picture — alongside news sitemaps, Google News/Top Stories eligibility, odkrywać, i syndication (canonical vs. noindex). If you’re a publisher, get twój paywall znaczniki i twój syndication polityka sorted przed either one quietly costs you indexation lub attribution.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.