web-dev-qa-db-fra.com

Un bon moyen d'utiliser RDFa dans un WordPress post

J'utilise le RDFa sur la chapelure, et voici le schéma de mon code dans un post:

<div class="path" vocab="http://rdfa.data-vocabulary.org/#">
    <span id="breadex">You are here: </span>

    <span typeof="v:Breadcrumb"><!--This is the home link-->
        <a title="Title" id="breadh" href="#" rel="v:url" property="v:title">Title</a>
    </span>

    <span typeof="v:Breadcrumb"><!--This is the category link-->
        <a title="Category" href="#" rel="v:url" property="v:title">Category</a>
    </span>

    <span typeof="v:Breadcrumb"><!--This is the subcategory link-->
        <a title="Subcategory" href="#" rel="v:url" property="v:title">Subcategory</a>
    </span>

    <span>This is the title of the post</span><!--This is the title of the post-->
</div>

Ce schéma fonctionne pour le moment, car je peux voir les catégories dans les résultats de la recherche Google. L'extrait de code indique le lien pour chaque catégorie, ce qui fait que Google comprend cette information.

Il est vraiment important de mentionner que c’est la façon dont je pourrais rendre HTML5 valide. Avant , j'ai utilisé xmlns à la place de vocab, mais xmlns est déconseillé dans HTML + RDFa 1.1. C'est la raison pour laquelle j'utilise RDFa de cette manière.

MAIS: Les outils pour les webmasters de Google me montrent une erreur. Maintenant, alors qu'avant, en utilisant xmlns, cela fonctionnait parfaitement sans erreur. C'est l'erreur que Google affiche pour chaque URL de publication:

Manquant: auteur

Manquant: entrée-titre

Manquant: mis à jour

Donc, sur un site Web où j'ai 26 articles, j'ai cette triple erreur 26 fois sur GWT, plus précisément dans la section "Données structurées". Lors de l'étape suivante, j'ai vérifié ces informations dans "l'outil de test des données structurées de Google": http://www.google.com/webmasters/tools/richsnippets

Et cela montre "Extrait de données structuré": hatom-feed, hatom-entry ... Tout va bien et à la fin, en rouge:

Erreur: champ obligatoire "entry-title" manquant.

Erreur: champ obligatoire manquant "mis à jour".

Erreur: hCard requise manquante "author".

Ensuite, il affiche le rdfa-node avec les informations correctes. J'utilise Open Graph, donc dans ce cas, il est tiré des balises méta Open Graph.

Tellement bien, mes questions sont:

Afin de corriger cette erreur, devrais-je ajouter plus de RDFa à chaque publication? Par exemple, je peux ajouter l'auteur sur lequel j'imprime l'auteur du message, comme ici:

29 décembre 2013 par admin dans la catégorie

Le champ "mis à jour" est-il la date de la publication?

Comment dois-je indiquer le "titre d'entrée"?

1
Gerard

Les trois erreurs (manquant entry-title/updated/author) ne concernent pas votre RDFa , mais les microformats .

Votre élément article a la classe hentry qui est utilisée par = Microformat supérieur . Ce microformat nécessite les classes entry-title, updated et author.

Vous utilisez également le type de lien tag (alias. rel-tag Microformat ), et comme ils sont les enfants de la hentry, Google SDTT interprète que ces balises appartiennent à la instance hEntry; SDTT de Google sous "hatom-feed → hatom-entry".

Si vous ne souhaitez pas utiliser le microformat hEntry, supprimez simplement la classe hentry.


Remarque secondaire concernant votre RDFa: vous spécifiez un vocab, mais vous utilisez toujours des préfixes pour les termes de vocabulaire. Ce n’est pas une erreur, mais la vocab sera ignorée dans votre cas. Comme expliqué dans ma réponse à votre autre question, vous avez trois options pour spécifier le vocabulaire:

Utiliser vocab:

<div vocab="http://rdfa.data-vocabulary.org/#">
    <span typeof="Breadcrumb"></span> <!-- without "v:", because you are using "vocab" (= default vocabulary URI) -->
</div>

Utiliser prefix:

<div prefix="v: http://rdfa.data-vocabulary.org/#">
    <span typeof="v:Breadcrumb"></span> <!-- with "v:", as defined in "prefix" -->
</div>

Ne rien utiliser (en s'appuyant sur contexte initial RDFa Core ):

<div>
    <span typeof="v:Breadcrumb"></span> <!-- with "v:", as defined by the W3C in the Initial Context -->
</div>
0
unor