Datos estructurados de contenido para suscriptores y con muro de pago (CreativeWork)

En esta página se describe cómo usar schema.org JSON-LD para indicar el contenido con muro de pago de tu sitio con propiedades CreativeWork. Estos datos estructurados ayudan a Google a diferenciar el contenido con muro de pago de la práctica de encubrimiento, que infringe las políticas de spam. Más información sobre las suscripciones y el contenido con muro de pago

Ejemplo

A continuación se muestra un ejemplo de datos estructurados de NewsArticle con contenido con muro de pago.

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

Directrices

Debes seguir las directrices generales de datos estructurados y las directrices técnicas para que tu página pueda aparecer en los resultados de búsqueda. Además, en el caso de que haya contenido con muro de pago, hay que tener en cuenta estas directrices:

  • Los formatos JSON-LD y de microdatos son métodos aceptados para especificar datos estructurados del contenido con muro de pago.
  • No anides secciones de contenido.
  • Usa solo selectores .class en el caso de la propiedad cssSelector.

Añadir etiquetas a contenidos con muro de pago

Si ofreces de algún modo acceso por suscripción a contenido de tu sitio web, o si los usuarios deben registrarse para acceder a contenido que quieres indexar, sigue el procedimiento que se indica a continuación. El ejemplo mencionado se aplica a los datos estructurados de NewsArticle. Asegúrate de seguir estos pasos en todas las versiones de tu página (incluidas AMP y no AMP).

  1. Añade un nombre de clase alrededor de cada sección con muro de pago de tu página. Por ejemplo:
    <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. Añade datos estructurados NewsArticle.
  3. Añade los datos estructurados JSON-LD resaltados a los de 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. Valida tu código con la prueba de resultados enriquecidos y corrige los errores críticos.

Varias secciones con muro de pago

Si tienes varias secciones con muro de pago en una página, añade los nombres de clase como una matriz.

Este es un ejemplo de una sección con muro de pago de una página:

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

Este es un ejemplo de datos estructurados de NewsArticle en el que se muestran varias secciones con muro de pago.

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

Tipos de resultados que se admiten

Este marcado es compatible con el tipo CreativeWork o con uno de los siguientes tipos más específicos de CreativeWork:

Se pueden utilizar varios tipos de schema.org, como los siguientes:

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

Debes incluir las propiedades obligatorias para que Google entienda que tu artículo tiene contenido con muro de pago. Puedes añadir las propiedades recomendadas para conocer con más detalle qué secciones de una página están detrás de un muro de pago (o requieren una suscripción o un registro).

Propiedades obligatorias
isAccessibleForFree

Boolean

Si el artículo está disponible para todo el mundo o si está detrás de un muro de pago (o si es necesario suscribirse o registrarse). Asigna el valor false a la propiedad isAccessibleForFree para especificar que esta sección está detrás de un muro de pago.

Propiedades recomendadas
hasPart.cssSelector

CssSelectorType

Selector de CSS que hace referencia al nombre de la clase que defines en el código HTML para especificar la sección con muro de pago.

hasPart.@type

Text

Define @type en WebPageElement.

hasPart.isAccessibleForFree

Boolean

Si esta sección del artículo está detrás de un muro de pago (o requiere una suscripción o registro). Asigna el valor False a la propiedad isAccessibleForFree para especificar que esta sección está detrás de un muro de pago.

Consideraciones de AMP

A continuación encontrarás una lista con las consideraciones que debes tener en cuenta si usas páginas AMP:

  • Si tienes una página AMP con contenido con muro de pago, usa amp-subscriptions cuando corresponda.
  • Comprueba que el punto de conexión de autorización permita que accedan al contenido los robots adecuados de Google y de otros. Los casos de cada editor son diferentes.
  • Comprueba que la política de acceso al robot sea la misma en las páginas AMP que en las que no lo son. De lo contrario, se podrían producir errores de desajuste de contenido que aparecen en Search Console.

Consideraciones sobre la IA generativa en la Búsqueda

Los resúmenes de IA ofrecen una vista previa de un tema o una consulta basada en varias fuentes, incluidas las web. Por lo tanto, están sujetos a los controles de vista previa de la Búsqueda.

Las herramientas de IA mientras navegas, una función independiente de los resúmenes de IA, no mostrarán los puntos clave de los artículos con muro de pago si hay datos estructurados de muro de pago en la página.

Comprobar que Google pueda rastrear e indexar tus páginas

Si quieres que rastreemos e indexemos tu contenido, incluidas las secciones con muro de pago, comprueba que el Googlebot y Googlebot-News, si procede, puedan acceder a tu página.

Usa la herramienta de inspección de URLs para probar cómo rastreamos y renderizamos una URL de tu sitio web.

Controlar la información que se muestra en los resultados de búsqueda

Si no quieres que determinadas secciones de tu contenido aparezcan en los fragmentos de los resultados de búsqueda, utiliza el atributo HTML data-nosnippet. También puedes limitar el número de caracteres que puede tener un fragmento en los resultados de búsqueda con la etiqueta meta robots max-snippet.

Solucionar problemas

Si tienes problemas para implementar o depurar datos estructurados, a continuación se incluyen algunos recursos que pueden serte útiles.