Google n'aime pas Flash
Le moteur de recherche le plus utilisé, Google Search, propose un aperçu des sites web dans sa page de résultats: cette fonctionnalité s'appelle Google Instant Preview.
Si votre site contient du Flash, vous aurez remarqué que les zones en Flash ne sont pas dessinées: à leur place il y a une zone grise. Dommage, car l'aperçu de Google est de plus en plus utilisé par les internautes pour choisir rapidement leur cible !
Il ne suffit plus d'être bien référencé et d'apparaître dans les premières pages de Google Search, il faut aussi soigner son aperçu !
Comment faire alors pour proposer un aperçu correct de votre site s'il contient du Flash?
Comment cet aperçu de votre site est-il généré?
L'aperçu de Google Instant Preview est généré par un des robots que Google utilise pour indexer votre site web. Ce robot visite votre site régulièrement pour générer des aperçus, mais il peut aussi intervenir "à la demande", 'en temps réél", lorsqu'un internaute demande l'aperçu de votre site.
Ce robot charge vos pages web en mémoire, ainsi que vos feuilles de style (fichiers CSS), les images, et les Flash (fichiers SWF). Ce robot effectue ensuite le rendu de votre site comme dans un navigateur normal... sauf qu'il "prend une photo" de votre site quelques millisecondes après l'avoir chargée.
Si votre page contient un élément Flash qui est long à charger (c'est malheureusement souvent le cas) il ne sera pas dessiné dans l'aperçu, et sera remplacé par une zone grise avec un puzzle dedans.
Comment contourner le problème?
Il existe des astuces pour gérer ce problème, elles ne sont pas toujours faciles à mettre en œuvre.
La plus simple est de détecter le passage du robot de Google qui s'occupe de générer cette "preview". Et de lui cacher les zones en Flash, en les remplaçant par une image statique. A condition que votre site web soit dynamique, donc que chaque page du site est générée à la volée à chaque visite. Avec un site de pages HTML statiques, vous ne pourrez rien faire.
Cette astuce a un plusieurs inconvénients:
- Primo, elle nécessite un travail supplémentaire sur votre site, puisqu'il faut être capable de proposer une image de remplacement pour chaque Flash.
- Secundo, le fait de servir une page différente aux robots Google est assimilée à du Cloaking, une technique pour les tromper et améliorer artificiellement son positionnement (son "page rank"). Si Google détecte ce subterfuge, il peut pénaliser votre site - voire le bannir - et vous perdrez alors votre positionnement.
Utiliser Flash pour améliorer un site Html
Une autre méthode consiste à écrire son site web entièrement en HTML, et de ne proposer des éléments en Flash que pour améliorer l'expérience utilisateur. Il faut alors que ces éléments en Flash soient chargé dynamiquement par la page : cela doit être fait par un code javascript une fois la page Html entièrement chargée. Pour rappel, tous les navigateurs modernes savent exécuter javascript nativement, sans installer de plugin.
- Les robots des moteurs de recherche voient alors une page bien conçue en Html, qu'ils savent dessiner.
- Et les internautes, eux, voient les éléments en Flash (chargés par le script que leur navigateur exécute).
Flash vs. Javascript
Flash est souvent utilisé pour réaliser des animations, de menus-déroulants, des fondus d'images, voire des petits jeux.
L'avenir de Flash est assez compromis, d'ailleurs Adobe, l'éditeur de Flash, a annoncé qu'il arrêtait le support de Flash Mobile (version pour les tablettes et smartphones).
Or, dans la plupart des cas, il est maintenant possible de remplacer ses animations Flash par leur équivalent en javascript. Le travail n'est pas forcément plus difficile, et le rendu est identique.
Et vous y gagnerez car votre site sera alors compatible avec tous les mobiles récents, tablettes (iPad, Galaxy tab), et même les smartphones (iPhone, etc...).