Alien Road Company

Google SEO Update 2023 December 14

  • 14 dicembre: Aggiornata la documentazione della pagina del Forum di Discussione e della pagina delle Domande e Risposte per chiarire esplicitamente che si raccomandano gli URL degli autori.

Dati strutturati del forum di discussione (DiscussionForumPosting)

An illustration of the discussions and forums feature

Il markup del forum di discussione è progettato per qualsiasi sito in stile forum in cui le persone condividono collettivamente prospettive di prima mano. Quando i siti forum aggiungono questo markup, Google Search può identificare meglio le discussioni online su tutto il web e utilizzare questo markup in funzionalità come Discussioni, Forum e Prospettive.

Il tuo forum segue un modello di domande e risposte? Usa invece il markup Q&A.

Come utilizzare DiscussionForumPosting all’interno di un forum

In generale, raccomandiamo di annidare i commenti sotto il post a cui si riferiscono. Se il forum ha una propria struttura di thread, utilizza un albero di commenti per rappresentare la sua struttura:

{
  "@context": "https://schema.org",
  "@type": "DiscussionForumPosting",
  "headline": "Very Popular Thread",
  ...
  "comment": [{
    "@type": "Comment",
    "text": "This should not be this popular",
    ...
    "comment": [{
      "@type": "Comment",
      "text": "Yes it should",
      ...
    }]
  }]
}

Se ha una natura più lineare (ad esempio, un post originale seguito da una serie di risposte), annida tutti i commenti sotto il post originale. Idealmente, le pagine successive di contenuto in forum multi-pagina dovrebbero includere il post originale con l’URL della pagina principale:

{
  // JSON-LD on non-threaded forum at https://example.com/post/very-popular-thread/14
  "@context": "https://schema.org",
  "@type": "DiscussionForumPosting",
  "headline": "Very Popular Thread", // Only the headline/topic is explicitly present
  "url": "https://example.com/post/very-popular-thread",
  ...
  "comment": [{
    "@type": "Comment",
    "text": "First Post on this Page",
    ...
  },{
    "@type": "Comment",
    "text": "Second Post on this Page",
    ...
  }]
}

Se l’URL riguarda principalmente un singolo post, utilizza mainEntity (o mainEntityOfPage) per identificare il DiscussionForumPosting principale.

{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "url": "https://example.com/post/very-popular-thread",
  "mainEntity": {
    "@type": "DiscussionForumPosting"
    ...
  }
}

Per le pagine web che contengono un elenco di post (ad esempio, su una pagina di profilo, argomento o categoria), è comune che non tutte le informazioni siano presenti sulla stessa pagina e che l’utente debba fare clic per ottenere ulteriori informazioni (come risposte). Sta a te decidere se includere solo le informazioni presenti sulla pagina (e includere l’URL del post specifico alla discussione).

Non contrassegnare un post sulla pagina come entità principale se non è una pagina di discussione per quel post. Per dimostrare che le pagine sono un insieme di post correlati, potrebbe essere utile collegarle tutte a una Collection o a un ItemList.

Come aggiungere dati strutturati

I dati strutturati sono un formato standardizzato per fornire informazioni su una pagina e classificare il contenuto della pagina. Se sei nuovo ai dati strutturati, puoi saperne di più su come funzionano i dati strutturati.

Ecco una panoramica su come costruire, testare e rilasciare dati strutturati. Per una guida passo-passo su come aggiungere dati strutturati a una pagina web, controlla il codelab sui dati strutturati.

  • Aggiungi le proprietà richieste. In base al formato che stai utilizzando, scopri dove inserire i dati strutturati sulla pagina.
  • Utilizzi un CMS? Potrebbe essere più facile utilizzare un plugin integrato nel tuo CMS.
  • Utilizzi JavaScript? Scopri come generare dati strutturati con JavaScript.
  • Segui le linee guida.
  • Convalida il tuo codice utilizzando il Rich Results Test e correggi eventuali errori critici. Considera anche di risolvere eventuali problemi non critici che potrebbero essere segnalati nello strumento, poiché possono aiutare a migliorare la qualità dei tuoi dati strutturati (tuttavia, ciò non è necessario per essere idonei ai risultati ricchi).
  • Distribuisci alcune pagine che includono i tuoi dati strutturati e utilizza l’ URL Inspection tool per testare come Google vede la pagina. Assicurati che la tua pagina sia accessibile a Google e non sia bloccata da un file robots.txt, un tag noindex o requisiti di accesso. Se la pagina sembra a posto, puoi chiedere a Google di riesaminare i tuoi URL.

