Os microdados podem ser implementados em metatags?

12

Por favor, considere o seguinte código marcado com atributos para fornecer microdados:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Normal version</title>
    </head>
    <body>
        <div itemscope itemtype="http://schema.org/Product">
            <h1 itemprop="name">Product name</h1>
            <img alt="" itemprop="image" src="http://placehold.it/200x200" />
            <div itemprop="description">This is the product description.</div>
            <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
                <meta content="in_stock" itemprop="availability" />
                <span content="GBP" itemprop="priceCurrency">£</span><span itemprop="price">100.00</span>
            </div>
        </div>
    </body>
</html>

O uso da Ferramenta de teste de dados estruturados do Google fornece resultados positivos.

Isso é bom no exemplo de teste, no entanto, queremos implementar microdados em uma variedade de sites cuja estrutura HTML varia muito. Para implementar os atributos dessa maneira, será necessário que alguém edite manualmente a marcação HTML em cada um dos sites individualmente.

De preferência, gostaríamos de poder chamar uma única função que empacota todos os microdados em um único local; tecnicamente, isso é possível usando metatags da seguinte maneira:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Meta tag version</title>
    </head>
    <body>
        <meta itemscope itemtype="http://schema.org/Product" itemref="microName microImage microDescription microOffer" />
        <meta id="microName" itemprop="name" content="Product name" />
        <link id="microImage" itemprop="image" href="http://placehold.it/200x200" />
        <meta id="microDescription" itemprop="description" content="This is the product description." />
        <meta id="microOffer" itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="microCurrency microPrice microAvail" />
        <meta id="microAvail" itemprop="availability" content="in_stock" />
        <meta id="microCurrency" itemprop="priceCurrency" content="GBP" />
        <meta id="microPrice" itemprop="price" content="100.00" />
        <div>
            <h1>Product name</h1>
            <img alt="" src="http://placehold.it/200x200" />
            <div>This is the product description.</div>
            <div>£100.00</div>
        </div>
    </body>
</html>

O uso da Ferramenta de teste de dados estruturados do Google fornece os mesmos resultados positivos do primeiro teste.

Para referência (nunca faríamos isso em um site real), a Ferramenta de teste de dados estruturados do Google retornará um erro se você tentar passar microdados ocultos por CSS.

Portanto, a marcação normal e a meta tag produzem os mesmos resultados, no entanto, tenho algumas preocupações devido às seguintes declarações do Google e Schema.org:

https://support.google.com/webmasters/answer/146750 declara:

Em geral, o Google usará apenas dados marcados que são visíveis para o usuário. Dados ocultos serão ignorados. No entanto, em algumas circunstâncias, pode ser útil fornecer uma versão legível por máquina e legível por humanos do seu conteúdo. Por exemplo, embora a sequência de texto "o aniversário de Elvis" seja significativa para muitos leitores humanos, não é tão significativa para os mecanismos de pesquisa quanto o 08-08-1935. Da mesma forma, os leitores humanos podem inferir o significado do símbolo $, mas pode ser útil informar especificamente aos mecanismos de pesquisa se seus preços estão em pesos ou dólares.

http://schema.org/docs/gs.html estados (em relação ao uso de metatags):

Essa técnica deve ser usada com moderação. Use apenas meta com conteúdo para informações que não podem ser marcadas.

http://schema.org/docs/faq.html#13 declara:

Como regra geral, você deve marcar apenas o conteúdo visível para as pessoas que visitam a página da Web e não o conteúdo em divs ocultos ou outros elementos da página oculta.

Minhas perguntas são:

  1. Embora nenhum erro seja retornado, seríamos penalizados pelos mecanismos de pesquisa pelo uso de metatags dessa maneira (por exemplo, conteúdo duplicado, ocultação de informações etc.)?
  2. Se isso não for adequado, você pode sugerir alguma maneira de separar os microdados dos dados reais ou teremos que concordar e implementar isso em HTML, caso a caso?
Stephen Ostermiller
fonte
2
Esse tipo de coisa representa um ato de equilíbrio bastante complicado para o Google. Mesmo se não houver nenhum problema hoje, o Google poderá alterar facilmente sua política. O Google ganha dinheiro com um mecanismo de pesquisa que leva seus usuários ao conteúdo mais adequado melhor do que seus concorrentes. O conteúdo oculto, por qualquer meio, pode prejudicar isso; portanto, sempre será mais seguro marcar o conteúdo visível.
@Alohci Sim, é disso que tenho medo e não há como saber até que seja tarde demais! Obrigado pelos comentários, acho que podemos ter que morder a bala deste e fazê-lo da maneira normal.

Respostas:

6

Seu plano de usar metadados para microdados não é viável. Aqui está o FAQ do Google sobre por que ele não está mostrando seus dados nos resultados da pesquisa :

Seu conteúdo marcado está oculto para os usuários?

