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"
      },
      "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 Property cssSelector 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 NewsArticle-Daten 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"
      }
    }

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, and 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"]

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

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 kannst du testen, wie Google eine URL auf deiner 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.

Fehlerbehebung

Falls du Probleme bei der Implementierung oder Fehlerbehebung von strukturierten Daten hast, versuch es mit diesen Lösungsansätzen:

  • Wenn du ein CMS (Content-Management-System) verwendest oder jemand anderes sich um deine Website kümmert, bitte diese Person oder den CMS-Support, dir zu helfen. Leite am besten alle Search Console-Nachrichten, in denen das Problem beschrieben ist, entsprechend weiter.
  • Google kann nicht garantieren, dass Funktionen, die strukturierte Daten nutzen, in den Suchergebnissen angezeigt werden. Eine Liste mit häufigen Gründen, aus denen Google deine Inhalte möglicherweise nicht in einem Rich-Suchergebnis anzeigt, findest du im Artikel Allgemeine Richtlinien für strukturierte Daten.
  • Möglicherweise sind deine strukturierten Daten fehlerhaft. Näheres dazu findest du in der Liste der Fehler bei strukturierten Daten.
  • Wenn auf deiner Seite eine manuelle Maßnahme gegen strukturierte Daten vorliegt, werden die strukturierten Daten auf der Seite ignoriert, obwohl die Seite weiter in den Ergebnissen der Google Suche erscheinen kann. Nutze den Bericht zu manuellen Maßnahmen, um Probleme mit strukturierten Daten zu beheben.
  • Lies dir die Richtlinien noch einmal durch und prüfe, ob deine Inhalte den Richtlinien entsprechen. Das Problem kann durch Spaminhalte oder die Verwendung von Spam-Markup verursacht sein. Allerdings ist es auch möglich, dass das Problem kein Syntaxproblem ist und daher beim Test für Rich-Suchergebnisse nicht identifiziert werden kann.
  • Eine Fehlerbehebung für den Fall, dass Rich-Suchergebnisse fehlen oder die Gesamtzahl der Rich-Suchergebnisse zurückgeht, findest du hier.
  • Plane genug Zeit für das erneute Crawling und die Neuindexierung ein. Nachdem eine Seite veröffentlicht wurde, kann es einige Tage dauern, bis sie von Google gefunden und gecrawlt wurde. Antworten auf allgemeine Fragen zum Crawlen und Indexieren erhältst du auf der Seite Häufig gestellte Fragen zum Crawling und zur Indexierung in der Google Suche.
  • Oder du postest deine Frage im Forum von Google Search Central.