Nota: Consenti tempo per il re-crawling e la reindicizzazione. Ricorda che potrebbero volerci diversi giorni dopo la pubblicazione di una pagina affinché Google la trovi e la scansiona.
Per mantenere Google informato sui cambiamenti futuri, ti consigliamo di inviare una mappa del sito. Puoi automatizzare questo con l’ API Sitemap di Search Console.

Esempi

Il seguente esempio di markup mostra una pagina di forum lineare non threadata:

<html>
  <head>
    <title>I went to the concert!</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "DiscussionForumPosting",
      "mainEntityOfPage": "https://example.com/post/very-popular-thread",
      "headline": "I went to the concert!",
      "text": "Look at how cool this concert was!",
      "video": {
        "@type": "VideoObject",
        "contentUrl": "https://example.com/media/super-cool-concert.mp4",
        "name": "Video of concert",
        "uploadDate": "2023-03-01T06:34:34+02:00",
        "thumbnailUrl": "https://example.com/media/super-cool-concert-snap.jpg"
      },
      "url": "https://example.com/post/very-popular-thread",
      "author": {
        "@type": "Person",
        "name": "Katie Pope",
        "url": "https://example.com/user/katie-pope",
        "agentInteractionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": "https://schema.org/WriteAction",
          "userInteractionCount": 8
        }
      },
      "datePublished": "2023-03-01T08:34:34+02:00",
      "interactionStatistic": {
        "@type": "InteractionCounter",
        "interactionType": "https://schema.org/LikeAction",
        "userInteractionCount": 27
      },
      "comment": [{
        "@type": "Comment",
        "text": "Who's the person you're with?",
        "author": {
          "@type": "Person",
          "name": "Saul Douglas",
          "url": "https://example.com/user/saul-douglas",
          "agentInteractionStatistic": {
            "@type": "InteractionCounter",
            "interactionType": "https://schema.org/WriteAction",
            "userInteractionCount": 167
          }
        },
        "datePublished": "2023-03-01T09:46:02+02:00"
      },{
        "@type": "Comment",
        "text": "That's my mom, isn't she cool?",
        "author": {
          "@type": "Person",
          "name": "Katie Pope",
          "url": "https://example.com/user/katie-pope",
          "agentInteractionStatistic": {
            "@type": "InteractionCounter",
            "interactionType": "https://schema.org/WriteAction",
            "userInteractionCount": 8
          }
        },
        "datePublished": "2023-03-01T09:50:25+02:00",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": "https://schema.org/LikeAction",
          "userInteractionCount": 7
        }
      }]
    }
  </script>
</head>
<body>
</body>
</html>

Linee guida

Affinché i tuoi dati strutturati del forum di discussione siano idonei per l’uso in Google Search, devi seguire queste linee guida:

Linee guida generali sui dati strutturati

  • Essenziali per la ricerca
  • Linee guida sui contenuti
  • Linee guida tecniche

Linee guida sui contenuti

Utilizza esclusivamente il markup DiscussionForumPosting per descrivere un post generato dagli utenti su un forum del sito web. Non utilizzare questo markup per contenuti principalmente redatti dagli editori del sito o dai loro agenti.
Anche se incoraggiamo l’uso di markup validi di altri tipi (Article, SocialMediaPosting, VideoObject) che possono utilizzare un markup molto simile con commenti, informazioni sugli autori e statistiche di interazione, questi non dovrebbero utilizzare il markup DiscussionForumPosting. Ecco alcuni esempi:

Casi d’uso validi:

  • Una pagina di forum comunitario dove gli utenti possono parlare di un certo gioco
  • Una piattaforma di forum generica che ospita una vasta gamma di contenuti di sottogruppi

Casi d’uso non validi:

  • Un articolo o un blog scritto direttamente da un agente per il sito web (anche con commenti)
  • Recensioni di utenti su un prodotto

Nota che per la maggior parte dei casi d’uso di Google, una pagina di domande e risposte è considerata un caso speciale di una pagina del forum di discussione. Se la struttura del sito del forum è principalmente composta da domande e risposte, ti consigliamo di utilizzare invece il markup Q&A. Se la struttura è più generale e di solito non include contenuti di domande e risposte, DiscussionForumPosting sarebbe una scelta migliore.
Assicurati che ogni DiscussionForumPosting includa il testo completo del post e assicurati che ogni Comment includa il testo completo della risposta se si trova su quella pagina.

Linee guida tecniche

A differenza della nostra preferenza generale per i dati strutturati, ti consigliamo di fornire il markup DiscussionForumPosting in Microdata (o RDFa) se possibile. Questo ti evita di dover duplicare grandi blocchi di testo all’interno del markup. Tuttavia, questa è solo una raccomandazione, e JSON-LD è comunque completamente supportato.

