Dati strutturati per contenuti in abbonamento e protetti da paywall (CreativeWork)
In questa pagina viene spiegato come utilizzare il metodo JSON-LD di schema.org per indicare i contenuti protetti da paywall sul tuo sito
con
le proprietà CreativeWork. Questi dati strutturati aiutano Google a distinguere i contenuti protetti da paywall dal cloaking, che viola le norme relative allo spam.
Scopri di più sui
contenuti in abbonamento e protetti da paywall.
Esempio
Ecco un esempio di
dati strutturati NewsArticle
con contenuti protetti da 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>Linee guida
Devi rispettare le linee guida generali sui dati strutturati e le linee guida tecniche affinché la tua pagina sia idonea a essere visualizzata nei risultati di ricerca. Inoltre, ai contenuti protetti da paywall si applicano le linee guida che seguono:
- I formati JSON-LD e Microdati sono metodi accettati per specificare dati strutturati per i contenuti protetti da paywall.
- Non nidificare le sezioni di contenuti.
-
Utilizza solo selettori
.classper la proprietàcssSelector. - Se non vuoi che i contenuti siano accessibili al browser al momento della pubblicazione, scegli un'implementazione del paywall che non fornisca i contenuti protetti da paywall al browser. Se utilizzi una soluzione JavaScript lato client, consulta le nostre indicazioni sull'utilizzo di JavaScript per implementare contenuti a pagamento.
Aggiungi il markup ai contenuti protetti da paywall
Se offri un qualsiasi accesso in abbonamento ai contenuti del tuo sito web o se gli utenti devono registrarsi per accedere ai contenuti che vuoi che vengano indicizzati, segui questi passaggi. Il seguente esempio si applica ai dati strutturati NewsArticle. Assicurati di seguire questi passaggi per
tutte le versioni della pagina (incluse le versioni AMP e non AMP).
-
Aggiungi il nome di una classe a ogni sezione di contenuti protetti da paywall della pagina. Ad esempio:
<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>
-
Aggiungi i dati strutturati
NewsArticle. -
Aggiungi i dati strutturati JSON-LD evidenziati ai tuoi
dati strutturati
NewsArticle.{ "@context": "https://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://example.org/article" }, (...) "isAccessibleForFree": false, "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".paywall" } }
- Convalida il codice utilizzando lo strumento di Test dei risultati avanzati e correggi eventuali errori critici.
Più sezioni di contenuti protetti da paywall
Se in una pagina ci sono diverse sezioni di contenuti protetti da paywall, aggiungi i nomi delle classi sotto forma di array.
Ecco un esempio di sezioni di contenuti protetti da paywall in una pagina:
<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>
Ecco un esempio di dati strutturati
NewsArticle con diverse sezioni di contenuti protetti da 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" } ] }
Tipi supportati
Questo markup è supportato per il
tipo CreativeWork
o per uno dei seguenti tipi più specifici di CreativeWork:
È possibile utilizzare più tipi di schema.org, come ad esempio:
"@type": ["Article", "LearningResource"]
Per consentire a Google di comprendere che il tuo articolo include contenuti protetti da paywall, devi includere le proprietà obbligatorie. Puoi aggiungere le proprietà consigliate per una maggiore granularità sulle sezioni di una pagina protette da un paywall (o che richiedono un abbonamento o una registrazione).
| Proprietà obbligatorie | |
|---|---|
isAccessibleForFree
|
Se l'articolo è accessibile da tutti o è protetto da un paywall (oppure richiede un abbonamento o una registrazione). Imposta la proprietà |
| Proprietà consigliate | |
|---|---|
hasPart.cssSelector
|
Un selettore CSS che fa riferimento al nome della classe che hai impostato nel codice HTML per specificare la sezione con paywall. |
hasPart.@type
|
Imposta |
hasPart.isAccessibleForFree
|
Se questa sezione dell'articolo è protetta o meno da un paywall (oppure richiede un abbonamento o
una registrazione). Imposta la proprietà |
Considerazioni relative alle pagine AMP
Ecco un elenco di considerazioni da tenere presente se utilizzi le pagine AMP:
-
Se hai una pagina AMP con contenuti protetti da paywall, utilizza
amp-subscriptionsove appropriato. - Assicurati che il tuo endpoint di autorizzazione conceda l'accesso ai contenuti ai bot appropriati di Google e altri crawler. Questa impostazione è diversa per ciascun publisher.
- Assicurati che i criteri di accesso dei bot siano gli stessi sia per le pagine AMP che non AMP. In caso contrario, ciò potrebbe causare la visualizzazione di errori relativi a contenuti non corrispondenti in Search Console.
Considerazioni sull'AI generativa nella Ricerca
AI Overview e AI Mode offrono un'anteprima di un argomento o di una query in base a una serie di fonti, tra cui quelle del web. Pertanto, sono soggetti ai controlli di anteprima della Ricerca.
Assicurarsi che Google riesca a eseguire la scansione e l'indicizzazione delle pagine
Se vuoi che Google esegua la scansione e l'indicizzazione dei tuoi contenuti (incluse le sezioni di contenuti protetti da paywall), assicurati
che Googlebot e
Googlebot-News (se pertinente) riescano ad accedere alla pagina.
Utilizza lo strumento Controllo URL per verificare in che modo Google esegue la scansione e il rendering di un URL sul tuo sito.
Controllare quali informazioni vengono mostrate nei risultati di ricerca
Per impedire che determinate sezioni dei tuoi contenuti compaiano negli snippet dei risultati di ricerca, utilizza
l'attributo HTML data-nosnippet.
Puoi anche limitare il numero di caratteri di uno snippet di risultati di ricerca utilizzando il
meta tag robots max-snippet.
问题排查
如果您在实施或调试结构化数据时遇到问题,请查看下面列出的一些实用资源。
- 如果您使用了内容管理系统 (CMS) 或其他人负责管理您的网站,请向其寻求帮助。请务必向其转发列明问题细节的任何 Search Console 消息。
- Google 不能保证使用结构化数据的功能一定会显示在搜索结果中。如需查看导致 Google 无法将您的内容显示为富媒体搜索结果的各种常见原因,请参阅结构化数据常规指南。
- 您的结构化数据可能存在错误。请参阅结构化数据错误列表。
- 如果您的网页受到结构化数据手动操作的影响,其中的结构化数据将会被忽略(但该网页仍可能会出现在 Google 搜索结果中)。如需修正结构化数据问题,请使用“人工处置措施”报告。
- 再次查看相关指南,确认您的内容是否未遵循指南。问题可能是因为出现垃圾内容或使用垃圾标记导致的。不过,问题可能不是语法问题,因此富媒体搜索结果测试无法识别这些问题。
- 针对富媒体搜索结果缺失/富媒体搜索结果总数下降进行问题排查。
- 请等待一段时间,以便 Google 重新抓取您的网页并重新将其编入索引。请注意,网页发布后,Google 可能需要几天时间才会找到和抓取该网页。有关抓取和索引编制的常见问题,请参阅 Google 搜索抓取和索引编制常见问题解答。
- 在 Google 搜索中心论坛中发帖提问。