Paywalls dan SEO

cara pertahankan paywalled dan registration-gated konten dapat diindeks tanpa cloaking — flexible sampling, isAccessibleForFree/cssSelector markup, JavaScript-paywall trap, dan metering strategy.

Pertama kali diterbitkan: 3 Jul 2026 · Terakhir diperbarui: 3 Agu 2026 · Lanjutan

sebuah paywall tidak inherently hurt SEO — Google memiliki Tidak bias terhadap gated konten, dan biggest paywalled publishers peringkat fine. Apa hurts adalah Google tidak menjadi able untuk see cukup konten untuk memahami halaman. didukung perbaiki adalah flexible sampling: let Googlebot crawl penuh artikel, lalu declare gated bagian dengan data terstruktur (isAccessibleForFree plus sebuah cssSelector). itu's sebuah jelas, sanctioned exception untuk cloaking — cloaking adalah tentang intent untuk deceive; ini adalah sebuah declared mechanism. gunakan metering (mulai sekitar 6–10 free artikel/month) atau lead-di, gate server-side (tidak dengan JavaScript itu hanya hides konten di DOM), memberikan login halaman unique copy, dan tidak pernah gunakan robots.txt untuk hide privat URLs.

TL;DR — Paywalls jangan inherently hurt rankings; Google menjadi unable untuk see Anda konten melakukan. didukung model adalah flexible sampling — metering atau lead-di — declared dengan data terstruktur (isAccessibleForFree: false plus sebuah hasPart/cssSelector marking gated bagian, class selectors hanya). itu declaration adalah apa membuat serving Googlebot penuh artikel tidak cloaking: cloaking memerlukan intent untuk manipulate dan mislead, dan Google’s spam policy explicitly carves paywalls out dari itu definition. Gate server-side ( 2025 doc perbarui dan Mueller’s screen-reader caution keduanya target yang sama JS-hiding mistake), memberikan login halaman unique copy, tidak pernah robots.txt privat URLs, dan gunakan noarchive untuk berhenti sebuah cached copy leaking penuh text. Registration walls gunakan yang sama markup sebagai paid ones.

Apa sebenarnya penyebab peringkat masalah (ini tidak gate)

Paywall eligibility bergantung pada dapat di-crawl konten dan accurate markup; presence dari sebuah paywall alone adalah tidak terdokumentasi sebagai sebuah penalty. Bukti untuk klaim ini Official or primary documentation supporting the adjacent article claim, with scope limited to the source's published description. Cakupan: No ranking guarantee or undisclosed system mechanics are inferred beyond the cited source. Tingkat keyakinan: tinggi · Diverifikasi: Google: Paywalled content structured data Sampling choices tetap publisher decisions dengan pengguna dan business tradeoffs. Bukti untuk klaim ini Official or primary documentation supporting the adjacent article claim, with scope limited to the source's published description. Cakupan: No ranking guarantee or undisclosed system mechanics are inferred beyond the cited source. Tingkat keyakinan: tinggi · Diverifikasi: Google: Flexible sampling

Google memiliki Tidak penalty untuk paywalled konten, dan ini artikel’s parent hub says sebagai banyak: gated konten adalah fine sebagai panjang sebagai Google dapat baca ini melalui didukung approach. failure mode adalah upstream dari peringkat — ini adalah comprehension. jika Googlebot hanya ever sees sebuah teaser, itu teaser adalah semua ini dapat indeks dan peringkat Anda untuk. setiap technique di bawah ada untuk solve satu masalah: let mesin baca seluruh hal, sementara unauthenticated humans masih hit gate.

«Two boundaries worth stating plainly, since it’s easy to overreach in either direction. First, this markup is a tool for content you want indexed under a declared gate — not a mechanism for exposing content you don’t want indexed at all. Genuinely private account/admin URLs are a different case (see the decision tree below): those get noindex or an authentication redirect, not isAccessibleForFree. Second, valid markup and full crawl access are not a ranking guarantee. Google’s structured-data guidelines say directly that “Google does not guarantee that features that consume structured data will show up in search results” — the markup is the declaration that keeps you out of the cloaking bucket, not a promise of indexing, ranking, traffic, or a rich result. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh empat, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Secara historis ini adalah di mana biggest cautionary tale muncul dari. Ketika Wall Street Journal pulled out dari Google’s old pertama Click Free program di 2017, ini reported sebuah ~44% drop di Google penelusuran traffic — tidak karena paywalls adalah penalized, tetapi karena Google dapat Tidak lebih lama see artikel di semua. (Lebih pada pertama Click Free di bawah; ini adalah history, tidak saat ini policy.)

