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" }, "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
.class
per la proprietàcssSelector
.
Aggiungere 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" } }
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, and 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"]
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-subscriptions ove 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.
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 a Google di mostrare il link Copia cache per la pagina, usa il
meta
tag robots noarchive
.
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
.
Risoluzione dei problemi
Se hai difficoltà con l'implementazione o il debug dei dati strutturati, ecco alcune risorse che potrebbero esserti utili.
- Se utilizzi un sistema di gestione dei contenuti (CMS) o un'altra persona si sta occupando del tuo sito, chiedile di aiutarti. Assicurati di inoltrarle gli eventuali messaggi di Search Console che illustrano il problema.
- Google non garantisce che le funzionalità che utilizzano dati strutturati vengano visualizzate nei risultati di ricerca. Per un elenco delle cause comuni per cui i tuoi contenuti potrebbero non essere mostrati da Google in un risultato avanzato consulta le linee guida generali sui dati strutturati.
- I tuoi dati strutturati potrebbero contenere un errore. Consulta l'elenco di errori nei dati strutturati.
- Se i dati strutturati della tua pagina sono interessati da un'azione manuale, i dati strutturati sulla pagina verranno ignorati (sebbene la pagina possa ancora essere visualizzata nei risultati della Ricerca Google). Per risolvere i problemi relativi ai dati strutturati, utilizza il report Azioni manuali.
- Consulta nuovamente le linee guida per verificare se i tuoi contenuti non sono conformi. Il problema può essere causato dall'utilizzo di contenuti di spam o di markup di spam. Tuttavia, il problema potrebbe non riguardare la sintassi e perciò non essere identificato dal Test dei risultati avanzati.
- Consulta informazioni su come risolvere i problemi relativi a risultati avanzatimancanti/calo del numero totale di risultati avanzati.
- Lascia del tempo per le nuove operazioni di scansione e indicizzazione. Ricorda che possono passare diversi giorni dopo la pubblicazione di una pagina prima che Google la rilevi e la sottoponga a scansione. Per domande generali sulla scansione e sull'indicizzazione, consulta le Domande frequenti (FAQ) relative alla scansione e all'indicizzazione della Ricerca Google.
- Pubblica una domanda nel forum di Google Search Central.