订阅和付费内容结构化数据 (CreativeWork
)
本页介绍了如何使用 schema.org JSON-LD 并借助 CreativeWork
属性指明网站上的付费内容。该结构化数据有助于 Google 区分付费内容与伪装真实内容的行为,后者违反了网络垃圾政策。详细了解订阅和付费内容。
示例
下面是一个包含付费内容的 NewsArticle
结构化数据示例。
<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>
指南
您必须遵循结构化数据常规指南和技术指南,这样您的网页才能够显示在搜索结果中。此外,付费内容还需要遵循以下指南:
- 可以使用 JSON-LD 和微数据格式这两种方法来指定付费内容的结构化数据。
- 不要嵌套内容版块。
-
仅对
cssSelector
属性使用.class
选择器。
向付费内容添加标记
如果您为您的网站内容采用任何基于订阅的访问模式,或者如果用户必须注册才能访问您要编入索引的任何内容,请按相应步骤操作。以下示例适用于 NewsArticle
结构化数据。请务必对网页的所有版本(包括 AMP 和非 AMP 版本)执行以下步骤。
-
在网页的每个付费版块周围添加一个类名。例如:
<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>
-
添加
NewsArticle
结构化数据。 -
将突出显示的 JSON-LD 结构化数据添加到您的
NewsArticle
结构化数据。{ "@context": "https://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://example.org/article" }, (...) "isAccessibleForFree": false, "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".paywall" } }
- 使用富媒体搜索结果测试验证您的代码,并修复所有严重错误。
多个付费版块
如果网页上有多个付费版块,请以数组的形式添加类名。
下面是网页上的多个付费版块的示例:
<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>
下面是一个包含多个付费版块的 NewsArticle
结构化数据示例。
{ "@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" } ] }
支持的类型
此标记适用于 CreativeWork
类型或以下某一特定类型的 CreativeWork
:
可以使用多个 schema.org 类型,如下所示:
"@type": ["Article", "LearningResource"]
您必须添加必要属性,Google 才能知道您的文章包含付费内容。您可以添加建议的属性,以便更精确地指出网页的哪些版块隐藏在付费墙后面(或者需要订阅或注册)。
必要属性 | |
---|---|
isAccessibleForFree
|
文章是否可供所有人访问,或是否隐藏在付费墙后面(或者需要订阅或注册)。将 |
建议的属性 | |
---|---|
hasPart.cssSelector
|
CSS 选择器,会引用您在 HTML 中设置的类名,以指定付费版块。 |
hasPart.@type
|
将 |
hasPart.isAccessibleForFree
|
文章的这一版块是否隐藏在付费墙后面(或者需要订阅或注册)。将 |
AMP 注意事项
下面是您在使用 AMP 网页时需注意的一些事项:
-
如果您有包含付费内容的 AMP 网页,请在合适的情况下使用
amp-subscriptions
。 - 确保您的授权端点准许 Google 及其他方的相应漫游器访问内容。具体操作方法因发布商不同而异。
- 确保对 AMP 和非 AMP 网页实施相同的漫游器访问政策,否则可能会导致 Search Console 中出现内容不匹配错误。
Google 搜索中的生成式 AI 注意事项
AI 概览可以根据各种来源(包括网络来源)提供主题或查询的预览。 因此,它们受到 Google 搜索预览控件的约束。
使用 AI 工具浏览网页,与 AI 概览相比是一项单独的功能,如果网页上有付费墙结构化数据,则不会针对付费文章显示要点信息。
确保 Google 可以抓取您的网页并将其编入索引
如果您希望 Google 抓取您的内容(包括付费版块)并将其编入索引,请确保 Googlebot 和 Googlebot-News
(如果适用)可以访问您的网页。
使用网址检查工具测试 Google 会如何抓取并呈现您网站上的某个网址。
控制在搜索结果中显示哪些信息
若要阻止 Google 显示网页的缓存链接,请使用 noarchive
robots meta
标记。
若要阻止内容的某些部分显示在搜索结果摘要中,请使用 data-nosnippet
HTML 属性。您还可以使用 max-snippet
robots meta
标记来限制搜索结果摘要中可以包含多少字符。
问题排查
如果您在实施或调试结构化数据时遇到问题,请查看下面列出的一些实用资源。
- 如果您使用了内容管理系统 (CMS) 或其他人负责管理您的网站,请向其寻求帮助。请务必向其转发列明问题细节的任何 Search Console 消息。
- Google 不能保证使用结构化数据的功能一定会显示在搜索结果中。如需查看导致 Google 无法将您的内容显示为富媒体搜索结果的各种常见原因,请参阅结构化数据常规指南。
- 您的结构化数据可能存在错误。请参阅结构化数据错误列表。
- 如果您的网页受到结构化数据手动操作的影响,其中的结构化数据将会被忽略(但该网页仍可能会出现在 Google 搜索结果中)。如需修正结构化数据问题,请使用“人工处置措施”报告。
- 再次查看相关指南,确认您的内容是否未遵循指南。问题可能是因为出现垃圾内容或使用垃圾标记导致的。不过,问题可能不是语法问题,因此富媒体搜索结果测试无法识别这些问题。
- 针对富媒体搜索结果缺失/富媒体搜索结果总数下降进行问题排查。
- 请等待一段时间,以便 Google 重新抓取您的网页并重新将其编入索引。请注意,网页发布后,Google 可能需要几天时间才会找到和抓取该网页。有关抓取和索引编制的常见问题,请参阅 Google 搜索抓取和索引编制常见问题解答。
- 在 Google 搜索中心论坛中发帖提问。