Les micro-données sont installées en natif dans Joomla depuis la version 3.4.1. Pratique, mais cette configuration peut être risquée sur un plan SEO strict.

Édité le

Microdonnées Joomla 3

Les microdata sont en en natif dans Joomla, pratique mais…

Microdonnées Joomla 3

Le CMS en avance sur les micro-données

Joomla a implémenté les micro-données dans les fichiers des composants lors de la version 3.3.0 publiée en avril 2014.
Lorsque cela s’est produit, je me suis dis que vraiment, j’utilisais un super CMS, ce que je pense toujours !, mais je reste en attente quant à cette nouvelle fonctionnalité, concernant la question cruciale du référencement naturel.

Comparativement, ces micro-données en natif, ça n’est toujours pas le cas pour les CMS Drupal et WordPress, sauf en ajoutant des plugins. Prestashop pour sa part les a intégré lors de sa version 1.6.09.

Contrairement à Prestashop, Joomla peut tout faire, même du e-commerce. Dès lors, l’intégration des micro-données en natif devient plus aléatoire et complexe, et cela est d’autant plus ambitieux que les types de déclarations proposés par Schema.org sont innombrables, voire déroutants.

Rappel sur les micro-données

D’après Wikipédia, l’initiative est lancée conjointement par Bing, Google et Yahoo! le 2 juin 2011. Yandex rejoint également le projet le 1er novembre 2011.

Au lieu d’avoir :

<h1>Hôtel de la plage</h1>

Vous aurez par exemple :

<body itemtype= »http://schema.org/Hotel » itemscope= » »>
<h1 itemprop= »name »>Hôtel de la plage</h1>

On se sert d’attributs « itemscope » qui sont parents d’attributs « itemprop », placés dans n’importe quelle balise HTML.

Cela devrait booster votre référencement et votre taux de clic, car vos informations d’entreprise sont encapsulées dans un balisage sémantique HTML5 avancé, super fluide et compréhensible pour les robots des moteurs de recherche qui vont visiter et indexer vos contenus.

Voir toutes les activités qu’il est possible de déclarer sur https://schema.org/docs/full.html

Dans les meilleurs des cas, grâce à ces micro-données, vous aurez droit à des « rich snippets », Google est précurseur en la matière. C’est à dire qu’au lieu d’avoir dans les SERP (les pages de résultats « naturels » de Google, qui listent dix encarts par page) vos simples balises Title et Meta description ainsi que votre URL affichée, vous aurez en plus par exemple : trois URL profondes cliquables d’événements en temps réel (balisage Event), votre photo de bloggeur dans le snippet de votre article (mais Google a récemment supprimé cette forme d’authorship).
Pour des produits : le prix, les étoiles de notation… seraient censés s’afficher (ce que l’on voit dans les encarts Adwords payants).
Tout cela reste en gestation, et soulève des enjeux stratégiques et commerciaux.

Il faut enfin se dire que les micro-données, ça n’est pas de tout repos, la syntaxe change régulièrement, et si vous les installez, et que vous ne les vérifiez pas régulièrement, vous risquez un jour d’être dans le rouge avec votre Webmaster Tools.

L’outil indispensable pour tester et valider ses micro-données : https://developers.google.com/structured-data/testing-tool/

Joomla 3, des micro-données de bloggeur

Joomla reste fidèle à sa vocation première : c’est un CMS d’édition d’articles en blog, un outil fantastique pour créer une communauté de rédacteurs, un journal en ligne : on hérite donc d’un balisage orienté : blog, blogposting, article, person.

Webmaster Joomla des débuts de la 1.5, j’ai eu certes le plaisir de créer des journaux en ligne, mais 80% de mes demandes clients viennent du monde des entreprises, aucun intérêt de créer un site balisé microdata pour les bloggeurs… La plupart des sites créés avec Joomla sont, j’imagine, des sites d’entreprises, d’artistes, d’hôtels, organisations… il faudrait donc utiliser les types de balisage adéquats : corporation, localbusiness, hotel, creative work, organisation…

