Data terstruktur untuk langganan dan konten berbayar berpenghalang (CreativeWork)

Halaman ini menjelaskan cara menggunakan JSON-LD schema.org untuk menunjukkan konten berbayar berpenghalang di situs Anda dengan properti CreativeWork. Data terstruktur ini membantu Google membedakan konten berbayar berpenghalang dengan praktik penyelubungan, yang melanggar kebijakan spam. Pelajari lebih lanjut langganan dan konten berbayar berpenghalang.

Contoh

Berikut ini contoh data terstruktur NewsArticle yang berisi konten berbayar berpenghalang.

<html>
  <head>
    <title>Article headline</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "NewsArticle",
      "headline": "Article headline",
      "image": "https://example.org/thumbnail1.jpg",
      "datePublished": "2025-02-05T08:00:00+08:00",
      "dateModified": "2025-02-05T09:20:00+08:00",
      "author": {
        "@type": "Person",
        "name": "John Doe",
        "url": "https://example.com/profile/johndoe123"
      },
      "description": "A most wonderful article",
      "isAccessibleForFree": false,
      "hasPart":
        {
        "@type": "WebPageElement",
        "isAccessibleForFree": false,
        "cssSelector" : ".paywall"
        }
    }
    </script>
  </head>
  <body>
    <div class="non-paywall">
      Non-Paywalled Content
    </div>
    <div class="paywall">
      Paywalled Content
    </div>
  </body>
</html>

Panduan

Anda harus mengikuti panduan data terstruktur umum dan panduan teknis agar halaman Anda memenuhi syarat untuk ditampilkan di hasil penelusuran. Selain itu, panduan berikut juga berlaku untuk konten berbayar berpenghalang:

  • Format JSON-LD dan microdata adalah metode yang diterima guna menentukan data terstruktur untuk konten berbayar berpenghalang.
  • Jangan menumpuk bagian konten.
  • Gunakan hanya selektor .class untuk properti cssSelector.

Menambahkan markup ke konten berbayar berpenghalang

Jika Anda menawarkan akses berbasis langganan ke konten situs, atau jika pengguna harus mendaftar agar dapat mengakses konten apa pun yang ingin Anda indeks, ikuti langkah-langkah berikut. Contoh berikut berlaku untuk data terstruktur NewsArticle. Pastikan Anda mengikuti langkah-langkah berikut untuk semua versi halaman (termasuk AMP dan non-AMP).

  1. Tambahkan nama class di setiap bagian berbayar berpenghalang pada halaman Anda. Contoh:
    <body>
    <p>This content is outside a paywall and is visible to all.</p>
    <div class="paywall">This content is inside a paywall, and requires a subscription or registration.</div>
    </body>
  2. Tambahkan data terstruktur NewsArticle.
  3. Tambahkan data terstruktur JSON-LD yang disorot ke data terstruktur NewsArticle Anda.
    {
    "@context": "https://schema.org",
    "@type": "NewsArticle",
    "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.org/article"
    },
    (...)
    "isAccessibleForFree": false,
    "hasPart": {
    "@type": "WebPageElement",
    "isAccessibleForFree": false,
    "cssSelector": ".paywall"
    }
    }
  4. Validasi kode Anda menggunakan Pengujian Hasil Multimedia dan perbaiki semua error kritis.

Beberapa bagian berbayar berpenghalang

Jika Anda memiliki beberapa bagian berbayar berpenghalang pada sebuah halaman, tambahkan nama-nama class secara berderetan.

Berikut ini contoh bagian berbayar berpenghalang di sebuah halaman:

<body>
<div class="section1">This content is inside a paywall, and requires a subscription or registration.</div>
<p>This content is outside a paywall and is visible to all.</p>
<div class="section2">This is another section that's inside a paywall, or requires a subscription or registration.</div>
</body>

Berikut ini contoh data terstruktur NewsArticle yang berisi beberapa bagian berbayar berpenghalang.

{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.org/article"
    },
  (...)
  "isAccessibleForFree": false,
  "hasPart": [
    {
      "@type": "WebPageElement",
      "isAccessibleForFree": false,
      "cssSelector": ".section1"
    }, {
      "@type": "WebPageElement",
      "isAccessibleForFree": false,
      "cssSelector": ".section2"
    }
  ]
}

Jenis yang didukung

Markup ini didukung untuk jenis CreativeWork atau salah satu dari jenis CreativeWork yang lebih spesifik berikut:

Beberapa jenis schema.org dapat digunakan, seperti berikut:

"@type": ["Article", "LearningResource"]

Anda harus menyertakan properti wajib agar Google dapat memahami bahwa artikel Anda berisi konten berbayar berpenghalang. Anda dapat menambahkan properti yang direkomendasikan untuk memberikan perincian selengkapnya tentang bagian halaman mana yang berada di balik penghalang konten berbayar (atau memerlukan langganan atau pendaftaran).

Properti wajib
isAccessibleForFree

Boolean

Apakah artikel dapat diakses oleh semua orang, atau berada di balik penghalang konten berbayar (atau memerlukan langganan atau pendaftaran). Tetapkan properti isAccessibleForFree ke false untuk menentukan bahwa bagian ini berada di balik penghalang konten berbayar.

