Rel=canonical générique en PHP
Depuis le 15 décembre 2009, Google reconnaît la directive rel=canonical entre deux domaines différents pour résoudre les problèmes de contenu en double sur des domaines différents pour un même auteur. La balise canonical indique quelle est l'URL qui doit être indexée quand plusieurs URL aboutissant sur une même page ou un même contenu déplacé sur une nouvelle page.
Il est possible que ce changement qui résoud le problème d'une petite fraction des webmasters, en cause plus encore pour la majorité d'entre eux.
Car si Google est capable en général de savoir quand un site copie le contenu d'un autre site sans autorisation, il n'est pas pour autant infaillible.
Et au jeu du canonical, les utilisateurs de Wordpress par exemple, seront avantagé puisque la balise est incluse par défaut, tandis que les sites statiques ou utilisant d'autres CMS peuvent se trouver perdant.
Pour rétablir l'équilibre, il convient d'ajouter la balise dans toutes vos pages Web, et pour éviter un travail d'édition fastidieux, quelques lignes de PHP à ajouter dans votre modèle de page, peut le faire automatiquement...
Le problème du duplicate content
Le contenu dupliqué survient malencontreusement et non pas forcément délibéremment lorsqu'une page Web devient accessible aux robots des moteurs de recherche par deux URL différentes.
C'est le cas surtout avec les CMS qui peuvent accéder aux pages selon différentes options, comme le détaille l'article du blog de Google:
Accès par la page d'accueil:
http://www.scriptol.com/mypage.php?node=mykey
Accès par la page de catégorie:
http://www.scriptol.com/mypage.php?node=mykey&category=mycat
Accès avec un identifieur de session:
http://www.scriptol.com/mypage.php?node=mykey&sessionid=1234
Accès par un numéro:
http://www.scriptol.com/?1234
URL customisée pour le référencement:
http://www.scriptol.com/key1-key2-key3
Les inconvénients sont multiples. D'une part le PageRank provenant des backlinks sera réparti entre les différentes URLs, d'autre part le robot de Google devra choisir une URL unique pour son index, et ce n'est pas forcément celle que le webmaster voudrait mettre en avant!
Pour résoudre ce problème, Google, Yahoo et Live Search proposent une nouvelle meta tag à insérer dans la section HEAD de la page.
<link rel="canonical" href="http://www.scriptol.com/key1-key2-key3" />
Ce peut être le webmaster qui l'insérera, ou le CMS qui se chargera de générer automatiquement cette meta tag... dans une prochaine version.
Source Google Webmaster Central. La même annonce est faite sur le blog de Yahoo et celui de Microsoft.
La balise canonical
Elle se place dans la section <head> et à la forme <link rel="canonical" href="url de la page" />
Par exemple, le lien sur cette page est:
<link rel="canonical" href="http://www.scriptol.fr/scripts/canonical.php" />
Il peut être produit automatiquement en PHP avec ce code:
<link rel="canonical" href="http://www.scriptol.fr<?php echo $_SERVER['PHP_SELF']; ?>" />
En remplaçant http://www.scriptol.fr par le domaine de votre site.
Un code générique
Si votre serveur n'est pas configuré pour reconnaître la variable PHP_SELF, vous pouvez aussi essayer ce code, plus long:
<link rel="canonical" href="http://www.scriptol.fr <?php echo substr(__FILE__, strlen($_SERVER['DOCUMENT_ROOT'])); ?>" />
Ainsi le même code pourra être utilisé et placé automatiquement sur toutes vos pages.
En fait, il est possible de rendre le domaine générique aussi avec la variable $_SERVER['HTTP_HOST'], mais si on peut accéder au site avec ou sans www, cela doit être évité.
|
|
|
