9

Modpagespeed ou l’ennemi potentiel de Google Images

Google ImagesModPageSpeed est un module du serveur Apache développé par les équipes de Google dans le but est d'accélérer votre site, via un nombre assez impressionnant de filtres et fonctions dont la compression d'images à la volée.

Je compte faire un article détaillé à ce sujet prochainement sur ses fonctionnalités et son intérêt inutilité mais je n'ai pas résisté à l'envie de partager avec vous ce que je viens de remarquer: Modpagespeed tire une balle dans les pieds de Googlebot-Image quand vous le désactivez!

Googlebot-Image, tiens des 404?

En analysant les logs de mon serveur, j'ai constaté un grand nombre d'erreurs 404 sur les images. Étrangement, cela concerne essentiellement des images recompressé par ModPageSpeed.
Quand le module ModpageSpeed compresse les images à la volée via le filtre rewrite_images, il les renomment dans son cache avec des noms de cette forme:

/logo-seocampus-300x121.jpg

devient

/xlogo-seocampus-300x121.jpg.pagespeed.ic.B_VSrmdWjb.jpg

Ensuite, Googlebot-Image passe avec ses copains Yandex, Bing et autres Baidu: ces super crawlers indexent donc vos images avec les URL du type monimage.jpg.bla.bla.chocolat.jpg.

C'est un hash unique qui est utilisé donc si le cache est régénéré, on retrouvera les mêmes noms d'images.
Par contre, le jour où vous décidez de désactiver le module ModPageSpeed à cause de sa surconsommation de ressources CPU/Memory (thème d'un futur article), bonjour les erreurs 404!

La solution: rewriterule

La solution que j'ai trouvé afin d ene pas générer d'erreurs 404 dans le cas ou vous désactiveriez ce module après l'avoir utilisé quelques temps est une règle de réécriture à rajouter dans la configuration d'Apache.
Elle n'est pas parfaite mais elle permettra au moins aux robots qui crawlent les images de ne pas perdre leur temps avec des erreurs 404:

RewriteCond %{REQUEST_URI} \.(gif|jpg|jpeg|png)$ [NC]
RewriteRule ^(.*)?/x?(.*)\.(gif|jpg|jpeg|png)\.pagespeed.*$ $1/$2.$3 [L,R=301]

9 commentaires

  1. La solution encore mieux est de se débarrasser une fois pour toute d’apache, et de passer sur un serveur http beaucoup plus efficace comme Nginx pour ne citer que lui 🙂

      • Ou les deux 😛

        Varnish étant utilisable en front de n’importe quel serveur HTTP

        Après modpagespeed est une bonne source d’inspiration pour trouver de nouvelles méthodes d’optimisations.

        Par exemple le lazyloading … c’est sympa mais niveau SEO : j’ai comme un doute sur le bénéfice de la pratique.

  2. J’ai eu plusieurs soucis avec ce ModPageSpeed. Je l’ai désactivé, même si on perd quelques performances, c’est risqué niveau SEO encore ce système !

  3. Bien vu ! La performance web est souvent l’ennemi de Google Images, c’est aussi le cas avec le lazy loading des images. Efficace pour la perf. mais Google n’indexe plus vos images 🙁

  4. J’avoue : je ne comprends pas tout 🙁 Mais ça ne me donne pas envie d’utiliser ce ModPageSpeed… heureusement, je n’ai pas trop d’erreurs 404 dans mes images, voire pas du tout pour le moment. En tout cas, merci pour l’info.

  5. Encore une bonne raison pour moi de travailler sur les logs. Plus je creuse et plus je me rend compte que beaucoup de problèmes pourraient être réglés rien qu’en analysant ces p… de logs 🙂
    Merci encore pour la qualité de tes articles

  6. Perso j’utilise comme indiqué la règle du rewrite rule et cela fonctionne très bien. J’ai eu un peu de mal à mettre ça en place mais quand on a pigé le truc ça va tout seul.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *