BALISE CANONICAL dans Pluxml pour éviter le Duplicat Content

hamoudihamoudi Member
juillet 2011 modifié dans Entraide
Bonjour,

Dans un précédent post,
J'avais expliqué que l'activation de l'URl rewriting dans Pluxlm provoqué du Duplicat Content:

Google référencie 3 fois les articles avec Url rewritée:
monsite.com/article1/poussin-jaune
monsite.com/article1/
monsite.com/article1/poussin-jaune.html

Certains sont en train de réfléchir à ce problème qui produit du Duplicat Content (très mauvais pour le référencement d'un site).

Face à ce problème Google à informer les webmaster de sa prise en compte de la baliseCANONICAL dans le header de l'article:
<link rel=canonical href="monsite.com/article1/poussin-jaune.html">

Pour en savoir plus : http://blog.abondance.com/2011/06/duplicate-content-dust-et-balise.html

Qui sait comment installer cette Balise Canonical sur nos sites Pluxml?
Un super codeur lol qui rendrait Pluxml encore plus efficace...

Un début de piste:
Un code en php dans le header avec un request uri:
<link rel="canonical" href="http://<?php echo $_SERVER["HTTP_HOST"] ?><?php echo parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH); ?>” />
Y a t-il un magicien dans le coin?

Réponses

  • J'ai donc tenté de mettre le code suivant dans le Header.php
    <link rel="canonical" href="http://<?php echo $_SERVER["HTTP_HOST"] ?><?php echo parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH); ?>” />
    
    La balise Canonical semble fonctionner mais elle indique l'url de la page sur laquelle elle se trouve (rewritée ou pas).
    Il faudrait qu'elle indique sur toutes les pages seulement l'Url de la page rewritée...
    Il manque donc un petit bout de code....
  • StéphaneStéphane Member, Former PluXml Project Manager
    rel="canonical" ne s'utilise pas comme ça.
    Il faut mettre la balise link sur les pages non préférentielles comme expliqué ici
    http://www.google.com/support/webmasters/bin/answer.py?hl=fr&answer=139394

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Ha voila donc la raison que l'on ne puisse pas mettre le bouton google +1 , car il se met en erreur si il ya du duplicate content.
    La balise <link rel="canonical" href="http://www.blog-de-bankai.fr"; /> ne fonctionne pas sur mon pluXml par exemple.
  • hamoudihamoudi Member
    juillet 2011 modifié
    Stéphane a écrit:
    rel="canonical" ne s'utilise pas comme ça.
    Il faut mettre la balise link sur les pages non préférentielles comme expliqué ici
    http://www.google.com/support/webmasters/bin/answer.py?hl=fr&answer=139394
    Mince! Je pensais que la balise Canonical pouvait aussi apparaître sur la page d'origine!
    Je me suis donc trompé ce qui veut dire que cela se complique pour sa mise en place...

    Pourtant il faut vraiment trouver une solution car la manière dont est faîte l'Url rewriting sur PluXml pose vraiment problème pour le référencement car avec une url présentée comme ceci:
    monsite.com/article1/poussin-jaune
    Google pense que /article1/ est un répertoire et il va donc chercher la page monsite.com/article1/ qu'il référencie... Et cela est aussi vrai pour les pages statiques et les catégories...
    Donc c'est la catastrophe en ce qui concerne le référencement (Duplicat Content)

    Dans l'idéal il faudrait que l'Url rewritée soit sous cette forme:
    monsite.com-poussin-jaune-article-1
  • StéphaneStéphane Member, Former PluXml Project Manager
    hamoudi penses-tu que ce soit mieux une url du genre:

    http://monsite.com/poussin-jaune-article-1

    ou

    http://monsite.com/article-1-poussin-jaune

    (la 2ieme solution étant je pense plus simple à réaliser)

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • hamoudihamoudi Member
    juillet 2011 modifié
    Stéphane a écrit:
    hamoudi penses-tu que ce soit mieux une url du genre:

    http://monsite.com/poussin-jaune-article-1

    ou

    http://monsite.com/article-1-poussin-jaune

    (la 2ieme solution étant je pense plus simple à réaliser)
    Bonjour,

    Une url de ce genre http://monsite.com/article-1-poussin-jaune fera aussi bien l'affaire lol
    ou encore mieux
    http://monsite.com/article1-poussin-jaune

    Merci
  • StéphaneStéphane Member, Former PluXml Project Manager
    Très bien. Si cela reste facile à réaliser, il faudra juste garder ce qui existe déjà pour ne pas casser les référencements des sites existants

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Stéphane a écrit:
    Très bien. Si cela reste facile à réaliser, il faudra juste garder ce qui existe déjà pour ne pas casser les référencements des sites existants
    En fait, je viens de lancer mon site qui n'a pour l'instant que 3 articles... mais je n'ai pas voulu plus le develloper avec ce problème d'URL...
    Quand tu dis que cela est facile à faire penses-tu que cela peut être fait rapidement?

    Merci
  • StéphaneStéphane Member, Former PluXml Project Manager
    non tout simplement parce que nous venons juste de sortir la 5.1.1. Nous avons planifier une 5.1.2 pour bientôt uniquement pour corriger les bugs signaler sur le forum.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • hamoudihamoudi Member
    juillet 2011 modifié
    Stéphane a écrit:
    non tout simplement parce que nous venons juste de sortir la 5.1.1. Nous avons planifier une 5.1.2 pour bientôt uniquement pour corriger les bugs signaler sur le forum.
    Dommage...
    Dabns ces conditions je me demande si je vais poursuivre mon aventure avec PluXml... Vraiment dommage car je trouve que PluXml est très bien pensé et super performant (Bravo pour le boulot!!!).

    Existe-il des sites très bien référencés avec PluXml?
  • Bonsoir,

    Je viens un peu en retard sur ce sujet. Je suis également confronté à ce problème d'url multiples permettant d'accéder à une même page.

    Définir l'url canonique n'est que repousser le problème plus loin mais à défaut d'avoir une solution c'est elle que j'ai opté pour l'instant.

    Comme hamoudi, mon pluxml en état permet par exemple d'aller sur une page statique via toute cette infinité d'URLs:
    - monsite.com/static2/
    - monsite.com/static2/contact
    - monsite.com/static2/n-importe-quelle-chaine-de-caracteres-fait-l-affaire :(

    Le même problème pour les articles se pose:
    - monsite.com/article1/
    - monsite.com/article1/premier-article
    - monsite.com/article1/n-importe-quelle-chaine-de-caracteres-fait-l-affaire :((

    D'ailleurs, en mettant une page statique, on a également un nouveau cas de figure:
    - monsite.com
    - monsite.com/static1/
    - monsite.com/static1/accueil/
    - monsite.com/static1/n-importe-quelle-chaine-de-caracteres-fait-l-affaire :(((

    Bon voilà, ce que je propose pour la prochaine version officielle, comme hamoudi, c'est de générer une erreur 404 ou une redirection 301 (pour les anciens sites) vers l'url "officielle", l'url canonique.

    Idéalement, l'administrateur devrait pouvoir choisir la structure qu'il préfère, mais comme je sais que ce n'est pas forcément facile à réaliser, je pense que la structure la plus logique (à mon humble avis) serait:
    - ndd.tld/TYPE/ID-title.ext -> exemple concret: monsite.com/article/1-premier-article.html

    En attendant, je ne sais pas si cela intéresse des gens, je ne sais même pas si c'est bien optimisé ou pas (et apparemment je ne respecte pas à 100% la guideline de Google), voici ce que j'ai dans un fichier /themes/yuston/custom/rel_canonical.php
    <?php
    if($plxShow->mode()=='article'){ //Si article blog
    ?>
    <link rel="canonical" href="<?php $plxShow->artUrl(); ?>" />
    <?php
    }
    elseif($plxShow->mode()=='static' AND $plxShow->staticId()==1){ //Si page accueil (page statique dont id = 1)
    ?>
    <link rel="canonical" href="<?php $plxShow->racine(); ?>" />
    <?php
    }
    elseif($plxShow->mode()=='static' AND $plxShow->staticId()!=1){ //Si page statique
    ?>
    <link rel="canonical" href="<?php $plxShow->staticUrl(); ?>" />
    <?php
    }
    elseif($plxShow->mode()=='home'){ //Si page blog
    ?>
    <link rel="canonical" href="<?php $plxShow->racine(); ?>/blog.php" />
    <?php
    }
    ?>
    
    Je n'ai pas fait tous les cas encore (parce que je suis lent pour templater mon pluxml, je n'ai pas encore fait les archives etc. ^^) mais le reste ne doit pas être plus compliqué.

    A oui, dans header.php j'ai :
    <?php include(dirname(__FILE__).'/custom/rel_canonical.php'); ?>
    
    (j'aime bien ne pas trop surchargé mes fichiers thèmes).

    D'ailleurs si quelqu'un a une suggestion pour améliorer mon code, je suis ouvert à toutes propositions ;)

    Pour finir, y a un truc qui m'énerve beaucoup. Dans:
    <?php $plxShow->staticList('','<li><a href="#static_url" title="#static_name">#static_name</a></li>'); ?>
    
    Avec l'url rewriting activé, cette fonction me génère des urls http://www.monsite.com/static2/, sans le titre derrière... comment faire pour avoirhttp://www.monsite.com/static2/conctact ??

    Merci de m'avoir lu :)
  • Peut être cela ...
    <?php $plxShow->staticList('','<li><a href="#static_url/#static_name" title="#static_name">#static_name</a></li>'); ?>
    
  • ya un truc que je ne comprends pas,
    google connait seulement les liens que vous lui donnez ou il teste toutes les possibilités ??

    si on ne duplique pas les liens, on ne devrait pas avoir de duplicate content non ?

    sinon j'aime bien l'url du type http://www.mon-site.fr/mode/page
    ex: http://www.mon-site.fr/categorie/1-nom-de-la-cat
    je pense qu'on porte plus d'attention sur la fin de l'URL,
    d'où son nom plutôt que son id ... à confirmer
  • Bonjour Luke,
    #static_name ne convient pas puisqu'il peut être accentué, avec des caractères exotiques etc. De plus, le titre peut être différent de l'URL (si on prend soin de remplir soi-même le champ URL dans la création de l'article, page statique, etc.)

    Google n'est pas censé connaître les URL, il ne fait que suivre les URL qu'il trouve sur le net, mais le problème c'est qu'on n'est jamais à l'abri d'accident: un partenaire qui nous fait un lien avec une faute d'orthographe, un fan qui a mal recopié l'url avant de le coller sur son blog, une incohérence au sein de son propre site (justement, staticList qui propose un tel lien, et staticUrl un autre), etc.
  • StéphaneStéphane Member, Former PluXml Project Manager
    yuston a écrit:
    (justement, staticList qui propose un tel lien, et staticUrl un autre)
    Peux-tu stp me montrer un exemple ou les 2 types d'url sont différents

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    Stéphane a écrit:
    yuston a écrit:
    (justement, staticList qui propose un tel lien, et staticUrl un autre)
    Peux-tu stp me montrer un exemple ou les 2 types d'url sont différents
    Je confirme: il y a un bug sur le formatage des urls dans la fonction staticList depuis la 5.1.3 à cause d'une modification du code venant perturber le fonctionnement de cette fonction.

    On se retrouve donc avec des liens
    http://monsite.com/static2/
    
    au lieu de
    http://monsite.com/static2/statique-2
    
    Nous prenons en charge la résolution du problème.

    Merci d'avoir remonter le problème

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Merci Stéphane, j'avais constaté ce problème après update vers la 5.1.3, sans en connaître l'origine . :)
    Du coup, je suis resté à la 5.1.2 en attendant d'y voir plus clair. :/
  • en attendant, on peut éventuellement connaitre la modif à faire ?
  • Stéphane a écrit:
    rel="canonical" ne s'utilise pas comme ça.
    Il faut mettre la balise link sur les pages non préférentielles comme expliqué ici
    http://www.google.com/support/webmasters/bin/answer.py?hl=fr&answer=139394

    D'après ce que je comprends (je ne sais pas si la doc Google a changé), la balise doit se trouver sur toutes les pages (canonique ou non). Ce qui simplifie la chose.

    Le texte: «Balisez la page canonique et toutes les autres variantes avec un élément "link" rel="canonical".»
Connectez-vous ou Inscrivez-vous pour répondre.