Dados estruturados de fórum de discussão (DiscussionForumPosting
)
A marcação de fórum de discussão foi projetada para qualquer site no estilo de fórum em que as pessoas compartilhem perspectivas em primeira mão. Quando os sites de fóruns adicionam essa marcação, a Pesquisa Google pode identificar melhor as discussões on-line na Web e usar essa marcação em recursos como Discussões e fóruns.
Como usar o DiscussionForumPosting
em um fórum
Em geral, recomendamos aninhar comentários na postagem a que eles se referem. Se o fórum tiver uma estrutura de sequência própria, use uma árvore de comentários para representar a 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 a natureza for mais linear, por exemplo, uma postagem original seguida por uma série de respostas, aninhe todas elas na postagem original como comentários. O ideal é que as páginas posteriores de conteúdo em fóruns de várias páginas incluam a postagem original com o 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 o URL for principalmente sobre uma única postagem, 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 têm uma lista de postagens (por exemplo, em uma página de perfil, tópico ou categoria), é comum que elas não tenham todas as informações presentes na mesma página e exijam que o usuário clique para acessar mais informações (como respostas). Você decide se quer incluir apenas as informações que estão presentes na página e incluir o URL da postagem específica à discussão.
Não marque uma postagem como entidade principal se ela não for uma página de discussão da postagem. Para mostrar que as páginas são um conjunto de postagens relacionadas, pode ser útil anexar todas elas
a um
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 dela. Caso você não saiba muito sobre o assunto, veja como os dados estruturados funcionam.
Esta é uma visão geral de como criar, testar e lançar dados estruturados.
- Adicione as propriedades obrigatórias. Com base no formato que você está usando, saiba onde inserir dados estruturados na página.
- Siga as diretrizes.
- Valide o código com o Teste de pesquisa aprimorada e corrija os erros críticos. Corrija também os problemas não críticos que possam ser sinalizados na ferramenta, porque eles podem melhorar a qualidade dos dados estruturados, mas isso não é necessário para se qualificar para pesquisas aprimoradas.
- Implante algumas páginas que incluam os dados estruturados e use a Ferramenta de inspeção de URL para testar como o Google vê a página. Verifique se a página está
acessível ao Google e se não está bloqueada por um arquivo robots.txt, pela tag
noindex
ou por requisitos de login. Se estiver tudo certo, peça ao Google para rastrear novamente seus URLs. - Para informar o Google sobre mudanças futuras, recomendamos que você envie um sitemap. É possível automatizar isso com a API Search Console Sitemap.
Exemplos
O exemplo de marcação a seguir mostra uma página de fórum linear e sem formato de conversa:
<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": "2024-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": "2024-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": "2024-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": "2024-03-01T09:50:25+02:00", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/LikeAction", "userInteractionCount": 7 } }] } </script> </head> <body> </body> </html>
<html> <body> <div id="main-post" itemtype="https://schema.org/DiscussionForumPosting" itemscope> <meta itemprop="mainEntityOfPage" content="https://example.com/post/very-popular-thread" /> <meta itemprop="url" content="https://example.com/post/very-popular-thread" /> <div class="author-block" itemprop="author" itemtype="https://schema.org/Person" itemscope> <div><a href="https://example.com/user/katie-pope" itemprop="url"><span itemprop="name">Katie Pope</span></a></div> <div itemprop="agentInteractionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">8</span> <span itemprop="interactionType" content="https://schema.org/WriteAction">posts</span> </div> </div> <div itemprop="datePublished" content="2024-03-01T08:34:34+02:00">March 1</div> <div itemprop="headline">I went to the concert!</div> <div> <div itemprop="video" itemtype="https://schema.org/VideoObject" itemscope> <meta itemprop="name" content="Video of concert" /> <meta itemprop="contentUrl" content="https://example.com/media/super-cool-concert.mp4" /> <meta itemprop="uploadDate" content="2024-03-01T06:34:34+02:00" /> <meta itemprop="thumbnailUrl" content="https://example.com/media/super-cool-concert-snap.jpg" /> </div> <span itemprop="text">Look at how cool this concert was!</span> </div> <div itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">27</span> <span itemprop="interactionType" content="https://schema.org/LikeAction">likes</span> </div> <div id="comment-1" itemprop="comment" itemtype="https://schema.org/Comment" itemscope> <div class="author-block" itemprop="author" itemtype="https://schema.org/Person" itemscope> <div><a href="https://example.com/user/saul-douglas" itemprop="url"><span itemprop="name">Saul Douglas</span></a></div> <div itemprop="agentInteractionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">167</span> <span itemprop="interactionType" content="https://schema.org/WriteAction">posts</span> </div> </div> <div itemprop="datePublished" content="2024-03-01T09:46:02+02:00">March 1</div> <div> <span itemprop="text">Who's the person you're with?</span> </div> </div> <div id="comment-2" itemprop="comment" itemtype="https://schema.org/Comment" itemscope> <div class="author-block" itemprop="author" itemtype="https://schema.org/Person" itemscope> <div><a href="https://example.com/user/katie-pope" itemprop="url"><span itemprop="name">Katie Pope</span></a></div> <div itemprop="agentInteractionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">8</span> <span itemprop="interactionType" content="https://schema.org/WriteAction">posts</span> </div> </div> <div itemprop="datePublished" content="2024-03-01T09:50:25+02:00">March 1</div> <div> <span itemprop="text">That's my mom, isn't she cool?</span> </div> <div itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope> <span itemprop="userInteractionCount">7</span> <span itemprop="interactionType" content="https://schema.org/LikeAction">likes</span> </div> </div> </div> </body> </html>
Diretrizes
Siga estas diretrizes para que os dados estruturados do fórum de discussão se qualifiquem para uso na Pesquisa Google:
- Diretrizes gerais de dados estruturados
- Fundamentos da Pesquisa
- Diretrizes de conteúdo
- Diretrizes técnicas
Diretrizes de conteúdo
- Use a marcação
DiscussionForumPosting
somente para descrever uma postagem gerada pelo usuário em um site. Não use essa marcação para conteúdo de autoria principal dos publishers do site ou da agência. - Caso seu site seja mais como uma plataforma de rede social genérica, use
SocialMediaPosting
, que é o tipo pai deDiscussionForumPosting
, com os mesmos requisitos. - Encorajamos marcações válidas de outros tipos (
Article
,ImageObject
,VideoObject
) que podem usar marcações muito semelhantes com comentários, informações do autor e estatísticas de interação, mas elas não devem usarDiscussionForumPosting
. Veja alguns exemplos::
- Uma página de fórum da comunidade em que os usuários podem conversar sobre um determinado jogo
- Plataforma de fóruns genérica que hospeda uma ampla variedade de conteúdo de subfórum
- Uma plataforma de rede social em que os usuários podem postar e responder a comentários ou mídias
:
- Um artigo ou blog escrito diretamente por um agente para o site (mesmo com comentários)
- Avaliações de usuários sobre um produto
- Na 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 composta principalmente de perguntas com respostas,
recomendamos usar a marcação de perguntas e respostas. Caso estrutura seja mais geral e não costuma ter conteúdo de perguntas e respostas,
DiscussionForumPosting
é uma opção melhor. - Confira se cada
DiscussionForumPosting
inclui todo o texto da postagem e se cadaComment
inclui todo o texto da resposta, se ela for encontrada nessa página.
Diretrizes técnicas
- Diferentemente da nossa preferência geral de dados estruturados, recomendamos que você forneça a
marcação
DiscussionForumPosting
em microdados (ou RDFa), se possível. Isso evita que você precise duplicar blocos de texto grandes dentro da marcação. No entanto, isso é apenas uma recomendação, e JSON-LD ainda é totalmente compatível.
Definições de tipos de dados estruturados
Esta seção descreve os tipos de dados estruturados relacionados a DiscussionForumPosting
.
É necessário incluir as propriedades obrigatórias para que o conteúdo seja qualificado para uso na Pesquisa Google. 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 do usuário.
DiscussionForumPosting
(ou SocialMediaPosting
)
O tipo DiscussionForumPosting
define uma postagem original que é o tema da
discussão. Embora esse tipo seja geralmente composto de texto, é possível ter uma postagem no fórum
que consiste apenas em conteúdo de mídia.
Propriedades obrigatórias | |
---|---|
|
Person ou
Organization
Informações sobre o autor da postagem. Para ajudar o Google a entender melhor a autoria dos vários recursos, recomendamos seguir as práticas recomendadas de marcação de autores. Inclua o máximo de propriedades coerentes do autor, usando as propriedades compatíveis dos dados estruturados do artigo e da página de perfil como guia. |
|
Text
O nome do autor da postagem. |
|
A data e a hora em que a postagem foi feita, no formato ISO 8601. |
text , image ou video |
Para representar o conteúdo da postagem, inclua uma das seguintes propriedades: Isso não é necessário se você estiver representando uma postagem em outra página (com um |
Propriedades recomendadas | |
---|---|
|
É um link para uma página da Web que identifica exclusivamente o autor da postagem, provavelmente uma página de perfil do fórum. Recomendamos marcar essa página usando dados estruturados da página de perfil. |
comment |
Um comentário ou resposta à postagem, se aplicável. Marque os comentários na ordem em que eles aparecem na página. |
creativeWorkStatus |
Quando a postagem tiver sido excluída, mas permanecer para contexto ou sequência da conversa, defina essa propriedade como
|
dateModified |
É a data e a hora em que a postagem foi editada no formato ISO 8601, se aplicável. Se não houve mudanças, não é necessário duplicar a data de publicação. |
|
Text
O título da postagem. Se não houver um título separado, não duplique nem trunque o
texto em um título. Isso não é recomendado para |
image |
Imagens in-line na postagem, se aplicável. Se não houver imagens, não inclua imagens padrão, de ícone ou de marcador de posição neste campo. |
interactionStatistic |
Estatísticas do usuário aplicadas à postagem principal, se aplicável. O Google aceita os seguintes
|
isPartOf |
A origem principal da postagem, se ela ocorrer em uma parte específica do site geral, se aplicável.
Por exemplo, um subfórum ou grupo no site mais abrangente. Se um |
|
CreativeWork
O conteúdo compartilhado principal na postagem, se aplicável. A maneira mais comum de usar isso é compartilhar Confira um exemplo de como adicionar um link compartilhado na postagem: ... "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" } ... |
text |
Textos na postagem, se aplicável. Isso é muito comum, mas em alguns casos pode ser deixado de fora se houver outras mídias na postagem. |
|
URL
É o URL canônico da discussão. Em conversas de várias páginas, defina essa propriedade como o URL da primeira página. Para uma única discussão, isso normalmente é o URL atual. |
video |
Vídeos in-line na postagem, se aplicável |
Comment
O tipo Comment
define um comentário em um CreativeWork
original. Nesse caso, é um DiscussionForumPosting
. Ele tem muitas das mesmas propriedades que
nossas diretrizes de DiscussionForumPosting
.
Propriedades obrigatórias | |
---|---|
|
Person ou
Organization
Informações sobre o autor do comentário. Para ajudar o Google a entender melhor a autoria dos vários recursos, recomendamos seguir as práticas recomendadas de marcação de autores. Inclua o máximo de propriedades coerentes do autor, usando as propriedades compatíveis dos dados estruturados do artigo e da página de perfil como guia. |
|
A data e a hora em que o comentário foi feito, no formato ISO 8601. Se não houve mudanças, não é necessário duplicar a data de publicação. |
text , image ou video |
Para representar o conteúdo do comentário, inclua uma das seguintes propriedades: |
Propriedades recomendadas | |
---|---|
|
É um link para uma página da Web que identifica exclusivamente o autor do comentário, provavelmente uma página de perfil do fórum. Recomendamos marcar essa página usando dados estruturados da página de perfil. |
comment |
Outro comentário sobre ou em resposta ao comentário, se aplicável. Marque os comentários na ordem em que aparecem na página. |
creativeWorkStatus |
Se o comentário foi excluído, mas permanece para contexto ou sequência da conversa, defina essa propriedade como |
dateModified |
É a data e a hora em que o comentário foi editado pela última vez no formato ISO 8601, se aplicável. |
image |
Imagens in-line no comentário, se aplicável. Se não houver imagens, não inclua imagens padrão, de ícone ou de marcador de posição neste campo. |
interactionStatistic |
Estatísticas do usuário aplicadas ao comentário, se aplicável. O Google aceita os seguintes
|
|
CreativeWork
O conteúdo compartilhado principal no comentário, se aplicável. A maneira mais comum de usar isso é compartilhar Confira um exemplo de como adicionar um link compartilhado no comentário: ... "sharedContent": { "@type": "WebPage", url: "https://example.com/external-url" } ... |
|
URL
O URL do comentário específico na página, se aplicável. Não inclua essa propriedade se ela for apenas o URL da postagem original. |
video |
Vídeos in-line no comentário, se aplicável. |
InteractionCounter
O InteractionCounter
permite que uma contagem seja associada a um determinado tipo de interação. Isso pode ser usado nas propriedades de conteúdo (DiscussionForumPosting
e Comment
) e nas propriedades author
.
Propriedades obrigatórias | |
---|---|
|
Integer
É o número de vezes que esta interação foi realizada. |
|
Subtipo de Para conferir uma lista de subtipos de |
Monitorar pesquisas aprimoradas com o Search Console
O Search Console é uma ferramenta que ajuda você a monitorar o desempenho das suas páginas na Pesquisa Google. Não é preciso se inscrever na plataforma para ser incluído nos resultados da Pesquisa Google, mas isso pode ajudar você a entender e melhorar como vemos seu site. Recomendamos verificar o Search Console nos seguintes casos:
- Depois de implantar os dados estruturados pela primeira vez
- Depois de lançar novos modelos ou atualizar o código
- Análise periódica do tráfego
Depois de implantar os dados estruturados pela primeira vez
Depois que o Google indexar as páginas, procure problemas com o relatório de status da pesquisa aprimorada relevante. Em condições ideais, vai haver um aumento de itens válidos e nenhum aumento de itens inválidos. Se você encontrar problemas nos dados estruturados, faça o seguinte:
- Corrija os itens inválidos.
- Inspecione um URL ativo para verificar se o problema persiste.
- Solicite a validação com o relatório de status.
Depois de lançar novos modelos ou atualizar o código
Ao fazer mudanças significativas no site, monitore aumentos nos itens inválidos de dados estruturados.- Caso você perceba um aumento nos itens inválidos, talvez tenha lançado um novo modelo que não funcione ou o site esteja interagindo com o modelo existente de uma maneira nova e incorreta.
- Caso você veja uma diminuição nos itens válidos (não correspondidos por um aumento nos itens inválidos), talvez não esteja mais incorporando os dados estruturados às páginas. Use a Ferramenta de inspeção de URL para saber o que está causando o problema.
Análise periódica do tráfego
Analise o tráfego da Pesquisa Google com o Relatório de desempenho. Os dados vão mostrar com que frequência sua página aparece como aprimorada na Pesquisa, com que frequência os usuários clicam nela e qual é a posição média dela nos resultados. Também é possível extrair automaticamente esses resultados com a API Search Console.Solução de problemas
Se você tiver problemas para implementar ou depurar dados estruturados, veja alguns recursos que podem ajudar.
- Se você usa um sistema de gerenciamento de conteúdo (CMS) ou se alguém está cuidando do seu site, peça ajuda para o prestador de serviço. Não se esqueça de encaminhar todas as mensagens do Search Console com os detalhes do problema.
- O Google não garante que os recursos que consomem dados estruturados vão ser exibidos nos resultados da pesquisa. Para ver uma lista de motivos comuns por que o Google pode não exibir seu conteúdo na pesquisa aprimorada, consulte as diretrizes gerais de dados estruturados.
- Pode haver um erro nos dados estruturados. Confira a lista de erros de dados estruturados e o Relatório de dados estruturados que não podem ser analisados.
- Se você recebeu uma ação manual de dados estruturados relacionada à sua página, esses dados serão ignorados, embora a página ainda possa aparecer nos resultados da Pesquisa Google. Para corrigir problemas de dados estruturados, use o Relatório de ações manuais.
- Consulte as diretrizes novamente para identificar se o conteúdo não está em conformidade com elas. O problema pode ser causado por conteúdo com spam ou uso de marcação com spam. No entanto, talvez o problema não seja de sintaxe e, por isso, o teste de pesquisa aprimorada não poderá identificá-lo.
- Resolva problemas relacionados à ausência e à queda no total de pesquisas aprimoradas.
- Aguarde algum tempo antes de voltar a rastrear e reindexar. Pode levar vários dias depois da publicação de uma página para que o Google a localize e rastreie. Para perguntas gerais sobre rastreamento e indexação, consulte as Perguntas frequentes sobre rastreamento e indexação da Pesquisa Google.
- Poste uma pergunta no fórum da Central da Pesquisa Google