Em geral, o Google não exibirá nenhum conteúdo em rich snippets que não seja visível para o usuário humano. Não esconda o conteúdo que você marcou para rich snippets usando técnicas como display:none, value-titleou css. O Google ignorará o conteúdo que não é visível para usuários humanos; portanto, marque o texto que os visitantes verão nas suas páginas da web.

A única maneira de fazer o Google usar os microdados que você fornece é marcá-los onde estão na página, visíveis para o usuário.

No momento, o Google não penaliza por tentar abusar de rich snippets, além de apenas desativar rich snippets para esse site. Não me surpreenderia se o Google começasse a excluir sites dos resultados da pesquisa completamente quando o Google tentasse usar microdados de uma maneira que não estivesse em conformidade com as diretrizes.

Desde que seus metadados que você está marcando também estejam visíveis em algum lugar da página, é improvável que o Google penalize seu site como malicioso. No entanto, suas ferramentas automáticas detectam quando você está marcando os dados em um local não visível e eles não os mostram nos resultados da pesquisa.

Stephen Ostermiller
fonte
Obrigado pela resposta. Você levanta alguns pontos interessantes; parece um pouco inútil implementar microdados em metatags se os dados não forem usados!
4

Usar elementos meta(e link) para Microdata é bom. Às vezes, não há sequer uma alternativa sensata a ele, por exemplo, se códigos específicos precisarem ser fornecidos, onde não faria sentido mostrá-los aos seus usuários.

O Google ainda usa metaem alguns de seus exemplos de Rich Snippets:

  • Produtos e aplicativos de software :

    <meta itemprop="priceCurrency" content="USD" />
  • Comentários :

    <meta itemprop="datePublished" content="2006-05-04">
    <meta itemprop="bestRating" content="10"/>
    <meta itemprop="worstRating" content="1"/>
  • Vídeos :

    <meta itemprop="uploadDate" content="2015-02-05T08:00:00+08:00"/>
    <meta itemprop="duration" content="PT1M33S" />
    <meta itemprop="interactionCount" content="2347" />
  • Artigos :

    <meta itemprop="datePublished" content="2015-02-05T08:00:00+08:00"/>

Portanto, a pergunta é: quanto é demais (se houver um limite)? E acho que é seguro supor que não há limite rígido , provavelmente depende de vários fatores adicionais.

No entanto, faria sentido para o Google não descartar a marcação Microdata se apenas meta/ linkfor usado. Por quê? Como eles também suportam (e às vezes até recomendam ) JSON-LD para fornecer dados do Schema.org, e isso consiste apenas em conteúdo "oculto" (ou seja, um scriptelemento oculto usado como bloco de dados ).

E isso seria o que eu sugeriria no seu caso: Se você não deseja adicionar os dados estruturados marcando seus elementos existentes, use JSON-LD .

unor
fonte
Obrigado pelas sugestões. Vou dar uma olhada no JSON-LD.
1

Não posso comentar se isso funcionaria para todas as situações, mas usamos o Schema.org da maneira que você descreve - como meta "conteúdo" nas páginas dos produtos. Por quê? É muito mais portátil e não destrói temas. Ele também permite um controle mais granular na formatação dos dados e obtém dados relevantes logo após <body>(muito acima da dobra). As plataformas baseadas em gancho (ou mesmo baseadas em F&R como o vQmod) vêm à mente: não há como F&R fluidamente todas as diretivas na estrutura sem codificar tudo à vista.

Não notamos nenhuma penalidade, o Google ainda usa os dados, ainda os coloca nos widgets SERP. Ainda temos a maioria dos dados da página em algum lugar, mas, na maior parte da marcação, ele está em um único meta contêiner hierárquico, usando content=""como exemplo de exemplo, apenas sua organização embrulhada como "fazendo uma oferta". Agora não leve isso muito longe - é melhor deixar coisas estruturais como loop de revisões, trilhas de navegação, descrição principal ou especificações deste meta container. Tente codificá-los à vista.

A maioria das pessoas dirá "não use content=""metas", mas, novamente, a maioria nunca tentou. O mesmo vale para coisas como marcação rica em listas de produtos em categorias ... sim, também infringimos essa regra :) Lembre-se de que o Google não é o único peixe no lago RDF. O que G diz não é "fazer ou quebrar" nessa circunstância de usar formatos de dados de emissão padrão de uma maneira perfeitamente aceitável para o resto da lagoa. Talvez até porque o próprio G mude de idéia no futuro. Ele quer dados acima / acima de tudo, mas faz com que você codifique os dados abaixo / abaixo, enquanto os meta-atributos os colocam na frente e no centro, em linguagem acessível por máquina.

dhaupin
fonte
Nota do flagelo, OpenGraph (OG) e mais funcionam de maneira semelhante: como metas com conteúdo no <head>or <body>. O Pinterest gosta dos dados primeiro do Schema. Os cartões do Twitter funcionam de maneira semelhante. E não tenha medo de usar o vocabulário de dados para migalhas de pão e partes do loop de revisões, é válido.
dhaupin
Obrigado pela resposta, é interessante saber que o método de meta tag foi implementado com sucesso sem nenhuma penalidade óbvia.