I have, in the past, written at some length about SEO tactics for Flash development, which now thanks to Adobe, Yahoo and Google has just gotten quite a bit more in-depth and practical. On the first of July Adobe released technology to Google and Yahoo to help them along with their crawlers to be able index the content within a flash site; even dynamic content which may originate from and XML file or database. These spiders can now crawl deeply into a Flash file and pull out even the most obscure text to be indexed.
At first glance I am quite sure there was an acute, collective yalp of excitement by the development community – I know I belched a few in my cube at work. But what about folks who have made the mistake of placing sensitive information within their files counting on the obscurity of the Flash file format to protect it? Well, I'll tell ya… they're hosed. Aral Balkin poses the question is indexing revealing too much. My answer to that is no. To quote Aral:
…security by obscurity — which we know is not security at all.
He is dead on here. Even before Google could index even the smallest amount of text with a swf file, there have always been decompilers. In fact, I can remember using one to recover corrupted files as far back as Flash 4, so this has never been good practice.
Google's announcement several days ago alludes to the abilities, and has confirmed that it does or soon will be able to index Flash content placed by dynamic means, such as SWFObject. This is all excellent news for RIA and Flash developers alike – in fact it is one of the things we have been waiting for. Despite a persistent bias against Flash sites, these types of interactive applications are the future of the web, so it's about time that the major search players get in on being able to read the content – so we as developers don't have to build alternate methods to view the site solely on getting it indexed.
I am interested in playing with SEO and Flash again to be able to tweak the results even further to better enhance the product being delivered to the client and ultimately the end users.