Properti yang direkomendasikan
hasPart.cssSelector

CssSelectorType

Pemilih CSS yang merujuk ke nama class yang Anda tetapkan dalam HTML untuk menentukan bagian berbayar berpenghalang.

hasPart.@type

Text

Tetapkan @type ke WebPageElement.

hasPart.isAccessibleForFree

Boolean

Apakah bagian artikel ini berada di balik penghalang konten berbayar (atau memerlukan langganan atau pendaftaran). Tetapkan properti isAccessibleForFree ke False untuk menentukan bahwa bagian ini berada di balik penghalang konten berbayar.

Pertimbangan terkait AMP

Berikut ini hal-hal yang perlu dipertimbangkan jika Anda menggunakan halaman AMP:

  • Jika Anda memiliki halaman AMP dengan konten berbayar berpenghalang, gunakan amp-subscriptions jika sesuai.
  • Pastikan endpoint otorisasi Anda memberikan akses ke konten untuk bot yang sesuai dari Google dan pihak lainnya. Akses ini berbeda untuk setiap penerbit.
  • Pastikan kebijakan akses bot Anda sama, baik untuk halaman AMP maupun non-AMP. Jika tidak, error ketidakcocokan konten akan muncul di Search Console.

AI generatif dalam pertimbangan Penelusuran

Ringkasan SGE (Search Generative Experience) dibuat dengan bantuan AI. Ringkasan tersebut didukung oleh info dari seluruh web dan Pustaka Pengetahuan Google, yaitu kumpulan info tentang orang, tempat, dan hal lainnya. Konten yang diblokir menggunakan kontrol cuplikan tidak akan ditampilkan di ringkasan.

SGE dirancang untuk membantu pengguna menemukan informasi bermanfaat di web yang mendukung informasi dalam ringkasan dan menyediakan titik awal bagi pengguna untuk menjelajahi lebih lanjut. Seperti di Penelusuran pada umumnya, ringkasan SGE dapat menyertakan link ke konten berbayar berpenghalang agar pengguna dapat menemukan halaman tersebut.

SGE saat menjelajah, yakni fitur yang terpisah dari SGE di Penelusuran, tidak akan menampilkan poin utama untuk artikel berbayar berpenghalang, jika data terstruktur penghalang konten berbayar ada di halaman.

Memastikan Google dapat meng-crawl dan mengindeks halaman Anda

Jika Anda ingin Google meng-crawl dan mengindeks konten, termasuk bagian berbayar berpenghalang, pastikan Googlebot, dan Googlebot-News jika berlaku, dapat mengakses halaman Anda.

Gunakan fitur Inspeksi URL untuk menguji cara Google meng-crawl dan merender URL di situs Anda.

Mengontrol informasi apa saja yang ditampilkan di hasil penelusuran

Untuk mencegah Google menampilkan link cache halaman Anda, gunakan tag meta robots noarchive.

Untuk mengecualikan bagian tertentu dari konten Anda agar tidak muncul di cuplikan hasil penelusuran, gunakan atribut HTML data-nosnippet. Anda juga dapat membatasi jumlah karakter yang dapat dimiliki cuplikan hasil penelusuran dengan tag meta robots max-snippet.

Pemecahan masalah

Jika Anda mengalami masalah saat menerapkan atau mendebug data terstruktur, berikut beberapa referensi yang dapat membantu Anda.

  • Jika Anda menggunakan sistem pengelolaan konten (CMS) atau ada orang lain yang menangani situs Anda, minta mereka untuk membantu Anda. Pastikan untuk meneruskan pesan Search Console yang menjelaskan masalah tersebut kepada mereka.
  • Google tidak menjamin bahwa fitur yang menggunakan data terstruktur akan muncul dalam hasil penelusuran. Untuk mengetahui daftar alasan umum mengapa Google tidak dapat menampilkan konten Anda dalam hasil kaya, lihat Panduan Umum terkait Data Terstruktur.
  • Mungkin ada error dalam data terstruktur Anda. Periksa daftar error data terstruktur.
  • Jika halaman Anda dikenai tindakan manual data terstruktur, data terstruktur pada halaman itu akan diabaikan (meskipun halaman masih bisa muncul di hasil Google Penelusuran). Untuk memperbaiki masalah data terstruktur, gunakan laporan Tindakan Manual.
  • Tinjau panduan lagi untuk mengidentifikasi apakah konten Anda tidak mematuhi panduan. Masalah itu mungkin disebabkan oleh konten yang berisi spam atau penggunaan markup yang berisi spam. Namun, masalahnya mungkin bukan pada sintaksis, sehingga Pengujian Hasil Kaya tidak akan dapat mengidentifikasi masalah tersebut.
  • Pecahkan masalah hasil kaya tidak ada/penurunan jumlah hasil kaya.
  • Tunggu hingga crawling dan pengindeksan ulang selesai. Perlu diingat bahwa Google mungkin memerlukan waktu beberapa hari untuk mencari dan meng-crawl halaman setelah Anda memublikasikannya. Untuk pertanyaan umum terkait crawling dan pengindeksan, lihat FAQ crawling dan pengindeksan Google Penelusuran.
  • Posting pertanyaan di forum Pusat Google Penelusuran.