Fork me on GitHub

Rapport de message :*
 

Du bon usage de l'url canonical

Titre du sujet : Du bon usage de l'url canonical
par babouille sur 21/04/2010 15:24:04

Bon, pour commencer, je ne suis plus souvent sur Xoops France ces derniers mois, d’une part à cause de la crise et surtout que je privilégie un peu plus ma vie de famille par rapport à Internet. Et vous le savez sûrement, Internet du coté des Administrateurs de sites, on a vite fait de se faire vampiriser son temps libre.

Pour en revenir au titre de ce topic, je me suis tâté à le mettre en info, mais bon ici cela permet d’avoir des retours et d’autres idées.

Alors, qui d’entre vous se sert vraiment de ce que propose Google, Yahoo et Live Search, à savoir l’url canonical ? Peu de Xoopsiens sans doute.

L’url canonical sert en quelque sorte à dire à Google, Yahoo et Live Search que la page visitée n’est pas la page initiale et qu’elle ne doit pas être prise en compte et permet donc de résoudre les problèmes de contenus dupliqués (à l'intérieur de votre site).

Elle se présente sous cette forme :
<link rel="canonical" href="url initiale" />



Pour comprendre ce qu’est du contenu dupliqué sur vos sites, un petit exemple :
-/modules/news/article.php?com_mode=flat&com_order=0&storyid=4000
 
-/modules/news/article.php?com_mode=flat&com_order=1&storyid=4000
 
-/modules/news/article.php?storyid=4000


Les 2 premiers affichent la news 4000 (il s’agit du module news) avec le title et la description qui va avec alors que le troisième est la « vrai » URL. C’est du duplicate content et de ce fait cela peut conduire à la mauvaise prise en compte de la page, voire à la non prise en compte


C’est là que l’url canonical entre en fonction. Il suffira de dire que pour les deux premiers l’url canonical est la troisième, et le tour est joué. Donc pour les deux premiers, il y aura entre les balises <head>
<link rel="canonical" href="http://www.votrendd/modules/news/article.php?storyid=4000" />


Et sa mise en place est toute simple.
D’abord modifier le fichier thème.html et ajouter entre les balises <head> ce code :
<!-- URL Canonical -->
<{if 
$duplicatecontent != ""}>
<
link rel="canonical" href="<{$duplicatecontent}>" />
<{/if}>


Si la variable duplicatecontent existe alors cela s’affiche, sinon rien.

Ensuite pour vous donner un exemple sur le module news, voici ce qu’il faut ajouter à la fin du fichier article.php avant « include_once XOOPS_ROOT_PATH.'/footer.php'; »

//code pour le duplicate content des pages
$origine $_SERVER["REQUEST_URI"]; 
//echo "$origine <br/>";
$urldefinitive "/modules/news/article.php?storyid=".$storyid."";
//echo "$urldefinitive";
if ($origine != $urldefinitive){
//si il y a duplicate
$duplicatecontent "".XOOPS_URL."/modules/news/article.php?storyid=".$storyid."";
$xoopsTpl->assign('duplicatecontent'$duplicatecontent);
}


Les $echo servent pour le test. Ici on compare les deux url, celle qui est à l’origine de la news et celle qui est affichée, et si il y a une différence (par exemple dans le cas d’un tri des commentaires), alors on envoi via xoopsTpl la bonne url.

Le code peut être adapté pour tous les modules de xoops ayant les commentaires, pour les modules téléchargements et liens, j’ai préféré faire un 302, bien utile quand cela change souvent de version dans le titre.

Bien sur cela ne fera pas remonter vos pages du jour au lendemain (à surveiller dans GWT Diagnostic => Suggestions HTML) ni ne vous fera passer devant les « concurrent » mais cela permettra surtout une bonne prise en compte de la page initiale.

Pour le reste, un bon titre, une bonne description, des balises <H1><H2><h3>… misent à bon escient, du contenu, encore du contenu, un linking propre vous permettrons de monter dans les SERP de Google, Yahoo et Live Search .

Dans l’attente de vos retour
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

24 Personne(s) en ligne (12 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 24 | Plus ...