Flexible sampling: metering dan lead-di

«The current, active model is flexible sampling, laid out in Google’s Flexible Sampling guidelines. Google describes two sampling types: “metering, which provides users with a quota of articles to consume before requiring users to subscribe or log in, after which paywalls will start appearing; and lead-in, which offers a portion of an article’s content without it being shown in full.” » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh tujuh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

angka itu penting, semua dari Google’s own doc:

  • Prefer monthly di atas daily metering. Google: “Di general, we think itu monthly, rather daripada daily metering menyediakan lebih flexibility dan a safer environment untuk testing.” (terjemahan) “di umum, kami think itu monthly, alih-alih daily metering menyediakan lebih flexibility dan sebuah safer environment untuk testing.” sebuah satu-unit perubahan adalah far lebih sedikit jarring di 10 monthly samples daripada di 3 daily ones.
  • Mulai sekitar 6–10 free artikel/month. “Sebagai a starting point untuk Anda explorations, we encourage Anda untuk sediakan 10 artikel per month… untuk paling daily news publishers, we expect itu value untuk fall antara 6 dan 10 artikel per user per month.” (terjemahan) “sebagai sebuah starting poin untuk Anda explorations, kami encourage Anda untuk menyediakan 10 artikel per month… untuk sebagian besar daily news publishers, kami expect nilai untuk fall antara 6 dan 10 artikel per pengguna per month.”
  • Watch exposure ceiling. “Our analysis menunjukkan itu general user satisfaction dimulai untuk degrade significantly ketika paywalls adalah shown lebih daripada 10% dari itu time (yang generally berarti itu tentang 3% dari itu audience memiliki telah exposed untuk itu paywall).” (terjemahan) “kami analysis menampilkan itu umum pengguna satisfaction dimulai untuk degrade significantly ketika paywalls adalah ditampilkan lebih daripada 10% dari time (yang umumnya berarti itu tentang 3% dari audience memiliki telah exposed untuk paywall).”
  • Lead-di adalah sebuah baik practice. Menunjukkan pertama sedikit sentences di atas paywall lets pengguna “experience itu value dari itu konten.” (terjemahan) “experience nilai dari konten.”

«None of these numbers is a mandate. Google says directly: “There is no single value for optimal sampling across different businesses” — the 6–10/month figure is a starting point Google gives specifically for daily news publishers, and even that comes with “we leave the exact number to the discretion of individual publishers, who are best positioned to understand the particular demands of their businesses.” Treat it as a tested starting range, not a rule to copy verbatim. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tiga puluh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

di bawah-appreciated poin: metering adalah tidak purely sebuah monetization dial. Google opens doc noting itu “even minor perubahan untuk itu saat ini sampling levels could degrade user experience dan, sebagai user access adalah restricted, unintentionally impact artikel ranking di Google Search.” (terjemahan) “bahkan minor perubahan untuk saat ini sampling tingkat dapat degrade pengguna experience dan, sebagai pengguna access adalah restricted, unintentionally impact artikel peringkat di Google Search.” Tightening meter dapat diam-diam cost Anda rankings.

Mengapa ini tidak cloaking — reasoning, tidak hanya aturan

ini adalah muat-bearing bagian dari seluruh topic, dan sebagian besar guides assert conclusion (“paywalls tidak cloaking jika Anda gunakan structured data” (terjemahan) “paywalls tidak cloaking jika Anda gunakan data terstruktur”) tanpa menunjukkan mengapa. Di sini’s sebenarnya reasoning, straight dari Google’s spam policies.

Mulai dengan definition. Cloaking adalah “itu practice dari presenting berbeda konten untuk users dan penelusuran engines dengan itu intent untuk manipulate penelusuran rankings dan mislead users.” (terjemahan) “ practice dari presenting berbeda konten untuk pengguna dan mesin pencari dengan intent untuk manipulate penelusuran rankings dan mislead pengguna.” muat adalah pada itu clause — intent untuk manipulate dan mislead. sebuah paywall tidak trying untuk trick anyone; ini adalah monetizing konten, dan ini adalah declaring perbedaan di treatment melalui markup.

lalu jelas carve-out, di yang sama policy: “Jika Anda operate a paywall atau a konten-gating mechanism, we jangan consider ini untuk menjadi cloaking jika Google dapat see itu penuh konten dari apa behind itu paywall sekadar like any person siapa memiliki access untuk itu gated material dan jika Anda follow our Flexible Sampling general guidance.” (terjemahan) “jika Anda operate sebuah paywall atau sebuah konten-gating mechanism, kami jangan pertimbangkan ini untuk menjadi cloaking jika Google dapat see penuh konten dari apa behind paywall hanya like apa pun person siapa memiliki access untuk gated material dan jika Anda ikuti kami Flexible Sampling umum guidance.”

