Article mis à jour le 11/04/2015, publié initialement le 20/06/2011
Vous connaissez sûrement la balise meta robots qui permet par exemple d'interdire l'indexation (meta name=robots content=noindex). Pour interdire l'indexation de fichiers non HTML, vous pouvez paramétrer X-Robots-Tag dans l'entête HTTP.
De la même manière, il est possible de paramétrer une URL canonique dans le header HTTP (plutôt que d'utiliser la balise link rel=canonical href=url-canonique).
L'intérêt est de pouvoir configurer une URL canonique pour un fichier non HTML : PDF bien sûr mais pourquoi pas aussi des documents Word, Excel, Powerpoint, Flash ou images. Bref tout ce qui est indexable et qui peut donc créer des problèmes de duplicate content si c'est accessible à plusieurs URL différentes.
Pour le paramétrer, vous devez vous débrouiller pour renvoyer la bonne URL pour l'entête HTTP rel=canonical, comme dans cet exemple :
Link: <http://www.example.com/white-paper.html>; rel="canonical"
Si par exemple vous avez une version imprimable au format PDF, indexée, qui concurrence votre version HTML, vous pouvez indiquer l'URL de votre version HTML comme étant l'URL canonique du PDF.
Astuce : filetype:pdf permet de filtrer les résultats Google aux documents PDF.
Vous pouvez tester en regardant le contenu de l'entête HTTP avec un outil.
Pour plus d'infos voyez l'annonce de Pierre Far (Google).
Ok je vais essayer ça. Merci Olivier ;)
Petite question en passant.
J'ai 2 pages qui offrent le même contenu :
site.com/viewtopic.php?id=x
site.com/url-rewritee.html
J'ai défini comme URL canonique url-rewritee.html. Faut-il que je place dans le fichier robots.txt
disallow: /viewtopic.php
? Quid du jus de lien ?@Arnaud : La meilleure solution est de rediriger en 301 l'ancienne URL vers la nouvelle (c'est-à-dire viewtopic.php?id=x vers url-rewritee.html) et de ne rien rajouter dans le robots.txt
Merci pour la réponse. J'ai toute fois encore une question. Comment je peux placer la commande dans l'entête HTTP du pdf ?
Pour placer sur une page html c'est c'est simple: on l'ouvre avec le bloc-note et on place dans la balise canonique. Mais le .pdf n'est pas une page.
@Alex : pour chaque PDF concerné, il faut que le serveur renvoie une ligne de plus dans l'entête HTTP. Il faut donc se débrouiller pour que le serveur ajoute une ligne de plus de ce genre :
Link: <http://www.example.com/white-paper.html>; rel="canonical"
Bonjour,
Je voudrais savoir où il faut indiquer l'URL de ma version HTML comme étant l'URL canonique du PDF. Dans le header de la page HTML ou du .pdf ?
Si ta version officielle (canonique) est la version HTML, alors :
- dans la page HTML tu peux mettre la balise canonique (mais ce n'est pas obligatoire si c'est cette URL qui est la canonique).
- dans l'entête HTTP renvoyé pour le PDF, il doit y avoir l'entête HTTP d'URL canonique
Est-ce que cela peut remplacer avantageusement une redirection 302 (provisoire donc) et permettre un certain temps a 2 contenus identiques de cohabiter?
Non je ne pense pas. Tant que Google ne voit pas l'URL canonique (car son robot ne vient pas crawler la page), il y a 2 contenus donc potentiellement du contenu dupliqué. Ensuite il n'y a plus qu'une seule URL conservée par Google.
Merci pour cette astuce, je ne connaissais pas et c'est vrai que c'est carrément utile pour les docs.