Flash can now be indexed by search engines and other code
<farnsworth>Good news everyone!</farnsworth>: Adobe today announced the new searchability features of Flash complete with a specifications document of the SWF format.
This means that as hackers we can now access SWFs on a very low level to extract data that might not be available to end users (those who have no flash, or cannot navigate it).
Piggy-backing on this Google announced that they are indexing SWF and according to Adobe Yahoo! are soon to follow.
This is good news and bad news. For some years people have been using Google to read PDF documents (as Google indexed them and offered an HTML version and because it is terribly hard to create accessible PDFs or, as Heni put it, that PDFs suck!. Now Google can be used as a cheap way around the Flash issue, too.
Both means though that companies are more likely even less inclined to spend extra effort to make data available independent of plug-ins. The old “if it doesn’t work in a screen reader, it’ll be impossible to find by search engines” argument is out of the window now. Shame, it worked well (although we shouldn’t have to force people to consider accessibility).
The other really terrible news about this is that Flash generated by JavaScript will not be indexed at all:
“Googlebot does not execute some types of JavaScript. So if your web page loads a Flash file via JavaScript, Google may not be aware of that Flash file, in which case it will not be indexed.”
This is really bad as using SWFObject to include your Flash in web sites is the only sensible way - you test for support before you apply and you enhance progressively. There has to be a way around this problem. Just making it indexable by search engines should not stop people from assuming users have the right flash version.
Tags: accessibility, adobe, findability, flash, hack, pdf





July 3rd, 2008 at 1:21 am
I also have mixed feelings about this.
Regarding your note on SWFObject et al. it shouldn’t be so much of a problem if search engines do not index the .SWF file since it is supposed to be an enhancement to an accessible, and indexable, page. That is of course assuming that people do things the right way.
July 3rd, 2008 at 5:11 am
@Mathieu: haha, it’s just not so real-life, the idea that people do things the right way…
@Chris:
Yeah, but consider that Flash plugins have now been able for a while to detect they’re not up-to-date and ask you if they can update on-the-fly.
The only good reason for SWFobject was that it gave the user a choice — again, if people did it right.
July 4th, 2008 at 5:50 am
It may still be possible to have google index the flash and use swfobject. Consider the following code:
document.write(”This is our ‘you need a better version of flash’ spiel”);
swfobject(”flash.swf”, “flashElement”);
Obviously that is grossly simplified, and the JS for “get better flash” is a bit lame. You could simply write it in the div as you may currently do, but then google will get the warning AND the flash. Everyone else will just get the warning OR the swfobject-supplied flash. Putting it in a js document.write() means that google gets its business from , non-js people get the same, and js people get either a warning about flash being old or the flash provided by swfobject.
No idea if that would work, but maybe worth a try?
(Hope my html gets entity-ised properly!)
July 4th, 2008 at 5:51 am
Nope, it didn’t - I’ll replace angles by squares. Here’s the code:
[div id="flashElement"]
[script type="text/javascript"]
document.write(”This is our ‘you need a better version of flash’ spiel”);
[/script]
[noscript]
[object]
[param...]
[embed src="flash.swf" /]
[/object]
[/noscript]
[/div]
[script type="text/javascript"]
swfobject(”flash.swf”, “flashElement”);
[</script]
July 4th, 2008 at 5:53 am
Forgot to say that the only (possibly major for this site!) problem with my method is that non-JS and non-Flash people get nothing. That’s why replacing the doc.write with real alternative text would be a good idea, but as I said google would then index both it and the flash.
July 9th, 2008 at 1:20 am
@Al : they get nothing if you give nothing.
Flash is optional. Different user experiences should be deployed to serve all users: those who can see Flash and those who don’t (example : rolex.com or nurun.com). In that case, we cannot consider text rendering as an alternative. It is rather the opposite: Flash is an alternative to text.
I’m an SEO, and really think that this “new” implementation is a bad thing: Flash contents aren’t structured as well as in HTML. Because it seems to be full text analysis, how can Flash contents be correctly interpreted/ranked by search engines ?