Cela pose un problème car si on utilise Joomla en l’état, on créé des sites d’entreprises « bloggeuses ». C’est déjà bien, une entreprise se doit d’avoir un blog d’actus sur son site, mais pas ce balisage sur toutes les pages quand même, notamment celles qui présentent des produits et des services.

Je me demande comment les webmasters du Joomla 3 d’aujourd’hui, qui sont plus orientés PHP, CSS ou JS et pas trop SEO, appréhendent ces micro-données parfois embarrassantes. Ne pas s’en préoccuper relèverait presque du domaine du « contre-référencement » en terme de SEO strict.
HTML étant un langage de balisage sémantique, alors balisons.

Désactiver les microdonnées dans Joomla 3

On attend le bouton ON/OFF avec impatience…

Pour la petite histoire, j’ai commencé à intégrer les micro-données dans Joomla 3 (et 2.5) avant qu’elles ne soient implémentées en natif. Non pas à la racine en hackant les fichiers default.php de com_content, mais via le fichier index.php de mon template (dans le Body pour commencer), et avec un CCK en deçà du Body.
Dur dur, jusqu’à Joomla 3.4 je n’ai délibérément pas mis à jour la sécurité de mon propre site pour ne pas casser tout mon travail, car je me serais retrouvé avec et mon propre codage, et en surcouche le nouveau balisage de micro-données de type blog de Joomla 3. Avec la 3.4 de février dernier, j’ai fini par faire la mise à jour, et mis les mains dans le cambouis… puisqu’il n’y a toujours pas le fameux bouton qui permet de désactiver ces micro-données.

En surfant sur Google, on tombe sur des articles qui l’évoquent pourtant.
Nosyweb, d’après Alexandru Pruteanu, annonce la possibilité de désactiver les micro-donnés via le menu Système / Configuration, onglet Paramètres SEO. Il y aurait bientôt là un bouton « Enable microdata » : yes/no. Chouette ! cela permettrait d’implémenter ses microdata tranquillement dans son template, sans devoir au préalable supprimer celles, natives et « hardcoded », de Joomla 3.
Mais ça va plus loin et plus génial encore, car il y aurait page par page, un choix « Microdata type », on reverra ça en fin d’article.

Pour info complémentaire, il est évidement possible d’intégrer les micro-données dans Joomla via l’éditeur, dans l’article même (l’éditeur JCE a même un plugin microdata qui a l’air très riche). Mais est-ce une bonne solution? car les micro-données devraient être implémentées non pas qu’au niveau du corpus de l’article, mais en amont et aval, dans les modules de header et footer, afin de baliser les informations permanentes qui s’y trouvent.
Sachant que par principe les textes balisés en micro-données ne doivent pas être cachés, autant que possible, dans des balises META, c’est dans l’en-tête et le pied de page d’un site que l’on peut extraire pour balisage les informations clés d’une entreprise : le nom (itemprop= »name »), l’URL (itemprop= »url »), le logo (itemprop= »image »), le téléphone (itemprop= »telephone »), PostalAddress…
Le corpus de l’article devrait plus servir à makesOffer, articleBody…

En l’état donc, pas moyen de désactiver ces microdata autrement qu’en overridant com_content et com_contact.

Historique des micro-données dans Joomla

Soulignons tout d’abord le choix de données structurées fait par Joomla : les micro-données, microdata en anglais, et non pas RDFa ou Micro-Formats.
C’est le format recommandé par Google.

Et puis tout à commencé par un bug.
Lorsqu’en ce joli mois d’avril 2014, Joomla implémenta les micro-données, il est écrit dans la 3.3.0 :

<span itemprop= »articleBody »><?php echo $this->item->text; ?></span>

Le corps de l’article en question étant supposé recevoir des DIV, or les SPAN ne pouvant contenir des DIV, erreur W3 « Element div not allowed as child of element span in this context ». Le problème est réparé à la la 3.3.1, le SPAN devient DIV.

