Speak to any SEO professional about Flash websites and you will probably (most definitely) not hear much praise. Flash like any other technology has its limitations. If Adobe Flash is used properly and for the right reasons it is an awesome cross platform technology that can be used to create engaging user experience.

I fell in love with Flash when I came across Eric Jordan’s website in 2003, back then websites were boring, static and worst of all based on tables. Eric Jordan’s site was nothing like the rest of the web, it was unique and creative. The current 2Advanced website is about 4 years old yet it still looks the part compared to its HTML based competitors.

So without further ado let’s get into the nuts and bolts of Flash from an SEO perspective.  Contrary to popular belief rich internet application (RIA) can be SEO friendly, most of the reasons why people don’t like Flash are based on out-dated myths regarding Flash’s SEO capabilities. Another misconception about Flash is that search engines are unable to index text & links in SWF files.  Although this was true a few years ago, it is no longer true because both Google and Yahoo are able to index Flash content – Google is better at it though!

In 2009, Google introduced external resource loading which allows Google to index all kinds of textual content in SWF files, from Flash buttons and menus to self-contained Flash technology based websites. Currently almost any text a user can see as they interact with a SWF file on your site can be indexed by Googlebot, this is used to generate a snippet or match query terms in Google searches.

Additionally, Googlebot can also discover URLs in SWF files and follow those links, so if your SWF content contains links to pages inside your website, Google may be able to crawl and index those pages as well. Although Google is able to index and follow links inside SWF files, “view states” or different pages inside an RIA cannot be indexed as individual pages and that is where “deep linking” comes in. There are a few different ways of deep linking RIAs. Most Flash developers use SWFAddress and SWFObject to create deep linked Flash websites. However, if you are looking to build a large Flash website then there is a better alternative.

GAIA Framework has a built-in scaffolding engine geared for search engine optimisation. Using GAIA you can “scaffold” in a way that both Flash and non-Flash users can see the content of your website. That is because Gaia creates relevant XHTML file for every page you specify in the site.xml configuration file. In short, Gaia’s SEO Scaffolding engine provide search engines and non-Flash users with easy access to the content on your site, as well a convenient single data source for the copy on your site, organized by deep linked pages.

Take a look at Mercedes AMG’s website which has utilized Gaia.

And here is how Gaia scaffolds the site:

SWFAddress is implemented seamlessly into the Gaia Framework. When Gaia initializes Gaia SWFAddress, it checks for a branch, first from FlashVars, then from the address bar, and calls a goto on that branch, or the index branch if no branch is found. It also handles dispatching deeplink strings and validates browser address bar branches in case the user types an invalid branch into the browser’s address bar. It updates the browser address bar with the current Gaia branch when goto events occur. Additionally, GaiaSWFAddress handles Routing in hand in hand with the SiteModel.