WordPress est un CMS massivement utilisé, permettant aux novices comme aux confirmés de créer un blog.

Les microdata sont des arguments HTML5, utilisés afin d’offrir au texte une sémantique compréhensible par les moteurs de recherches. Pour plus d’informations à ce sujet, voir mon article des nouveautés HTML5.

Le soucis vient du fait que WordPress refuse ces nouveaux arguments, en les considérant comme une erreur de balisage HTML. Lors de l’enregistrement d’un article, il va alors modifier le texte HTML pour le corriger.

Il existe bien cette case que l’on peut cocher : “WordPress doit automatiquement corriger les balises XHTML non valides”. Cependant, WordPress continue quand même à corriger.

Modifier le kses.php

La solution est de modifier le fichier nommé kses.php, situé dans wp-includes.
La modification se fait de la sorte:
'p' => array(
'class' => true,
'align' => true,
'dir' => true,
'lang' => true,
'style' => true,
'xml:lang' => true,
),

en
'p' => array(
'class' => true,
'align' => true,
'dir' => true,
'lang' => true,
'style' => true,
'xml:lang' => true,
'itemscope' => true,
),

Il faut ajouter la ligne 'itemscope' => true, 'itemtype' => true,'itemid' => true,'itemref' => true, en dessous des balises de structure de type bloc : <div>, <aside>, <caption>, <nav>, <article> et <section>

Puis ajouter la ligne 'itemscope' => true, en dessous des balises de type inline : <a>, <p>, <span>, <img>, <abbr>, <cite>, <quote>….

On sauvegarde ensuite le fichier kses.php sur le serveur. Ainsi, WordPress ne modifiera plus les arguments HTML microdata.

Voila, bon dév’ à tous !