Le Flash est un format multimédia proposé par Adobe, destiné principalement à faire des animations web. Il a l’avantage d’être très léger (temps de chargement réduit), vectoriel, avec de nombreuses possibilités de design, navigation, interactivité…
Une animation en Flash (sous forme de menu, de carte, ou toute autre interface) se présente sous la forme d’un fichier (.swf). La page web contenant ce fichier est une page html avec une balise qui indique au navigateur d’inclure ce fichier Flash.
Optimisation d’un site full flash
Les sites en Flash sont d’une manière générale plus difficile à référencer que les autres sites web. Pourquoi? Même si le moteur de recherche Google est capable de lire le contenu d’un flash, il n’est pas encore capable d’en extraire les informations comme celles qui pourraient être contenues dans des balises html classiques, et donc de lire le contenu réel du site. En résumé, Google indexe la page contenant le flash, la crawl, mais ne discerne pas le contenu. Au final, un site non optimisé, et donc pas de changement dans le positonnement.
Si tout le site est construit en Flash, le robot ne verra que des fichiers html quasiment vides, ce qui sera catastrophique du point de vue du référencement. De plus, il n’y aura alors qu’une seule et unique page indexée par le robot de Google : la page d’accueil, sur laquelle sera chargée le flash : pas idéal du tout pour booster son contenu et son maillage interne…
Le meilleur moyen d’y remédier et de faire un double du site en version html avec textes et images. Un travail long et complexe, car il faut refaire un site à l’identique. Qui a dit que le référencement d’un site en flash était facile?
Comment référencer un site en Flash ?
Flash avec la balise noembed
Il suffit d’utiliser la balise « <noembed> » avec du texte alternatif, comme dans cet exemple :
<object width="1280" height="720">
<param name="quality" value="high" />
<param name="src" value="url_de_la_video" />
<embed width="1280" height="720" type="application/x-shockwave-flash"
src="url_de_la_video" quality="high" />
<noembed>
Ici, on place le texte alternatif que le robot lira dans tous les cas,
qui peut aussi inclure des liens, des titres, des paragraphes, des
mots-clés, des images... soit une optimisation complète du site pour
le référencement.
</noembed>
</object>
Remarque : la balise <embed> inclue dans la balise <object> est optionnelle, elle apparait dans cet exemple uniquement car elle peut être nécessaire avec certains navigateurs ne gérant pas bien la balise <object>.
La balise <noembed> est utilisée ici de la même manière qu’on utilise la balise <noframes> pour indexer les sites avec des frames.
Il faut donc ajouter du contenu textuel entre les balises <noembed> et </noembed> pour optimiser son site efficacement. Les balises html peuvent être utilisées, et il faut insister sur les mots-clés sans trop abuser. Le contenu de l’animation flash doit être repris dans cette section.
L’inconvénient de cette méthode est que la balise <noembed> n’est pas conforme aux recommandations du W3C. De plus, cette balise fut utilisée à des fins malhonnêtes et frauduleuses. Les moteurs de recherche ne sont plus dupes et reconnaissent les procédés destinés à les tromper.
Flash avec la balise object
On peut ainsi la supprimer, et on obtient le code suivant en reprenant l’exemple ci-dessus :
<object width="1280" height="720">
<param name="quality" value="high" />
<param name="src" value="url_de_la_video" />
<embed width="1280" height="720" type="application/x-shockwave-flash"
src="url_de_la_video" quality="high" />
Ici, on place le texte alternatif que le robot lira dans tous les cas,
qui peut aussi inclure des liens, des titres, des paragraphes, des
mots-clés, des images... soit une optimisation complète du site pour
le référencement.
</object>
Flash avec SWFObject
Un autre méthode pour rendre une structure flash bien référençable consiste à utiliser SWFObject en JavaScript pour intégrer le flash dans une page html. C’est l’une des meilleures méthodes avec des résultats très satisfaisants.
Voici un exemple d’intégration dans la page d’une animation flash avec SWFObject :
<div id=”flashcontent”>
<h1>Ici on utilise les balises html pour optimiser le site</h1>
<p><strong>On peut utiliser</strong> toutes les balises classiques html.</p>
<h2>En général, on met ici le contenu du site en flash</h2>
<p>On peut même faire des liens pour <a href="/">améliorer son
référencement Google</a></p>
</div>
<script type=”text/javascript”>
var so = new SWFObject(“url_video.swf”, “video”, “800″, “600″, “7″, “#FFFFFF″);
so.write(“flashcontent”);
</script>
Explications :
Le flash ici est appelé par un Javascript. On propose donc ici de charger le flash, et d’afficher un contenu alternatif aux robots des moteurs de recherche. Le contenu alternatif va se placer en sous couche sous le flash. Il en va de soi que le contenu doit être optimisé avec le contenu qu’il y a réellement dans le site full flash. Pourquoi? Car il ne faut pas oublier que ce qu’on montre aux internautes et aux robots doit être identique, sinon il y aura le l’abus, et votre site sera pénalisé par Google (appelé le Cloacking).
C’est le <div id=“flashcontent”> qui contiendra le texte alternatif de la page en flash. Comme dit précédemment, il faut l’optimiser, mettre les mots-clés en avant, car c’est ici qu’il y aura le contenu qui va être lu par les moteurs de recherche. Il faut donc bien peaufiner son texte, car c’est lui qui va faire que votre site sera bien positionné.
Depuis 2 ans, Google a quand même pas mal amélioré son système de détection de flash. Il peut lire les textes contenus dans le swf, suivre les liens, indexer les fichiers xml, html ou autre chargé à partir d’un flash, etc. Et ça fonctionne aussi avec le flash chargé par JavaScript et toutes les version d’AS, même obfusqué.
C’est ce sur quoi Google a communiqué en tout cas. Linkeo a fait un test de 5 mois pour tester si ça fonctionnait bien : http://question-referencement.linkeo.com/?p=2086
Conclusion : il faut garder la base de l’opti du flash dont tu parles dans ton article si la version de flash utilisée est inférieure à la v10.
Effectivement Jerome, je suis d’accord avec toi. Mais je pense qu’un site sans texte alternatif au flash à quand même moins de poids et d’arguments à faire valoir qu’un site qui dispose de cette optimisation.
J’ai tenté quelques fois et d’une manière général impossible de vouloir titiller des requêtes un peu concurrentielles. Mais vu que normalement les sites flash sont faits pour de la présentation, on cherche a se positionner sur du tres spécifique, dans ce cas là les conseilles de l’article sont toujours efficaces et sont à suivre.
C’est vrai que Google interprète mieux le Flash, mais autant mettre toute les chances de son côté…
Mais bon, je recommande toujours d’éviter le full Flash.
Cet article m’aurait été utile il y a quelques semaines ! J’ai eu affaire à un prospect qui avait un site en flash. Encore débutant, je ne savais pas trop comment faire pour optimiser du flash, du coup j’en ai fait un article sur mon blog !
Les commentaires valent de l’or, en particulier ceux qui sont postés par un certain Olivier !
Pour SWFObject, tu dis que le contenu optimisé doit être identique au contenu flash, mais comment les moteurs peuvent-ils vérifier ça ?
Ce n’est pas évident du tout le référencement des sites en flash, car on n’a pas le concept même de ce qu’il faut en référencement : du contenu, des liens, un maillage interne…
Quand je dis qu’il faut le même contenu, c’est qu’il faut réécrire le contenu du site en flash dans le texte de substitution au flash. Ceci dans le but de ne pas sur-optimiser le site d’une part, et d’avoir également le contenu du site indexable par Google d’autre part.
Google c’est légèrement amélioré pour voir la flash, mais je déconseille toujours fortement des sites en full flash.
Bonne continuation.
Je vais tester ; Mais c’est une solution de dernier recours pour les sites Fullflasch déjà en ligne. J’ai plutôt tendance à préférer la construction d’un site « bis » en HTML. Mais très souvent les clients veulent garder leur site Fullflash, fruit de centaines d’heures de travail.