Alien Road Company

Google SEO Update 2023 December 14

  • 14 de dezembro: Atualizada a documentação da página do Fórum de Discussão e da página de Perguntas e Respostas para esclarecer explicitamente que URLs de autores são recomendadas.

Dados estruturados do fórum de discussão (DiscussionForumPosting)

An illustration of the discussions and forums feature

O markup do fórum de discussão é projetado para qualquer site em estilo de fórum onde as pessoas compartilham coletivamente perspectivas de primeira mão. Quando os sites de fórum adicionam esse markup, o Google Search pode identificar melhor as discussões online na web e utilizar esse markup em recursos como Discussões, Fóruns e Perspectivas.

Seu fórum segue um padrão de perguntas e respostas? Use o markup Q&A em vez disso.

Como usar DiscussionForumPosting dentro de um fórum

De modo geral, recomendamos aninhar os comentários sob o post ao qual eles se relacionam. Se o fórum tiver sua própria estrutura de tópicos, use uma árvore de comentários para representar essa estrutura:

{
  "@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 for mais linear por natureza (por exemplo, um post original seguido por uma série de respostas), aninhe todos eles sob o post original como comentários. Idealmente, as páginas posteriores de conteúdo em fóruns multipágina devem incluir o post original com a URL da página principal:

{
  // 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 a URL se refere principalmente a um único post, use mainEntity (ou mainEntityOfPage) para identificar o DiscussionForumPosting principal.

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

Para páginas da web que possuem uma lista de posts

(por exemplo, em uma página de perfil, tópico ou categoria), é comum que não tenham todas as informações presentes na mesma página e que exijam que o usuário clique para obter informações adicionais (como respostas). A decisão de incluir apenas as informações que estão presentes na página (e incluir a URL do post específico da discussão) fica a seu critério.

Não marque um post na página como uma entidade principal se não for uma página de discussão para esse post. Para mostrar que as páginas são um conjunto relacionado de posts, pode ser útil anexá-las todas a uma Collection ou ItemList.

Como adicionar dados estruturados

Os dados estruturados são um formato padronizado para fornecer informações sobre uma página e classificar o conteúdo da página. Se você é novo em dados estruturados, pode aprender mais sobre como os dados estruturados funcionam.

Aqui está uma visão geral de como construir, testar e lançar dados estruturados. Para um guia passo a passo sobre como adicionar dados estruturados a uma página da web, confira o codelab de dados estruturados.

  • Adicione as propriedades obrigatórias. Com base no formato que você está usando, aprenda onde inserir os dados estruturados na página.
  • Usando um CMS? Pode ser mais fácil usar um plugin integrado ao seu CMS.
  • Usando JavaScript? Aprenda como gerar dados estruturados com JavaScript.
  • Siga as diretrizes.
  • Valide seu código usando o Rich Results Test e corrija quaisquer erros críticos. Considere também corrigir quaisquer problemas não críticos que possam ser sinalizados na ferramenta, pois eles podem ajudar a melhorar a qualidade dos seus dados estruturados (no entanto, isso não é necessário para ser elegível a resultados ricos).
  • Implante algumas páginas que incluam seus dados estruturados e use a ferramenta URL Inspection para testar como o Google vê a página. Certifique-se de que sua página é acessível ao Google e não está bloqueada por um arquivo robots.txt, uma tag noindex ou requisitos de login. Se a página parecer boa, você pode pedir ao Google para recrawl seus URLs.

Nota: Dê tempo para o re-crawling e re-indexing. Lembre-se de que pode levar vários dias após a publicação de uma página para que o Google a encontre e a rastreie.
Para manter o Google informado sobre futuras mudanças, recomendamos que você envie um sitemap. Você pode automatizar isso com a API Sitemap do Search Console.

Exemplos

O seguinte exemplo de markup mostra uma página de fórum linear não encadeada:

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

Diretrizes

Para que os dados estruturados do seu fórum de discussão sejam elegíveis para uso no Google Search, você deve seguir estas diretrizes:

Diretrizes gerais para dados estruturados

  • Essenciais para pesquisa
  • Diretrizes de conteúdo
  • Diretrizes técnicas

Diretrizes de conteúdo

  • Use apenas a marcação DiscussionForumPosting para descrever uma postagem gerada pelo usuário em um fórum do site. Não use esta marcação para conteúdo que seja principalmente escrito pelos editores do site ou seus agentes.
  • Embora incentivemos a marcação válida de outros tipos (Artigo, Publicação em Mídia Social, Objeto de Vídeo) que podem usar uma marcação muito semelhante com comentários, informações do autor e estatísticas de interação, esses não devem usar a marcação DiscussionForumPosting. Aqui estão alguns exemplos:

Casos de uso válidos:

  • Uma página de fórum comunitário onde os usuários podem falar sobre um determinado jogo
  • Uma plataforma de fórum genérica que hospeda uma ampla variedade de conteúdo de subfóruns

Casos de uso inválidos:

  • Um artigo ou blog escrito diretamente por um agente para o site (mesmo com comentários)
  • Avaliações de usuários sobre um produto

Observe que, para a maioria dos casos de uso do Google, uma página de perguntas e respostas é considerada um caso especial de uma página de fórum de discussão. Se a estrutura do site do fórum for principalmente composta por perguntas e respostas, recomendamos que você use a marcação Q&A em vez disso. Se a estrutura for mais geral e normalmente não incluir conteúdo de perguntas e respostas, DiscussionForumPosting seria uma escolha melhor.
Certifique-se de que cada DiscussionForumPosting inclua todo o texto da postagem e que cada Comment inclua todo o texto da resposta, caso esteja presente na página.

Diretrizes técnicas

Diferente de nossa preferência geral para dados estruturados, recomendamos fornecer a marcação DiscussionForumPosting em Microdata (ou RDFa), se possível. Isso evita a necessidade de duplicar grandes blocos de texto dentro da marcação. No entanto, isso é apenas uma recomendação, e o JSON-LD ainda é totalmente suportado.

Definições de tipos de dados estruturados

Esta seção descreve os tipos de dados estruturados relacionados ao DiscussionForumPosting.

Você deve incluir as propriedades necessárias para que seu conteúdo seja elegível para uso no Google Search. Você também pode incluir as propriedades recomendadas para adicionar mais informações sobre suas páginas de fórum de discussão, o que pode proporcionar uma melhor experiência ao usuário.

DiscussionForumPosting

O tipo DiscussionForumPosting define uma postagem original que é o tópico de discussão. Embora esse tipo seja geralmente composto por texto, é possível ter uma postagem de fórum que consiste apenas em conteúdo de mídia.

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.

Comentário

O tipo Comment define um comentário sobre uma obra criativa original. Neste caso, trata-se de um DiscussionForumPosting. Ele compartilha muitas das mesmas propriedades que nossas diretrizes para 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.

Contador de Interações

O tipo InteractionCounter permite que uma contagem seja associada a um certo tipo de interação. Isso pode ser usado tanto nas propriedades de conteúdo (como DiscussionForumPosting e Comment) quanto nas propriedades do autor.

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

Monitore os resultados ricos com o Search Console

O Search Console é uma ferramenta que ajuda você a monitorar como suas páginas estão se saindo no Google Search. Você não precisa se inscrever no Search Console para ser incluído nos resultados de pesquisa do Google, mas ele pode ajudar você a entender e melhorar como o Google vê seu site. Recomendamos verificar o Search Console nos seguintes casos:

  • Após implantar dados estruturados pela primeira vez
  • Após lançar novos templates ou atualizar seu código
  • Analisando o tráfego periodicamente

Após implantar dados estruturados pela primeira vez

Após o Google ter indexado suas páginas, procure por problemas usando o relatório de status de resultados ricos pertinente. Idealmente, deve haver um aumento nos itens válidos e nenhuma aumento nos itens inválidos. Se você encontrar problemas em seus dados estruturados:

  • Corrija os itens inválidos.
  • Inspecione uma URL ao vivo para verificar se o problema persiste.
  • Solicite validação usando o relatório de status.

Após lançar novos templates ou atualizar seu código

Quando você faz alterações significativas em seu site, monitore o aumento de itens inválidos nos dados estruturados.

Se você observar um aumento nos itens inválidos, pode ser que você tenha implantado um novo template que não funciona, ou seu site interage com o template existente de uma maneira nova e negativa.
Se você observar uma diminuição nos itens válidos (não acompanhada por um aumento nos itens inválidos), pode ser que você não esteja mais incorporando dados estruturados em suas páginas. Use a ferramenta URL Inspection para entender o que está causando o problema.
Aviso: Não use links em cache para depurar suas páginas. Em vez disso, use a ferramenta URL Inspection porque ela possui a versão mais atualizada das suas páginas.

Analisando o tráfego periodicamente

Analise o tráfego do Google Search usando o Performance Report. Os dados mostrarão com que frequência sua página aparece como um resultado rico na pesquisa, quantas vezes os usuários clicam nela e qual é a posição média em que você aparece nos resultados de pesquisa. Você também pode extrair esses resultados automaticamente com a API do Search Console.

Solução de problemas

Se você estiver tendo problemas para implementar ou depurar dados estruturados, aqui estão alguns recursos que podem ajudar:

  • Se você estiver usando um sistema de gerenciamento de conteúdo (CMS) ou outra pessoa estiver cuidando do seu site, peça ajuda a ela. Certifique-se de encaminhar qualquer mensagem do Search Console que detalhe o problema.
  • O Google não garante que recursos que consomem dados estruturados aparecerão nos resultados de pesquisa. Para uma lista de razões comuns pelas quais o Google pode não mostrar seu conteúdo em um resultado rico, consulte as Diretrizes Gerais de Dados Estruturados.
  • Você pode ter um erro em seus dados estruturados. Verifique a lista de erros de dados estruturados.
  • Se você recebeu uma ação manual de dados estruturados contra sua página, os dados estruturados na página serão ignorados (embora a página ainda possa aparecer nos resultados de pesquisa do Google). Para corrigir problemas de dados estruturados, use o relatório de Ações Manuais.
  • Revise as diretrizes novamente para identificar se seu conteúdo não está em conformidade com as diretrizes. O problema pode ser causado por conteúdo de spam ou uso de marcação de spam. No entanto, o problema pode não ser um problema de sintaxe, e, portanto, o Rich Results Test não será capaz de identificar esses problemas.
  • Resolva problemas de resultados ricos ausentes / queda no total de resultados ricos.
  • Dê tempo para o re-crawling e a reindexação. Lembre-se de que pode levar vários dias após a publicação de uma página para o Google encontrá-la e rastreá-la. Para perguntas gerais sobre rastreamento e indexação, consulte a FAQ de rastreamento e indexação do Google Search.
  • Poste uma pergunta no fórum do Google Search Central.