Données structurées pour le contenu accessible par abonnement ou soumis à un paywall (CreativeWork)

Cette page décrit comment utiliser la méthode schema.org JSON-LD pour signaler la présence de contenu soumis à un paywall sur votre site, à l'aide de propriétés CreativeWork. Ces données structurées aident Google à différencier le contenu soumis à un paywall des techniques de dissimulation (cloaking), qui enrfreignent les Règles concernant le spam. En savoir plus sur le contenu accessible par abonnement ou soumis à un paywall.

Exemple

Voici un exemple de données structurées NewsArticle dont le contenu est soumis à un paywall.

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

Consignes

Vous devez respecter les consignes générales relatives aux données structurées et les consignes techniques pour que votre page puisse s'afficher dans les résultats de recherche. En outre, les consignes suivantes s'appliquent au contenu soumis à un paywall.

  • JSON-LD et le format de microdonnées sont des méthodes acceptées pour la rédaction de données structurées pour le contenu soumis à un paywall.
  • Veuillez ne pas imbriquer de sections de contenu.
  • N'utilisez que des sélecteurs .class pour la propriété cssSelector.

Ajouter un balisage à du contenu soumis à un paywall

Si vous proposez un accès par abonnement au contenu de votre site Web ou si les utilisateurs doivent s'inscrire pour accéder à tout contenu qui doit être indexé suivez ces étapes. L'exemple suivant s'applique aux données structurées NewsArticle. Assurez-vous de suivre cette procédure pour toutes les versions de votre page (notamment les versions AMP et standard).

  1. Ajoutez un nom de classe autour de chaque section de la page soumise à un paywall. Exemple :
    <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. Ajoutez des données structurées NewsArticle.
  3. Ajoutez les données structurées JSON-LD mises en évidence à vos données structurées NewsArticle.
    {
      "@context": "https://schema.org",
      "@type": "NewsArticle",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://example.org/article"
      },
      (...)
      "isAccessibleForFree": false,
      "hasPart": {
        "@type": "WebPageElement",
        "isAccessibleForFree": false,
        "cssSelector": ".paywall"
      }
    }
  4. Validez votre code à l'aide du test des résultats enrichis et corrigez les erreurs critiques, le cas échéant.

Plusieurs sections soumises à un paywall

Si plusieurs sections d'une même page sont soumises à un paywall, ajoutez les noms de classe sous forme de tableau (ou "array").

Voici un exemple de plusieurs sections soumises à un paywall sur une même page :

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

Voici un exemple de données structurées NewsArticle dont plusieurs sections sont soumises à un paywall.

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

Types acceptés

Ce balisage est accepté pour le type CreativeWork ou l'un des types plus spécifiques suivants de la propriété CreativeWork :

Plusieurs types schema.org peuvent être utilisés, par exemple :

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

Vous devez inclure les propriétés obligatoires pour que Google comprenne que votre article contient du contenu soumis à un paywall. Vous pouvez ajouter les propriétés recommandées pour indiquer plus précisément quelles sections d'une page sont soumises à un paywall (ou nécessitent un abonnement ou une inscription).

Propriétés obligatoires
isAccessibleForFree

Boolean

Indique si l'article est accessible à tous ou s'il est soumis à un paywall (ou nécessite un abonnement ou une inscription). Définissez la propriété isAccessibleForFree sur false pour indiquer que cette section est soumises à un paywall.

Propriétés recommandées
hasPart.cssSelector

CssSelectorType

Un sélecteur CSS qui renvoie au nom de classe que vous définissez dans le code HTML pour spécifier la section soumise à un paywall.

hasPart.@type

Text

Définissez @type sur WebPageElement.

hasPart.isAccessibleForFree

Boolean

Indique si cette section de l'article est soumise à un paywall (ou nécessite un abonnement ou une inscription). Définissez la propriété isAccessibleForFree sur False pour indiquer que cette section est soumise à un paywall.

Remarques pour les pages AMP

Voici une liste de points à retenir si vous utilisez des pages AMP :

  • Si vous disposez d'une page AMP avec du contenu soumis à un paywall, utilisez amp-subscriptions, le cas échéant.
  • Assurez-vous que votre point de terminaison d'autorisation permet aux robots appropriés de Google et d'autres entreprises d'accéder au contenu. Les méthodes varient en fonction de l'éditeur.
  • Assurez-vous que votre règle d'accès pour les robots est la même pour les pages AMP et standards. Sinon, des erreurs de type "Le contenu ne correspond pas" peuvent s'afficher dans la Search Console.

Considérations concernant l'IA générative dans la recherche

Les Aperçus IA présentent un aperçu d'un sujet ou d'une requête basé sur diverses sources, y compris des sources Web. Par conséquent, elles sont soumises aux commandes d'aperçu de la recherche.

Les outils d'IA lors de la navigation, une fonctionnalité distincte des Aperçus IA, n'affichent pas les points clés des articles soumis à un paywall si la page contient des données structurées de paywall.

S'assurer que Google peut explorer et indexer vos pages

Si vous souhaitez que Google explore et indexe votre contenu (y compris les sections soumises à un paywall), vérifiez que votre page est accessible par Googlebot (et Googlebot-News, le cas échéant).

Utilisez l'outil d'inspection d'URL pour tester la manière dont Google explore et affiche une URL sur votre site.

Contrôler les informations qui apparaissent dans les résultats de recherche

Pour exclure certaines sections de votre contenu des extraits de résultats de recherche, utilisez l'attribut HTML data-nosnippet. Pour restreindre le nombre de caractères d'un extrait de résultat de recherche, utilisez la balise meta max-snippet pour les robots.

Dépannage

Si vous ne parvenez pas à mettre en œuvre ou à déboguer des données structurées, voici quelques ressources susceptibles de vous aider.