web-dev-qa-db-fra.com

Erreurs Rich Snippet / Structured Data Testing Tool

J'essaie de créer des extraits enrichis pour mes articles de blog et, après avoir écrit mes articles et ajouté des images, je complète toutes les données du plug-in Rich Snippet. Ensuite, je fais du balisage via les outils pour les webmasters. (Donc, toutes les données sont là, Titre, Auteur, Image, etc.)

J'ai une question ici: Lorsque le marquage est terminé, j'exporte le code HTML et essaie de l'ajouter à la console "Texte", puis Je lance le code via l'outil de test de données structurées. Est-ce la bonne façon de procéder?

Les résultats de l'outil de test de données structurées génèrent toujours les mêmes erreurs:

  • datePublished - manquant et requis,
  • titre - manquant et obligatoire
  • Breadcrumb 3 (url - manquant et obligatoire)
  • image - manquant et obligatoire

J'ai tout essayé, j'ai changé quelques plugins Rich Snippet, même si je pense que ça peut être quelque chose dans le template.

Errors reported by the Google Structured Data testing Tool

Obtenez le code HTML brut ici

1
Angelique82

C'est en fait assez simple - l'erreur de fil d'Ariane est parce que vous avez marqué le dernier élément (courant) en tant que fil d'Ariane. Cependant, l'exigence est d'être liée aussi, comme les chapelures précédentes. Vous avez deux options:

1). Ajoutez également la propriété url au dernier élément. Ce sera un lien vers l'article lui-même, passera le validateur (recommandé): au lieu de

<span property="v:title">Here Is How To Get Rid Of A Hickey (No.13 Is A Lucky One)</span>

faites comme le reste:

<a href="http://www.myhealthybase.com/how-to-get-rid-of-a-hickey/" rel="v:url" property="v:title">Here Is How To Get Rid Of A Hickey (No.13 Is A Lucky One)</a>

2) Supprimez le balisage du dernier élément et laissez-le sous forme de texte simple.

Globalement, l'utilisation de WP plug-in, comme le Wordpress SEO by Yoast résoudra ce problème, il semble que l'erreur soit due au fait que le thème/plug-in actuel que vous utilisez n'est pas codé correctement.

Le problème de BlogPosting est également simple: il suffit d'ajouter un élémentprop à l'image elle-même (itemprop = "image"). L'image est requise pour les microdonnées BlogPosting.

Le troisième problème est une fausse alerte (ou vous l'avez déjà corrigée), testez à nouveau vos pages et vous la verrez disparaître.

1
ePetkov

Les erreurs

Regardons les messages d'erreur.

1. Article Mark up

Les informations de date et de titre sont manquantes. Le premier n'est pas balisé dans votre code, le dernier est mal placé.

2. Fil d'Ariane Marquer

Il manque à votre fil d'Ariane la dernière URL, qui est apparemment l'URL du message.

3. BlogPosting Mark up

La balise BlogPosting ne contient pas d'URL pour une vignette de publication.


Le chaos du code

Maintenant la partie la plus compliquée. Je ne peux pas comprendre d'où vient la majoration. Vous avez mentionné que vous avez

changé quelques plugins Rich Snippet

mais rien n'a fonctionné correctement.

Deux choses vont de pair ici: la manière dont fonctionne le plug-in et la manière dont fonctionne votre thème .

Pour faire court: je vous recommande d'utiliser JSON-LD au lieu de marquer en ligne.

Pourquoi?

Parce que cela facilite l'identification des problèmes de marquage et des tests.

Quelle est la différence?

Vous utilisez une annotation en ligne, ce qui est correct, mais présente certaines limites si le code de votre page devient de plus en plus complexe en fonction du thème que vous utilisez. Le balisage d'article fonctionne comme ceci:

<div itemscope itemtype="http://schema.org/Article">
  <span itemprop="name">How to Tie a Reef Knot</span>
  by <span itemprop="author">John Doe</span>
  This article has been tweeted 1203 times and contains 78 user comments.
  <meta itemprop="interactionCount" content="UserTweets:1203"/>
  <meta itemprop="interactionCount" content="UserComments:78"/>
</div>

Comme vous le voyez, toutes les données concernant l'élément Article doivent être placées dans le <div> contenant la spécification itemtype. Si quelque chose est placé en dehors de cette div les données sont littéralement perdues. Ce qui se passe dans votre cas, c'est que certaines informations sont mal placées et ne peuvent pas être connectées au droit itemtype, car les éléments contenant les informations sont perdus quelque part dans le code. Ils sont difficiles à trouver et encore plus difficiles à réparer.

L'utilisation de JSON-LD crée un morceau de code supplémentaire dans votre document HTML, qui ressemble par exemple à ceci:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Article",
  "author": "John Doe",
  "interactionCount": [
    "UserTweets:1203",
    "UserComments:78"
  ],
  "name": "How to Tie a Reef Knot"
}
</script>

Ce type d’extrait de code peut être placé n’importe où, mais il est très probablement placé à la fin ou au sommet du code html.

Comme vous pouvez le voir au même endroit, il est plus facile de l’identifier et de le réparer s’il manque quelque chose.

Si le codage vous convient, vous pouvez utiliser des données JSON-LD dans Wordpress ici: implémentation de JSON-LD dans Wordpress sur builtvisible.com

Si vous préférez qu'un plug-in fasse le travail pour vous, cherchez quelque chose comme ceci: JSON-LD pour Article PlugIn

  1. essayez de désactiver votre plug-in RichSnippet et assurez-vous qu'aucune donnée schema.org, fournie par votre thème, ne risque d'interférer avec les données JSON-LD.
  2. Ensuite, installez le plug-in JSON-LD et configurez-le comme vous le souhaitez.
  3. Testez le code et soyez heureux. :)

Si vous aimez utiliser votre plug-in, vous pouvez chercher de l'aide sur la page du plug-in ou dans section Wordpress de Stackexchange

Désolé qu'il n'y ait pas de solution simple "clique dessus, tout fonctionne bien", mais j'espère que cela t'aidera.

0
Seb