Optimiser un header en flash

WRInaute discret
Bonjour à tous,

J'ai un header en flash sur toutes les pages de l'un de mes sites.

Voici le code :

Code:
<div id="header">
<div id="flash_anim">Vous ne semblez pas avoir le dernier plug-in flash. Cliquez <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&Lang=French" target="_blank">ici</a> pour le t&eacute;l&eacute;charger</div>

<script type="text/javascript">
   var so = new SWFObject("images/banniere_atout.swf", "banniere_atout", "860", "247", "7", "#FFFFFF");
   so.addParam("wmode", "transparent");
   so.write("flash_anim");
</script>

</div>


Dans la <div id="flash_anim">, j'aurai souhaité intégrer une phrase avec quelques mots-clés et un lien depuis la home.
(au lieu de la phrase du plug-in Flash qui n'a aucun intérêt au niveau du référencement)

Ma question est la suivante : pensez-vous que ce soit risqué ? Puis-je être pénalisé par Google pour ça ?
Le header en Flash ne contenant aucun texte... Uniquement une animation.

Merci par avance de voter aide ! :wink:
 
WRInaute impliqué
Bonjour

j'ai un autre proposition pour toi : la méthode UFO

j'ai utilisé dans un site est ça marche 100%

Code:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>agence communication Marrakech | agence de publicité offshore Maroc</title>
 <link href="style.css" rel="stylesheet" type="text/css" />
	<script type="text/javascript" src="ufo.js"></script>
	
	<script type="text/javascript">
		var FO = { movie:"anim.swf", width:"940", height:"574", majorversion:"8", build:"0", xi:"true" };
		UFO.create(FO, "ufoDemo");
		</script>
</head>

<body>
<div id="ufoDemo">

votre texte comme un site html avec des h1 des gras...

</div>
</body>
</html>

pour le fichier ufo.js :

Code:
/*	Unobtrusive Flash Objects (UFO) v3.22 <http://www.bobbyvandersluis.com/ufo/>
	Copyright 2005-2007 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

var UFO = {
	req: ["movie", "width", "height", "majorversion", "build"],
	opt: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess", "seamlesstabbing", "allowfullscreen", "allownetworking"],
	optAtt: ["id", "name", "align"],
	optExc: ["swliveconnect"],
	ximovie: "ufo.swf",
	xiwidth: "215",
	xiheight: "138",
	ua: navigator.userAgent.toLowerCase(),
	pluginType: "",
	fv: [0,0],
	foList: [],
		
	create: function(FO, id) {
		if (!UFO.uaHas("w3cdom") || UFO.uaHas("ieMac")) return;
		UFO.getFlashVersion();
		UFO.foList[id] = UFO.updateFO(FO);
		UFO.createCSS("#" + id, "visibility:hidden;");
		UFO.domLoad(id);
	},

	updateFO: function(FO) {
		if (typeof FO.xi != "undefined" && FO.xi == "true") {
			if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;
			if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;
			if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;
		}
		FO.mainCalled = false;
		return FO;
	},

	domLoad: function(id) {
		var _t = setInterval(function() {
			if ((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(id) != null) {
				UFO.main(id);
				clearInterval(_t);
			}
		}, 250);
		if (typeof document.addEventListener != "undefined") {
			document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(_t); } , null); // Gecko, Opera 9+
		}
	},

	main: function(id) {
		var _fo = UFO.foList[id];
		if (_fo.mainCalled) return;
		UFO.foList[id].mainCalled = true;
		document.getElementById(id).style.visibility = "hidden";
		if (UFO.hasRequired(id)) {
			if (UFO.hasFlashVersion(parseInt(_fo.majorversion, 10), parseInt(_fo.build, 10))) {
				if (typeof _fo.setcontainercss != "undefined" && _fo.setcontainercss == "true") UFO.setContainerCSS(id);
				UFO.writeSWF(id);
			}
			else if (_fo.xi == "true" && UFO.hasFlashVersion(6, 65)) {
				UFO.createDialog(id);
			}
		}
		document.getElementById(id).style.visibility = "visible";
	},
	
	createCSS: function(selector, declaration) {
		var _h = document.getElementsByTagName("head")[0]; 
		var _s = UFO.createElement("style");
		if (!UFO.uaHas("ieWin")) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win
		_s.setAttribute("type", "text/css");
		_s.setAttribute("media", "screen"); 
		_h.appendChild(_s);
		if (UFO.uaHas("ieWin") && document.styleSheets && document.styleSheets.length > 0) {
			var _ls = document.styleSheets[document.styleSheets.length - 1];
			if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);
		}
	},
	
	setContainerCSS: function(id) {
		var _fo = UFO.foList[id];
		var _w = /%/.test(_fo.width) ? "" : "px";
		var _h = /%/.test(_fo.height) ? "" : "px";
		UFO.createCSS("#" + id, "width:" + _fo.width + _w +"; height:" + _fo.height + _h +";");
		if (_fo.width == "100%") {
			UFO.createCSS("body", "margin-left:0; margin-right:0; padding-left:0; padding-right:0;");
		}
		if (_fo.height == "100%") {
			UFO.createCSS("html", "height:100%; overflow:hidden;");
			UFO.createCSS("body", "margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;");
		}
	},

	createElement: function(el) {
		return (UFO.uaHas("xml") && typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
	},

	createObjParam: function(el, aName, aValue) {
		var _p = UFO.createElement("param");
		_p.setAttribute("name", aName);	
		_p.setAttribute("value", aValue);
		el.appendChild(_p);
	},

	uaHas: function(ft) {
		var _u = UFO.ua;
		switch(ft) {
			case "w3cdom":
				return (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined"));
			case "xml":
				var _m = document.getElementsByTagName("meta");
				var _l = _m.length;
				for (var i = 0; i < _l; i++) {
					if (/content-type/i.test(_m[i].getAttribute("http-equiv")) && /xml/i.test(_m[i].getAttribute("content"))) return true;
				}
				return false;
			case "ieMac":
				return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);
			case "ieWin":
				return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
			case "gecko":
				return /gecko/.test(_u) && !/applewebkit/.test(_u);
			case "opera":
				return /opera/.test(_u);
			case "safari":
				return /applewebkit/.test(_u);
			default:
				return false;
		}
	},
	
	getFlashVersion: function() {
		if (UFO.fv[0] != 0) return;  
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			UFO.pluginType = "npapi";
			var _d = navigator.plugins["Shockwave Flash"].description;
			if (typeof _d != "undefined") {
				_d = _d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				var _m = parseInt(_d.replace(/^(.*)\..*$/, "$1"), 10);
				var _r = /r/.test(_d) ? parseInt(_d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
				UFO.fv = [_m, _r];
			}
		}
		else if (window.ActiveXObject) {
			UFO.pluginType = "ax";
			try { // avoid fp 6 crashes
				var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			}
			catch(e) {
				try { 
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
					UFO.fv = [6, 0];
					_a.AllowScriptAccess = "always"; // throws if fp < 6.47 
				}
				catch(e) {
					if (UFO.fv[0] == 6) return;
				}
				try {
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				}
				catch(e) {}
			}
			if (typeof _a == "object") {
				var _d = _a.GetVariable("$version"); // bugs in fp 6.21/6.23
				if (typeof _d != "undefined") {
					_d = _d.replace(/^\S+\s+(.*)$/, "$1").split(",");
					UFO.fv = [parseInt(_d[0], 10), parseInt(_d[2], 10)];
				}
			}
		}
	},

	hasRequired: function(id) {
		var _l = UFO.req.length;
		for (var i = 0; i < _l; i++) {
			if (typeof UFO.foList[id][UFO.req[i]] == "undefined") return false;
		}
		return true;
	},
	
	hasFlashVersion: function(major, release) {
		return (UFO.fv[0] > major || (UFO.fv[0] == major && UFO.fv[1] >= release)) ? true : false;
	},

	writeSWF: function(id) {
		var _fo = UFO.foList[id];
		var _e = document.getElementById(id);
		if (UFO.pluginType == "npapi") {
			if (UFO.uaHas("gecko") || UFO.uaHas("xml")) {
				while(_e.hasChildNodes()) {
					_e.removeChild(_e.firstChild);
				}
				var _obj = UFO.createElement("object");
				_obj.setAttribute("type", "application/x-shockwave-flash");
				_obj.setAttribute("data", _fo.movie);
				_obj.setAttribute("width", _fo.width);
				_obj.setAttribute("height", _fo.height);
				var _l = UFO.optAtt.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[UFO.optAtt[i]] != "undefined") _obj.setAttribute(UFO.optAtt[i], _fo[UFO.optAtt[i]]);
				}
				var _o = UFO.opt.concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") UFO.createObjParam(_obj, _o[i], _fo[_o[i]]);
				}
				_e.appendChild(_obj);
			}
			else {
				var _emb = "";
				var _o = UFO.opt.concat(UFO.optAtt).concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") _emb += ' ' + _o[i] + '="' + _fo[_o[i]] + '"';
				}
				_e.innerHTML = '<embed type="application/x-shockwave-flash" src="' + _fo.movie + '" width="' + _fo.width + '" height="' + _fo.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + _emb + '></embed>';
			}
		}
		else if (UFO.pluginType == "ax") {
			var _objAtt = "";
			var _l = UFO.optAtt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.optAtt[i]] != "undefined") _objAtt += ' ' + UFO.optAtt[i] + '="' + _fo[UFO.optAtt[i]] + '"';
			}
			var _objPar = "";
			var _l = UFO.opt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.opt[i]] != "undefined") _objPar += '<param name="' + UFO.opt[i] + '" value="' + _fo[UFO.opt[i]] + '" />';
			}
			var _p = window.location.protocol == "https:" ? "https:" : "http:";
			_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="' + _fo.movie + '" />' + _objPar + '</object>';
		}
	},
		
	createDialog: function(id) {
		var _fo = UFO.foList[id];
		UFO.createCSS("html", "height:100%; overflow:hidden;");
		UFO.createCSS("body", "height:100%; overflow:hidden;");
		UFO.createCSS("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");
		UFO.createCSS("#xi-dia", "position:absolute; left:50%; top:50%; margin-left: -" + Math.round(parseInt(_fo.xiwidth, 10) / 2) + "px; margin-top: -" + Math.round(parseInt(_fo.xiheight, 10) / 2) + "px; width:" + _fo.xiwidth + "px; height:" + _fo.xiheight + "px;");
		var _b = document.getElementsByTagName("body")[0];
		var _c = UFO.createElement("div");
		_c.setAttribute("id", "xi-con");
		var _d = UFO.createElement("div");
		_d.setAttribute("id", "xi-dia");
		_c.appendChild(_d);
		_b.appendChild(_c);
		var _mmu = window.location;
		if (UFO.uaHas("xml") && UFO.uaHas("safari")) {
			var _mmd = document.getElementsByTagName("title")[0].firstChild.nodeValue = document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0, 47) + " - Flash Player Installation";
		}
		else {
			var _mmd = document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		}
		var _mmp = UFO.pluginType == "ax" ? "ActiveX" : "PlugIn";
		var _uc = typeof _fo.xiurlcancel != "undefined" ? "&xiUrlCancel=" + _fo.xiurlcancel : "";
		var _uf = typeof _fo.xiurlfailed != "undefined" ? "&xiUrlFailed=" + _fo.xiurlfailed : "";
		UFO.foList["xi-dia"] = { movie:_fo.ximovie, width:_fo.xiwidth, height:_fo.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + _mmu + "&MMplayerType=" + _mmp + "&MMdoctitle=" + _mmd + _uc + _uf };
		UFO.writeSWF("xi-dia");
	},

	expressInstallCallback: function() {
		var _b = document.getElementsByTagName("body")[0];
		var _c = document.getElementById("xi-con");
		_b.removeChild(_c);
		UFO.createCSS("body", "height:auto; overflow:auto;");
		UFO.createCSS("html", "height:auto; overflow:auto;");
	},

	cleanupIELeaks: function() {
		var _o = document.getElementsByTagName("object");
		var _l = _o.length
		for (var i = 0; i < _l; i++) {
			_o[i].style.display = "none";
			for (var x in _o[i]) {
				if (typeof _o[i][x] == "function") {
					_o[i][x] = null;
				}
			}
		}
	}

};

if (typeof window.attachEvent != "undefined" && UFO.uaHas("ieWin")) {
	window.attachEvent("onunload", UFO.cleanupIELeaks);
}

j'ai utilisé dans ce site **www.deamix-communication.com**

le 4éme dans google.fe avec le mot clé principale https://www.google.fr/search?q=Agence+communication+marrakech&sourceid= ... MA307&aq=t
 
WRInaute discret
Merci Mahdivitche, je vais creuser ta solution.

En attendant, il n'existe pas de mèthode plus simple ? :?
Comme le <div> ?

Merci !
 
WRInaute accro
La méthode initiale est à mon sens plus sûre, car il s'agit d'un script connu (swfobject). Mais au final il s'agit exactement de la même chose : un script JS qui charge dans une div ton animation, laquelle div intègre un texte qui est censé reprendre le contenu de l'animation de manière à donner du grain à moudre à GG.

Il faut juste ne pas en abuser et faire de la suroptimisation (ce vers quoi tends la proposition de Mahdivitche, quand je lit :

votre texte comme un site html avec des h1 des gras...
).
 
WRInaute impliqué
UsagiYojimbo a dit:
Il faut juste ne pas en abuser et faire de la suroptimisation (ce vers quoi tends la proposition de Mahdivitche, quand je lit :
votre texte comme un site html avec des h1 des gras...
).

Non si pas un suroptimisation
je propose de crée un version html si le pluging flash est installé il affiche la version flash sinon il affiche version html avec des liens des images et bien sur des hx ( par ce que les moteur de recherche considérer comme un site html et pas site en flash ) .....
 
WRInaute accro
Si tu surcharges la div dans laquelle se charge l'animation avec u contenu conséquent qui n'est pas inclut dans l'animation, c'est de la suroptimisation. Après si tu ne fais que reprendre le contenu de cette animation sous forme textuelle, avec un minimum de structuration, on est d'accord.
 
WRInaute impliqué
on prend par exemple ce site : ***www.deamix-communication.com ( j'ai travaille a ce site seulement 2 mois et puis j'ai arrête )

le contenu html est très différents a contenu de l'animation mais la position dans google et bien

https://www.google.fr/search?q=Agence+communication+marrakech&sourceid= ... MA307&aq=t
dans la position 4 ( avant 15 jours il est dans la position 2 )

https://www.google.fr/search?hl=fr&rlz=1B3GGGL_frMA306MA307&q=Agence++p ... cher&meta=

la position 8


aussi dans yahoo http://fr.search.yahoo.com/search?p=agence+communication+marrakech&fr= ... TF-8&rd=r1 dans la 1er page

et aussi ce site est jamais pénalisé par google
 
WRInaute occasionnel
mahdivitche t'assure trop, quand je rentre à kech je te paye le 9hawa que je t'ai promis, comme ça tu pourras m'aider sur un projet, je suis perdu avec les "flash" :mrgreen:
 
WRInaute discret
Si tu surcharges la div dans laquelle se charge l'animation avec u contenu conséquent qui n'est pas inclut dans l'animation, c'est de la suroptimisation. Après si tu ne fais que reprendre le contenu de cette animation sous forme textuelle, avec un minimum de structuration, on est d'accord.

En fait, mon header en flash ne contient pas de texte mais juste une animation...

Si j'intègre une phrase de 10 mots composés de mots-clés, est-ce considéré comme un contenu conséquent ?

Le problème c'est que ces mots clés ne sont donc pas présents dans le swf.

Y-a-t-il un risque malgés tout ?
 
WRInaute accro
Bonjour
Si tu présentes au moteur de recherche un contenu différent de ce que voit l'internaute, c'est contraire aux "lignes de conduite Google", ya pas à tortiller de l'arrière train pendant 5 heures. Autrement dit ca marchera pour le référencement jusqu'à ce quelqu'un le signale aux services qualité Google.
 
WRInaute impliqué
nickargall a dit:
Bonjour
Si tu présentes au moteur de recherche un contenu différent de ce que voit l'internaute, c'est contraire aux "lignes de conduite Google", ya pas à tortiller de l'arrière train pendant 5 heures. Autrement dit ca marchera pour le référencement jusqu'à ce quelqu'un le signale aux services qualité Google.

Bonjour,

Maintenant google lire le contenu d'animation flash

donc pourquoi en utilise ces méthodes ? ( si en vue faire le même contenu de flash en html )
 
WRInaute accro
Google arrive à lire certains textes d'une animation Flash, mais c'est loin d'être parfait.
Après, moi je dis ça, c'est pour éviter à certains de planquer du contenu optimisé derrière une animation Flash et se retrouver blacklisté pour ça.
 
WRInaute accro
Sinon je pense que plus généralement le texte "il vous manque le plugin flash" est inutile puisque 90% des navigateurs propose le téléchargement automatique de Flash.
 
WRInaute impliqué
Audiofeeline a dit:
puisque 90% des navigateurs propose le téléchargement automatique de Flash.

Non .

si l'animation est insérer par javascript comme SWFObject les navigateurs ne détecte pas

aussi pour les moteur il lire toujours la version html et ça l'avantage de ce méthode
 
WRInaute accro
Pour détailler un peu, embed n'est pas un élément standard HTML. Donc il vaut mieux passer par swfobject. Qui plus est, quand Microsoft avait mis en place une pseudo-sécurité dans IE qui demandait un lic préalable pour activer le Flash, le recours à swfobject permettait de passer outre ce clic supplémentaire.
 
WRInaute accro
En gros il faudrait faire ça ?

Code:
<object data="monanim.swf" type="application/x-shockwave-flash" width="300" height="200"> Mon anim est super !</object>

Ça arrive avec HTML5 ?
 
Discussions similaires
Haut