Googlebot et l’encodage des caractères

googlebot-encodage

Une fois de plus, je vais vous parler ici d’un cas concret qui s’est présenté à moi. Le déclassement d’un site qui est passé, en trois jours, de la première page des résultats sur une requête à la 11ème page.

Pénalité… ? Non, mieux encore : problème de lecture des caractères par Googlebot.

googlebot-encodage

Les faits

Récemment, j’ai été contacté par quelqu’un s’alarmant de voir son site tombé en 8ème page des résultats de Google sur sa requête principale. Son étonnement est d’autant plus grand que son site se positionne sur la première page des SERP’s depuis près de 8 ans. Et sans aucune mise à jour importante, du jour au lendemain, tout s’écroule.

Evidemment, ma première réaction a été de mettre ça sur le compte de l’optimisation du site. Peu de contenu textuel (et quand je dis peu, ça veut dire 3 lignes par page), de grandes images sans attribut « alt », un menu lui-même en image, un site ancien… Cela pouvait semblé évident. Seuls les titles étaient optimisés.

Pourtant, c’est étrange. Une chute aussi vertigineuse, après presque 8 ans à se positionner en première page pouvait signaler une pénalité. Mais, là encore, rien ne semblait l’indiquer. Enfin, pour couronner le tout, le site ne disposait ni de solution Analytics, ni de Webmaster Tool. Pratique, non ?

Une partie de cache-cache

Et puis une petite idée (qui aurait du m’arriver avant…mais bon). Je consulte l’instantané stocké dans la mémoire cache de Google. Et là, Ô surprise, je constate que la page d’accueil, qui se positionnait sur les requêtes, apparait avec des accents mal encodés. Mais évidemment, tout cela ne serait pas drôle si les mots-clés visés ne comportaient pas d’accent.

La chute dans le positionnement pouvait venir de là. Après plusieurs essais, car comme je l’ai dit plus haut aucune mise à jour du site ne pouvait justifier ce problème, nous avons réussi à rétablir l’encodage de la page. Et miracle, après deux ou trois jours d’attente, le site est remonté en haut de la deuxième page de résultats de ce cher Google.

Mais pourquoi, d’un coup, Googlebot aurait-il eu un problème avec l’encodage des caractères alors que le site n’a, à priori, pas bougé depuis au moins 4 ans ?

Ma théorie

Pour ma part, je pense que Googlebot à légèrement changé sa façon d’interpréter l’encodage d’une page. En effet, on pouvait constater un problème sur le site : la meta-description était encodée différemment du reste de la page d’accueil (certainement le résultat d’un copié-collé dans le back-office d’un logiciel de traitement de texte).

Je pense donc que Googlebot, en passant dans le code, découvre que l’encodage de la meta-description est différent de celui déclaré dans le charset. Du coup, il décide de passer toute la page avec l’encodage de la meta-description et il fait ainsi sauter les accents au moment du crawl. On a donc une page avec des caractères incompréhensibles à la place des accents, qui est crawlée puis indexée, et donc un contenu qui n’est pas conforme aux requêtes visées. Résultat…une chute vertigineuse dans les SERP’s !

A noter que cela n’est qu’une théorie car je manque cruellement d’éléments pour trouver la vraie raison de ce problème. Peut-être qu’un intervenant sur le site a modifié la meta-description il y a un ou deux mois et ne s’en rappelle plus ou ne le dis pas.

Comme dit Dr House : « Tout le monde ment » (sauf moi qui n’ai jamais touché à ce site avant la chute de positions).

Si vous avez des informations sur une possible modification de la lecture de l’encodage par Googlebot, n’hésitez pas à le signaler en commentaire.

Et toujours notre sondage sur vos habitudes de lecture des blogs.

Author: Yvan

12 thoughts on “Googlebot et l’encodage des caractères

  1. @Philippe : l’encodage déclaré dans le charset n’est qu’une déclaration « théorique » faite par le développeur. Rien n’empêche que tes caractères soient, en réalité, encodés différemment. Par exemple, je déclare de l’UTF-8 mais mes caractères sont en ISO. Du coup, le navigateur risque de ne rien comprendre, les accents et autres ponctuations vont certainement sautés, mais je peux techniquement le faire.

    Maintenant, si tu fais un copier-coller dans un back-office depuis un logiciel de traitement de texte (WORD, PAGES, Open Office…), tu risques de coller des caractères encodés différemment de la déclaration faite dans le charset.
    Du coup, si un navigateur ou un bot décide de suivre le charset, ton texte va avoir des problèmes d’affichage. A l’inverse, si ces derniers décident de détecter l’encodage du texte, sans tenir compte du charset, tout le contenu présent dans la page et qui n’est pas encodé comme le texte collé (exemple : menu, footer…), va être mal interprété et, du coup, va mal s’afficher.

    Voilà comment on se retrouve avec plusieurs encodages dans une même page, et ce malgré la déclaration charset.

  2. @Tom : c’est un peu court comme commentaire…s’il y avait une URL de site pour faire un lien, je prendrai ça pour du SPAM. Tu peux développer un peu ton commentaire ?

  3. Vu Yvan.
    Je n’avais pas saisi les choses comme ça.
    Eh non : c’est pas n’importe quoi ton article. C’est peut-être que tu aurais du développer un peu plus.

    Au final tu as complètement raison : on ne fait jamais assez attention au code de sortie.

    Bien à toi, l’ami.
    Philippe
    qui te spamme d’une nouvelle signature (mais je ne spamme que les gens que j’apprécie pour leur savoir-vivre. :-))

  4. C’est très facile de savoir si c’est l’encodage qui est à l’origine du déclassement, il suffit juste de voir la page en cache dans Google, moi ça m’est arrivé avec MSNBOT, et j’ai découvert ça en regardant la page en cache.. j’espère avoir aider

  5. @Electricite : Apparemment tu n’as pas bien lu l’article ou tu voulais juste mettre un lien. Pour cette fois, j’opte pour la première solution :).

  6. Merci, c’est bon à savoir
    Moi perso je bosse en utf8 mais comme tout doit partir à gauche à droite sur le net, je continue à utiliser les entités html:
    Elles ont encore de beaux jours devant elles! c débile, mais bon, vaut mieux!

    merci

  7. On ne s’imagine pas les difficultés d’interpréter les subtilités d’une langue pour un moteur. C’est un travail titanesque à l’échelle de Google avec autant de langues à gérer.
    Le français est un sacré bordel à ce niveau; l’encodage des caractères est seulement la partie visible de l’iceberg.

Comments are closed.