«So the exception has two conditions: (1) Google sees the same full content a paid subscriber would, and (2) you follow flexible sampling — which in practice means the structured data below. Google’s flexible-sampling doc reinforces the same logic: “Enclose paywalled content with structured data in order to help Google differentiate paywalled content from the practice of cloaking, where the content served to Googlebot is different from the content served to users.” The structured data is the declaration that turns “different content for bots” from deception into a disclosed, sanctioned mechanism. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tiga puluh enam, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Implementing data terstruktur

markup lives di Google’s Subscription dan paywalled konten doc. Dua properties melakukan berfungsi:

  • isAccessibleForFree (Boolean, diperlukan) — apakah konten adalah free atau gated. Google’s own property reference marks ini diperlukan satu; set ini pada top-tingkat CreativeWork/NewsArticle node dan pada setiap gated bagian.
  • hasPart (recommended, tidak diperlukan) — sebuah array dari WebPageElement objects, satu per gated bagian, setiap dengan -nya own isAccessibleForFree: false dan sebuah cssSelector pointing di class Anda wrapped gated HTML di. ini adalah bagaimana Anda tell Google yang bagian dari piece adalah gated ketika ini adalah sebuah bagian rather daripada seluruh hal; ini adalah recommended cara untuk mendapatkan bagian-tingkat precision, tidak sebuah kedua diperlukan property alongside top-tingkat flag.

sebuah minimal NewsArticle looks like ini:

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

