Strukturierte Daten für Abo- und Paywall-Inhalte (CreativeWork)

Hier erfährst du, wie du schema.org-konformes JSON-LD verwendest, um Paywall-Inhalte auf deiner Website mithilfe von CreativeWork-Properties auszuzeichnen. Diese strukturierten Daten helfen Google, Paywall-Inhalte von Cloaking zu unterscheiden, einer Technik, die gegen unsere Spamrichtlinien verstößt. Weitere Informationen zu Abo- und Paywall-Inhalten

Beispiel

Hier ein Beispiel für strukturierte NewsArticle-Daten mit Paywall-Inhalten:

<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>

Richtlinien

Damit deine Seite in den Suchergebnissen angezeigt werden kann, musst du die allgemeinen Richtlinien für strukturierte Daten und die technischen Richtlinien beachten. Darüber hinaus gelten die folgenden Richtlinien für Paywall-Inhalte:

  • JSON-LD und Mikrodatenformate sind akzeptierte Methoden, wenn du strukturierte Daten für Paywall-Inhalte angeben willst.
  • Verschachtele keine Inhaltsabschnitte.
  • Verwende für die cssSelector-Property nur .class-Selektoren.

Markup zu Paywall-Inhalten hinzufügen

Wenn Nutzer deine Inhalte abonnieren können oder sich für den Zugriff auf Inhalte, die indexiert werden sollen, registrieren müssen, führe die unten stehenden Schritte aus. Das folgende Beispiel gilt für strukturierte NewsArticle-Daten. Führe diese Schritte für alle Versionen deiner Seite durch, einschließlich AMP- und Nicht-AMP-Seiten.

  1. Füge einen Klassennamen vor und nach jedem Paywall-Abschnitt deiner Seite hinzu. Beispiel:
    <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. Füge strukturierte Daten vom Typ NewsArticle hinzu.
  3. Füge die hervorgehobenen strukturierten JSON-LD-Daten zu deinen strukturierten NewsArticle-Daten hinzu.
    {
      "@context": "https://schema.org",
      "@type": "NewsArticle",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://example.org/article"
      },
      (...)
      "isAccessibleForFree": false,
      "hasPart": {
        "@type": "WebPageElement",
        "isAccessibleForFree": false,
        "cssSelector": ".paywall"
      }
    }
  4. Prüfe deinen Code mit dem Test für Rich-Suchergebnisse und behebe alle kritischen Fehler.

Mehrere Paywall-Abschnitte

Wenn du mehrere Paywall-Abschnitte auf einer Seite hast, füge die Klassennamen als Array hinzu.

Hier ein Beispiel für die Paywall-Abschnitte auf einer Seite:

<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>

Hier siehst du ein Beispiel für strukturierte NewsArticle-Daten mit mehreren Paywall-Abschnitten.

{
  "@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"
    }
  ]
}

Unterstützte Typen

Dieses Markup wird für den Typ CreativeWork oder einen der folgenden spezifischeren CreativeWork-Typen unterstützt:

Du kannst mehrere Schema.org-Typen verwenden, z. B.:

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

Du musst alle erforderlichen Properties angeben, damit Google erkennt, dass dein Artikel Paywall-Inhalte enthält. Du kannst die empfohlenen Properties hinzufügen, um genauer anzugeben, welche Bereiche einer Seite sich hinter einer Paywall befinden (oder ein Abo oder eine Registrierung erfordern).

Erforderliche Properties
isAccessibleForFree

Boolean

Ob der Artikel für alle Nutzer zugänglich ist oder ob er sich hinter einer Paywall befindet (oder ein Abo oder eine Registrierung erfordert). Setze die Property isAccessibleForFree auf false, um anzugeben, dass sich dieser Abschnitt hinter einer Paywall befindet.

Empfohlene Properties
hasPart.cssSelector

CssSelectorType

Ein CSS-Selektor, der auf den Klassennamen verweist, den du im HTML-Code festgelegt hast, um den Paywall-Abschnitt anzugeben.

hasPart.@type

Text

Setze den Wert @type auf WebPageElement.

hasPart.isAccessibleForFree

Boolean

Ob sich dieser Abschnitt des Artikels hinter einer Paywall befindet (oder ein Abo oder eine Registrierung erfordert). Setze die Property isAccessibleForFree auf False, um anzugeben, dass sich dieser Abschnitt hinter einer Paywall befindet.

Hinweise zu AMP-Seiten

Bei der Verwendung von AMP-Seiten solltest du einige Aspekte beachten:

  • Wenn es um eine AMP-Seite mit Paywall-Inhalten geht, solltest du gegebenenfalls amp-subscriptions verwenden.
  • Bots von Google und anderen Suchmaschinen-Crawlern müssen über deinen Autorisierungsendpunkt Zugriff auf Inhalte haben. Dies ist je nach Publisher unterschiedlich.
  • Deine Bot-Zugriffsrichtlinie muss für AMP- und Nicht-AMP-Seiten identisch sein. Andernfalls kann es in der Search Console zu Fehlern mit nicht übereinstimmenden Inhalten kommen.

Überlegungen zu generativer KI in der Google Suche

KI‑Übersichten bieten eine Vorschau eines Themas oder einer Anfrage basierend auf einer Vielzahl von Quellen, einschließlich Webquellen. Daher unterliegen sie den Steuerelementen für die Vorschau der Google Suche.

KI‑Tools beim Surfen, eine andere Funktion als KI‑Übersichten, enthält keine wichtigen Punkte zu Paywall-Artikeln, wenn strukturierte Paywall-Daten auf der Seite vorhanden sind.

Google muss Webseiten crawlen und indexieren können

Soll Google deine Inhalte, einschließlich der Paywall-Abschnitte, crawlen und indexieren, müssen der Googlebot und ggf. der Googlebot-News auf deine Seite zugreifen können.

Mit dem URL-Prüftool können Sie testen, wie Google eine URL auf Ihrer Website crawlt oder rendert.

Festlegen, welche Informationen in den Suchergebnissen angezeigt werden

Wenn du nicht möchtest, dass Google den im Cache gespeicherten Link für deine Seite anzeigt, verwende das noarchive-robots-meta-Tag.

Wenn du verhindern möchtest, dass bestimmte Abschnitte deiner Inhalte in Suchergebnis-Snippets erscheinen, kannst du das data-nosnippet-HTML-Attribut verwenden. Mit dem max-snippet-robots-meta-Tag kannst du auch die Anzahl der Zeichen beschränken, die ein Suchergebnis-Snippet enthalten kann.

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors and the Unparsable structured data report.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.