Depuis, pas grand chose de nouveau me semble t’il, on en reste à trois pages principales balisées en micro-données : article, blog et contact, le fil d’ariane (breadcrumb) ne l’est pas.

Syntaxe des micro-données dans Joomla 3

La liste des attributs itemprop n’est pas forcément exhaustive

Micro-données pour un article

Tout dépend évidement des informations détaillées de l’article que l’on active ou pas : catégorie, auteur, notation…

<div class= »item-page » itemtype= »http://schema.org/Article » itemscope= » »>
<meta content= »fr-FR » itemprop= »inLanguage »>
<h2 itemprop= »name »>Titre de la page</h2>

<dd class= »createdby » itemtype= »http://schema.org/Person » itemscope= » » itemprop= »author »>
<a itemprop= »url » href= »/contactez-nous »>
<span itemprop= »name »>Super User</span>

<span itemprop= »genre »>Titre de la catégorie</span>
<time itemprop= »datePublished » datetime= »2015-01-30T17:14:48+00:00″>
<meta content= »UserPageVisits:0″ itemprop= »interactionCount »>

<div class= »content_rating » itemtype= »http://schema.org/AggregateRating » itemscope= » » itemprop= »aggregateRating »>
<span itemprop= »ratingValue »>
<span itemprop= »bestRating »>
<meta content= »0″ itemprop= »ratingCount »>
<meta content= »0″ itemprop= »worstRating »>

<div itemprop= »articleBody »>

Micro-données pour une catégorie

<div class= »blog » itemtype= »http://schema.org/Blog » itemscope= » »>
<div class= »item column1″ itemtype= »http://schema.org/BlogPosting » itemscope= » » itemprop= »blogPost »>
<h2 itemprop= »name »>
<a itemprop= »url » href= »/ »>

et de nouveau Person, genre, date, pagevisits, aggregateRating…

Micro-données de la page de contact

<div class= »contact » itemscope itemtype= »http://schema.org/Person »>
<span class= »contact-name » itemprop= »name »>
<img src= »/images/logo.jpg » alt= »Image de contact » itemprop= »image » />
<dd itemprop= »jobTitle »>

<dl class= »contact-address dl-horizontal » itemprop= »address » itemscope itemtype= »http://schema.org/PostalAddress »>
<span class= »contact-street » itemprop= »streetAddress »>
<span class= »contact-suburb » itemprop= »addressLocality »>
<span class= »contact-state » itemprop= »addressRegion »>
<span class= »contact-postcode » itemprop= »postalCode »>

<span class= »contact-telephone » itemprop= »telephone »>
<span class= »contact-fax » itemprop= »faxNumber »>
<span class= »contact-mobile » itemprop= »telephone »>
<a href= »http://www.siteweb.com » target= »_blank » itemprop= »url »>
<span class= »contact-country » itemprop= »addressCountry »>

Joomla 3, CMS précurseur pour l’intégration des micro-données

Cette phase encore expérimentale est probablement nécessaire, les micro-donnés devraient être rapidement généralisées sur le web. Elles le sont déjà en rich snippet acquis depuis pas mal de temps sur certains secteurs (annonces, agenda…), et des produits commerciaux ainsi balisés dans un créneau concurrentiel peuvent être vite bien placés dans le carré d’or des résultats de recherche, parfois presque abusivement même.
Mais cette configuration imposée dans Joomla, sans bouton de désactivation, oblige tout de même le webmaster à se confronter à la question, du travail en perspective…

Joomla intègre donc les micro-donnés de type blog en natif pour le grand public. La syntaxe reste basique pour l’instant, mais à terme le projet semble vraiment prometteur, grâce à une future bibliothèque, « JMicrodata library » contenant une syntaxe propre à 558 types disponibles, pas mal !
Voir le projet sur https://docs.joomla.org/Microdata

Voilà pour ce retour d’expérience, et pour la curiosité de savoir comment tout cela va évoluer, je ne manquerai pas d’upgrader cet article.

Et comme le dit ma copine, faites des itemprop et pas des itemsales !