Three implementation detail orang trip pada:

  • Class selectors hanya. cssSelector “references itu class name itu Anda set di itu HTML.” (terjemahan) “references class name itu Anda set di HTML.” gunakan .paywall — tidak sebuah ID (#paywall), tidak sebuah descendant atau attribute selector.
  • Multiple gated bagian gunakan array dari hasPart objects, setiap dengan -nya own class-based selector. jangan nest gated bagian di dalam setiap lainnya.
  • ini adalah tidak hanya untuk news. markup adalah didukung pada apa pun CreativeWork subtype — Article, NewsArticle, Blog, Comment, Course, HowTo, Message, Review, WebPage. lebih luas data terstruktur guidance memperlakukan isAccessibleForFree sebagai sebuah umum CreativeWork property, tidak sebuah news-hanya satu.
  • Correct markup tidak jaminan sebuah hasil. bahkan fully valid, correctly-nested markup hanya membuat Google eligible untuk memahami Anda gating — ini tidak sebuah peringkat atau rich-hasil jaminan. Treat markup sebagai mechanism itu mempertahankan Anda out dari cloaking bucket, tidak sebuah promise dari apa pun spesifik outcome.

Registration walls gunakan identical markup. Google tidak distinguish “pay untuk access” (terjemahan) “pay untuk access” dari “register to access” (terjemahan) “register untuk access” di schema tingkat. John Mueller mengatakan sebagai banyak pada Penelusuran Off Record: mechanism “could be maybe you require a login, maybe you require a payment, maybe after a certain number of iterations you’re like, ‘Oh, this is enough free content.’ Now you have to pay for it… It can just be something like a login or some other mechanism that basically limits the visibility of the content.” (terjemahan) “dapat menjadi maybe Anda memerlukan sebuah login, maybe Anda memerlukan sebuah payment, maybe setelah sebuah certain angka dari iterations Anda’re like, ‘Oh, ini adalah cukup free konten.’ Now Anda memiliki untuk pay untuk ini… ini dapat hanya menjadi sesuatu like sebuah login atau beberapa lainnya mechanism itu basically limits visibilitas dari konten.” jika Anda gate ini, mark ini — paid atau tidak. He bahkan flags sebuah/B pricing tests sebagai sebuah valid alasan: “if you have something like different thresholds where you say some people get to view five pages for free and others have the whole content available for free because you’re doing A/B testing… then you’d want to use a paywall structured data.” (terjemahan) “jika Anda memiliki sesuatu like berbeda thresholds di mana Anda say beberapa orang mendapatkan untuk view five halaman untuk free dan others memiliki seluruh konten tersedia untuk free karena Anda’re melakukan sebuah/B testing… lalu Anda’d ingin untuk gunakan paywall structured data.”

JavaScript-paywall trap

«Here’s the single most common real-world mistake, and it’s distinct from “forgetting the structured data.” A lot of paywall solutions ship the full article in the HTML the server sends, then use JavaScript to hide it until subscription status is confirmed. Google explicitly warned against this in a 2025 addition to its JavaScript troubleshooting doc: “Some JavaScript paywall solutions include the full content in the server response, then use JavaScript to hide it until subscription status is confirmed. This isn’t a reliable way to limit access to the content. Make sure your paywall only provides the full content once the subscription status is confirmed.” » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian empat puluh enam, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Mengapa ini adalah buruk pada three fronts:

  1. ini adalah trivially bypassable. Disable JavaScript dan “hidden” (terjemahan) “hidden” artikel adalah right di sana di sumber. Anda’re tidak sebenarnya gating apa pun.
  2. ini muddies cloaking exception. jika penuh text adalah sitting di DOM untuk everyone, Google dapat’t cleanly tell yang konten adalah dimaksudkan untuk menjadi gated — yang adalah seluruh hal structured-data declaration adalah supposed untuk membuat jelas.
  3. ini adalah sebuah accessibility masalah. Mueller raised persis ini pada Penelusuran Off Record: “ketika sebuah pengguna looks di Anda halaman, Anda tidak muat konten ke HTML, tetapi rather Anda pastikan itu ini adalah benar-benar tidak dimuat ke halaman’s DOM so itu, jika sebuah browser memiliki sesuatu like… sebuah screen reader, itu screen reader tidak go off dan baca semua dari ini text itu Anda’re trying untuk hide… pastikan Anda tidak muat ini ke browser dan gunakan JavaScript untuk turn ini pada, tetapi rather itu ini adalah benar-benar hanya disajikan untuk pengguna ketika Anda ingin membuat ini tersedia.” 2025 doc perbarui dan Mueller’s caution adalah yang sama mistake seen dari dua angles.

perbaiki adalah server-side gating: konfirmasi subscription/login status pada server, dan hanya sertakan penuh artikel di respons untuk authenticated pengguna. lalu layer isAccessibleForFree/cssSelector pada top so Googlebot — yang adalah diizinkan untuk see penuh text di bawah flexible sampling — masih mendapatkan semuanya, sementara unauthenticated humans genuinely jangan. ini adalah juga di mana paywalls intersect dengan pengindeksan mobile-pertama: Google melakukan crawl dan evaluates mobile versi, so penuh gated konten memiliki untuk menjadi present di mobile server respons too, tidak hanya desktop.

Login halaman dan registration gates: quieter pitfalls

Dua distinct masalah tampilkan up sekitar login/registration, keduanya dari yang sama Penelusuran Off Record episode.

Generic login halaman mendapatkan folded ke duplicates. Mueller: “jika Anda memiliki a very generic login halaman, we akan see all dari ini URLs itu menunjukkan itu login halaman, itu redirect untuk itu login halaman, sebagai menjadi duplicates… We’ll fold them together sebagai duplicates, dan we’ll focus pada indexing itu login halaman… Jika seseorang adalah searching untuk Anda service… itu hanya hal… they temukan di penelusuran adalah like, ‘Di sini’s bagaimana untuk log di,’ itu mungkin menjadi a kind dari a weird experience untuk them.” (terjemahan) “jika Anda memiliki sebuah very generic login halaman, kami akan see semua dari ini URLs itu tampilkan itu login halaman, itu redirect untuk itu login halaman, sebagai menjadi duplicates… kami’ll fold them together sebagai duplicates, dan kami’ll focus pada pengindeksan login halaman… jika seseorang adalah searching untuk Anda service… satu-satunya hal… mereka temukan di penelusuran adalah like, ‘Di sini’s cara log di,’ itu mungkin menjadi sebuah jenis dari sebuah weird experience untuk them.” perbaiki adalah untuk memberikan login halaman unique contextual copy per service, so mereka’re tidak semua identical.

jangan robots.txt privat URLs. ini satu contradicts sebuah umum intuition. Mueller: “apakah all dari ini seharusnya sekadar menjadi blocked oleh robots.txt, yang adalah another umum strategy… Itu problem, I think, dengan melakukan itu adalah itu URLs could become indexable so we tidak akan see itu contents dari itu login halaman… jika ini privat konten, serve it dengan a noindex atau redirect it untuk a login halaman di suatu tempat. jangan gunakan robots.txt.” (terjemahan) “apakah semua dari ini seharusnya hanya menjadi blocked oleh robots.txt, yang adalah lainnya umum strategy… masalah, I think, dengan melakukan itu adalah URLs dapat become dapat diindeks so kami tidak akan see contents dari login halaman… jika ini adalah privat konten, sajikan ini dengan sebuah noindex atau redirect ini untuk sebuah login halaman di suatu tempat. jangan gunakan robots.txt.” sebuah robots-blocked URL dapat masih menjadi terindeks sebagai sebuah bare, contentless URL — sering worse daripada sebuah bersih noindex. (ini adalah genuinely-privat konten, yang adalah sebuah berbeda case dari paywalled-tetapi-seharusnya-menjadi-terindeks; jangan confuse dua.)

«## Testing and the “leaky” worry » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian lima puluh empat, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Test dengan Rich hasil Test. Google ditambahkan paywalled-konten mendukung untuk Rich hasil Test di October 2023, so ini validates isAccessibleForFree/cssSelector pada sebuah langsung URL, testing sebagai Googlebot desktop atau smartphone. sebagai Mueller put ini back di sebuah 2020 office-hours, “Anda akan gunakan itu rich hasil test, like any other kind dari structured data… itu tricky part dengan some dari ini paywall implementations adalah itu Googlebot, dari course, memerlukan untuk menjadi able untuk see itu penuh konten.” (terjemahan) “Anda akan gunakan rich hasil test, like apa pun lainnya jenis dari data terstruktur… tricky bagian dengan beberapa dari ini paywall implementations adalah itu Googlebot, dari course, perlu untuk menjadi able untuk see penuh konten.”

** self-audit trick:** open sebuah incognito window (logged out dari semuanya), penelusuran untuk Anda own brand atau service, dan see apa menampilkan. Mueller’s advice — “Jika itu top hasil adalah sesuatu like a login halaman dan ada Tidak information pada ini halaman di all jika tidak, lalu probably itu sesuatu itu Anda dapat improve.” (terjemahan) “jika top hasil adalah sesuatu like sebuah login halaman dan ada Tidak informasi pada ini halaman di semua jika tidak, lalu probably itu’s sesuatu itu Anda dapat meningkatkan.”

«Is showing Googlebot the full article “leaky”? No. Danny Sullivan, Google’s Search Liaison, addressed the recurring worry that this exposes paid content: “Our system is looking to be shown the full content, if a publisher wants to do that. If they do, we understand more about it. If we understand more, then we might be able to show it for more queries where it’s relevant,” and “Since only we are seeing this, there’s nothing ‘leaky’ as you are suggesting.” The real leak vector, he noted, is the cached copy — solved with noarchive, a separate control from the paywall markup itself. Sullivan’s remarks are relayed via Search Engine Roundtable’s coverage; treat them as reported rather than a first-party transcript. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian lima puluh tujuh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Bing’s approach

Bing’s subscription dan paywall guidance (Fabrice Canel, dapat 2022) adalah structurally similar tetapi tidak schema-centric. -nya three poin: (1) let Bingbot crawl penuh gated konten, (2) gunakan noarchive/nocache (atau X-Robots-Tag: noarchive header) so cached copies jangan leak, dan (3) verify crawler adalah genuinely Bingbot oleh memeriksa requesting IP terhadap Bing’s published ranges — tidak oleh trusting pengguna-agent string, yang anyone dapat spoof. ada Tidak published Bing equivalent untuk isAccessibleForFree/cssSelector; Bing’s model adalah crawl-access-plus-cache-control, di mana Google’s adalah markup-centric. jangan assume fitur parity.

pertama Click Free — history, tidak policy

«You’ll still see blog posts and forum answers describing First Click Free as if it’s current. It isn’t. Google retired it in October 2017, replacing it with flexible sampling. Richard Gingras, then Google’s VP of News: “First, Flexible Sampling will replace First Click Free. Publishers are in the best position to determine what level of free sampling works best for them.” First Click Free had required participating publishers to let Google-referred visitors read a set number of articles a day (commonly three) even past their own paywall. Flexible sampling handed that decision back to publishers. If you see FCF cited as something you can opt into today, that guidance is eight-plus years stale. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian enam puluh satu, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Di mana ini sits di news SEO

Paywall menangani adalah satu piece dari lebih luas News & menemukan SEO picture — alongside news sitemaps, Google News/Top Stories eligibility, menemukan, dan syndication (canonical vs. noindex). jika Anda’re sebuah publisher, mendapatkan Anda paywall markup dan Anda syndication policy sorted sebelum either satu diam-diam costs Anda pengindeksan atau attribution.

Tambahkan catatan pakar

Sematkan kutipan pakar

Orang baru? Buat profilnya yang belum diklaim di /admin/experts/ → Sematkan kutipan pakar terlebih dahulu.