Definizioni dei tipi di dati strutturati

Questa sezione descrive i tipi di dati strutturati correlati a DiscussionForumPosting.

Devi includere le proprietà richieste affinché il tuo contenuto sia idoneo per l’uso in Google Search. Puoi anche includere le proprietà consigliate per aggiungere ulteriori informazioni sulle tue pagine del forum di discussione, il che potrebbe fornire un’esperienza utente migliore.

DiscussionForumPosting

Il tipo DiscussionForumPosting definisce un post originale che è l’argomento di discussione. Sebbene questo tipo sia generalmente composto da testo, è possibile avere un post di forum che consiste solo di contenuto multimediale.

Required properties

author

Person or OrganizationInformation about the author of the post. To help Google best understand authors across various features, we recommend following the author markup best practices.Include as many properties that make sense for the author, using the supported properties from article and profile page structured data as a guide.

author.name

TextThe name of the author of the post.

datePublished

DateTimeThe date and time the post was made in ISO 8601 format.
Either text or image or video To represent the content of the post, you must include one of the following properties:

This is not required if you are representing a post on another page (with an external url) as in later pages of forums or forum category pages.

Recommended properties

author.url

URLA link to a web page that uniquely identifies the author of the post, most likely a profile page of the forum. We recommend marking up that page using profile page structured data.
comment CommentA comment about or response to the post, if applicable. Mark up comments in the order in which they appear on the page.
creativeWorkStatus TextIf the post has been deleted but remains for context or threading, set this property to Deleted.
dateModified DateTimeThe date and time the post was edited in ISO 8601 format, if applicable. If no changes have happened, it’s not necessary to duplicate the publish date.

headline

TextThe title of the post. If there isn’t a separate title, don’t duplicate or truncate the text into a headline.
image ImageObject or URLAny inline images within the post, if applicable. If there are no images, don’t include default, icon, or placeholder images in this field.
interactionStatistic InteractionCounterUser statistics applied to the main post, if applicable.

Google supports the following interactionTypes:

isPartOf CreativeWork or URLThe primary source of the post if the post occurs on a particular part of the overall website. For example, a subforum or group within the broader website. If a CreativeWork (like WebPage) is used, use the url property to specify its URL.

sharedContent

CreativeWorkThe primary shared content in the post. The most common way this can be used is to share WebPages (with URLs) as a topical discussion, but images or videos can also be used with this property, particularly if they are the primary content of the comment.Here’s an example of how to add that there’s a link shared in the post:

  ...
  "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" }
  ...
text TextAny text in the post, if applicable. This is very common, but in some cases can be left out if there is other media in the post.

url

URLThe canonical URL of the discussion. In multi-page threads, set this property to th first page URL. For a single discussion, this is usually the current URL.
video VideoObjectAny inline videos within the post, if applicable.

Commento

Il tipo Commento definisce un commento su un’opera creativa originale. In questo caso, si tratta di un DiscussionForumPosting. Condivide molte delle stesse proprietà delle nostre linee guida per DiscussionForumPosting.

Required properties

author

Person or OrganizationInformation about the author of the comment. To help Google best understand authors across various features, we recommend following the author markup best practices.Include as many properties that make sense for the author, using the supported properties from article and profile page structured data as a guide.

datePublished

DateTimeThe date and time the comment was made in ISO 8601 format. If no changes have happened, it’s not necessary to duplicate the publish date.

text

TextThe main text of the comment. Ideally, this field matches the text that’s present on the page in the comment.
Recommended properties

author.url

URLA link to a web page that uniquely identifies the author of the comment, most likely a profile page of the forum. We recommend marking up that page using profile page structured data.
comment CommentAnother comment about or in response to the comment, if applicable. Mark up the comments in the order in which they appear on the page.
creativeWorkStatus TextIf the comment has been deleted but remains for context or threading, set this property to Deleted.
dateModified DateTimeThe date and time the comment was last edited in ISO 8601 format, if applicable.
image ImageObject or URLAny inline images within the comment, if applicable. If there aren’t any images, don’t include default, icon, or placeholder images in this field.
interactionStatistic InteractionCounterUser statistics applied to the comment, if applicable.

Google supports the following interactionTypes:

sharedContent

CreativeWorkThe primary shared content in the comment. The most common way this can be used is to share WebPages (with URLs) as a topical discussion, but images or videos can also be used with this property particularly if they are the primary content of the comment.Here’s an example of how to add that there’s a link shared in the comment:

  ...
  "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" }
  ...

url

URLThe URL to this specific comment on the page. Don’t include this property if it’s just the URL of the original post.
video VideoObjectAny inline videos within the comment, if applicable.

