404 et SEO
Lorsque l’on cherche à optimiser son site pour obtenir un meilleur référencement sur les moteurs de recherche, on tombe très vite dans le monde souterrain du SEO (Search Engine Optimization).
Il y a dans cet univers beaucoup de bon sens et quelques trucs à savoir, ainsi que certains concepts flirtant avec le sacré, comme le célèbre PageRank de Google.
D’une manière générale, il faut comprendre de quelle manière les robots utilisés par les référenceurs voient votre site, c’est à dire en texte uniquement. Vous pouvez en avoir un bon aperçu en utilisant un navigateur texte comme lynx.
Tout ce qui peut permettre d’aider le travail de ces robots est un avantage pour vous. Utiliser du code html validé par le w3c et des feuilles de style valides ne changera pas votre pagerank mais donnera une meilleure visibilité de la structure de votre site aux robots que si vous le formatiez en utilisant des tableaux ou des div partout.
La sémantique du code html permet aux robots de distinguer le type de contenu, et de les utiliser de manière pertinente.
Par exemple, le tag <h1> doit contenir des titres de premier niveau, le tag <h2> des titres secondaires, le tag <p> des paragraphes de texte, et ainsi de suite.
Le plus important est évidemment la balise <title> de vos pages, qui doit contenir autant que possible les mots-clefs les plus importants.
La spécificité des robots par rapport aux utilisateurs ne s’arrête pas là.
En même temps que le contenu des pages, des codes d’erreurs sont émis. Ces codes sont rarement visibles pour l’utilisateur, à part le fameux 404 (page indisponible), mais ils sont importants.
Pour référence, voici une liste des codes d’erreur que les serveurs web sont susceptibles de retourner.
Imaginons que vous ayez un contenu dynamique… Certaines pages peuvent disparaitre de votre site, bien que des liens externes pointent encore dessus.
Typiquement, nous voulons rediriger l’utilisateur vers une page proche de sa requête, plutôt que de le confronter à une page d’erreur qui risque de le bloquer. Mais nous voulons aussi prévenir les moteurs de recherche que ce lien est obsolète et qu’il faut le supprimer. Dites vous bien que lorsqu’un robot tombe trop souvent sur un 404 il n’apprécie guère et cela peut avoir des conséquences sur votre référencement !
Comment résout-on cela, me direz vous ? Tout simplement, en émettant le code d’erreur approprié, tout en affichant un contenu pour l’utilisateur !
Le code 404 est le plus connu, mais cette erreur indique juste que la page n’a pas pu être jointe, pour quelque erreur que ce soit. Pour une page volontairement désactivée, nous lui préférerons l’erreur 410 qui indique que la page n’est plus disponible de manière délibérée et non suite à un problème technique.
A vous de choisir quel code d’erreur vous semble le plus à même de refléter le statut de la page…
Pour générer le code d’erreur, il va falloir modifier le ‘header’ de la page. Sous php, il s’agit d’utiliser la commande suivante :
header('HTTP/1.0 410 Gone');
Notez que le header est la toute première chose qui est émise lorsque la page est envoyée. Il doit donc être situé tout au tout début du document, avant même la déclaration du type de document (DTD).
Pas très pratique lorsque la gestion du contenu est structurée de manière à dissocier les éléments fixes de la page (comme le logo ou le menu) du contenu réel. En effet, si le script affiche le haut de la page avant de traiter la requête relative au contenu et de s’apercevoir qu’il n’existe pas, il est trop tard pour modifier le header !
Un moyen simple de contourner ce problème est d’augmenter la taille du buffer php.
Dans php.ini, modifier la ligne output_buffering :
output_buffering = 65535
Cette valeur est une valeur limite, mais généralement suffisante (si vos pages ne pèsent pas un poids déraisonnable!)
Vous pouvez désormais retourner n’importe quel type d’erreur quand vous le souhaitez, sans perturber la visite de vos utilisateurs.

mardi 7 juillet 2009 à 02:35
Hello, can you please post some more information on this topic? I would like to read more.
lundi 8 février 2010 à 15:17
Title…
Merci pour cette article intéressant…