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:
- 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.)?
- 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?
Respostas:
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 :
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.
fonte
Usar elementos
meta
(elink
) 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
meta
em alguns de seus exemplos de Rich Snippets:Produtos e aplicativos de software :
Comentários :
Vídeos :
Artigos :
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
/link
for 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, umscript
elemento 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 .
fonte
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.fonte
<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.