Contatore di Interazioni

Il tipo InteractionCounter permette di associare un conteggio a un certo tipo di interazione. Questo può essere utilizzato sia sulle proprietà di contenuto (DiscussionForumPosting e Commento) che sulle proprietà dell’autore.

Required properties

userInteractionCount

IntegerThe number of times this interaction was performed.

interactionType

Subtype of ActionFor a list of valid Action subtypes for this property, check the property that’s using InteractionCounter (for example, interactionStatistic).

Monitora i risultati ricchi con Search Console

Search Console è uno strumento che ti aiuta a monitorare come le tue pagine si comportano in Google Search. Non è necessario iscriversi a Search Console per essere inclusi nei risultati di ricerca di Google, ma può aiutarti a capire e migliorare come Google vede il tuo sito. Ti consigliamo di controllare Search Console nei seguenti casi:

  • Dopo aver implementato i dati strutturati per la prima volta
  • Dopo aver rilasciato nuovi modelli o aggiornato il tuo codice
  • Analizzando periodicamente il traffico

Dopo aver implementato i dati strutturati per la prima volta

Dopo che Google ha indicizzato le tue pagine, cerca eventuali problemi utilizzando il rapporto di stato dei risultati ricchi pertinente. Idealmente, ci sarà un aumento degli elementi validi e nessun aumento degli elementi non validi. Se trovi problemi nei tuoi dati strutturati:

  • Correggi gli elementi non validi.
  • Ispeziona un URL live per verificare se il problema persiste.
  • Richiedi una validazione utilizzando il rapporto di stato.

Dopo aver rilasciato nuovi modelli o aggiornato il tuo codice

Quando apporti modifiche significative al tuo sito web, monitora l’aumento degli elementi non validi nei dati strutturati.

Se noti un aumento degli elementi non validi, potrebbe essere che hai implementato un nuovo modello che non funziona, o che il tuo sito interagisce con il modello esistente in modo nuovo e negativo.
Se noti una diminuzione degli elementi validi (non accompagnata da un aumento degli elementi non validi), potrebbe essere che non stai più incorporando dati strutturati nelle tue pagine. Usa lo strumento URL Inspection per capire cosa sta causando il problema.
Attenzione: Non utilizzare link memorizzati nella cache per eseguire il debug delle tue pagine. Invece, utilizza lo strumento URL Inspection perché ha la versione più aggiornata delle tue pagine.

Analisi periodica del traffico

Analizza il tuo traffico di ricerca Google utilizzando il Performance Report. I dati mostreranno con quale frequenza la tua pagina appare come un risultato ricco nella ricerca, quante volte gli utenti cliccano su di essa e qual è la posizione media a cui appare nei risultati di ricerca. Puoi anche estrarre automaticamente questi risultati con l’API Search Console.

Risoluzione dei problemi

Se hai problemi nell’implementazione o nel debug dei dati strutturati, ecco alcune risorse che potrebbero aiutarti.

  • Se stai utilizzando un sistema di gestione dei contenuti (CMS) o qualcun altro si occupa del tuo sito, chiedi loro aiuto. Assicurati di inoltrare loro qualsiasi messaggio di Search Console che dettagli il problema.
  • Google non garantisce che le funzionalità che consumano dati strutturati appariranno nei risultati di ricerca. Per un elenco di motivi comuni per cui Google potrebbe non mostrare il tuo contenuto in un risultato ricco, consulta le linee guida generali sui dati strutturati.
  • Potresti avere un errore nei tuoi dati strutturati. Controlla la lista degli errori dei dati strutturati.
  • Se hai ricevuto un’azione manuale sui dati strutturati contro la tua pagina, i dati strutturati sulla pagina verranno ignorati (anche se la pagina può comunque apparire nei risultati di ricerca di Google). Per risolvere i problemi di dati strutturati, utilizza il rapporto sulle azioni manuali.
  • Rivedi nuovamente le linee guida per identificare se il tuo contenuto non è conforme alle linee guida. Il problema può essere causato da contenuti di spam o dall’uso di markup di spam. Tuttavia, il problema potrebbe non essere un problema di sintassi e quindi il Rich Results Test non sarà in grado di identificare questi problemi.
  • Risolvi i problemi di risultati ricchi mancanti / calo dei risultati ricchi totali.
  • Consenti tempo per il re-crawling e la reindicizzazione. Ricorda che potrebbero volerci diversi giorni dopo la pubblicazione di una pagina affinché Google la trovi e la scansiona. Per domande generali sul crawling e sull’indicizzazione, consulta la FAQ sul crawling e sull’indicizzazione di Google Search.
  • Pubblica una domanda nel forum di Google Search Central.