We’re often asked if a Flash site can be indexed by search engines. This is one of those seemingly simple questions with a fairly complicated answer. The fact of the matter is that yes, Flash content can be made available to search engines; however, to do it properly requires some extra work.
It will likely be a while before search engines are able to fully understand content within a complex Flash site and it may be that Flash content will never rank as highly as similar content presented in HTML format. Fortunately, there is another way to expose the content used in your Flash files to search engines.
When applying this concept to Flash content, the strategy is to provide HTML content as a base-line and use JavaScript to replace that content with a SWF movie capable of rendering it. Using this technique, you can provide all the content displayed by your Flash movie to search engines and other non-flash enabled browsers as standards-based, semantic HTML. Visitors with Flash enabled will not see this HTML content, instead they are shown the richer Flash version.
SWFObject greatly simplifies this process for developers. It will handle the Flash Player detection as well as overwriting a specific div within your page with the appropriate Flash embed tag.
Progressive enhancement is commonly used to improve the display of media content on an HTML page. An example of this is the map for the Museum of Science and Industry. The HTML on this page includes four images along with alternate text and titles which are indexed by search engines. Users with Flash see a single floor of the museum at a time with easy-to-use navigation and helpful overlays of additional information.
The MSI map. HTML only (left) and Flash enhanced (right)
This technique can also be used to provide an overview of a large, media rich flash site such as NVIDIA Speak Visual. Here, basic information about the site is provided within the HTML giving that information higher relevance within search engines than if it were only included as keywords and other meta-data.
NVIDIA Speak Visual Homepage. HTML only (left) and Flash enhanced (right)
For any given view, the server will deliver the appropriate HTML which is enhanced to Flash using the basic technique above. Subsequent views are loaded into the Flash application via XML (or another data format) without refreshing the browser page. So that search engines can find this content, each of these subsequent views must be available as HTML via links included in the HTML of the original view.
The net result is a series of URLs that the search engine will index as it would for any site with multiple pages. When a link to the site is followed from a search engine, the Flash application must support linking directly to the specific view requested rather than loading the top level of the site. Using SWFAddress facilitates this by setting up a system of views identified by unique URLs that are passed into the Flash application by SWFObject.
For sites that require a rich experience that only Flash can deliver and full coverage within search engines, this technique will deliver excellent results. Nike Skateboarding, Disney.com and this Fiat Showroom are examples of Flash sites using variations on the basic techniques described here to provide content to search engines. All of them have been live for quite some time and continue rank highly within the engines.
If you know of other examples of Flash sites using progressive enhancement, let us know in the comments below.
Great explanation. If someone wants to take a look at working examples/tutorials of this they can check out Lee Felarca's post on the subject at: http://www.zeropointnine.com/blog/an-seo-implementation-f... or a set of videos FI posted on their think swedish blog ( know moved to kontain) that have a very simple aproach using jquery selectors to get the content http://www.kontain.com/fi/#entries/entry/920 enjoi
here is just another site using progressive enhancement: http://www.f-o-a.net/ and here is tutorial : http://www.gotoandlearn.com/play?id=107
I’m loving this website and all of your work. Just wanted to say this is a great article. It’s good to know people have similar standards and methods to the work we are producing. We took a similar approach when building http://sugarsnap.tv it a simplified version but similar school of thought.
Google's indexing of SWF files is still very poor as most SEO experts would agree with. Presenting alternative html content to search engines with SWFObject and using SWFAddress are the best ways to have indexable content on Google at the same time as presenting visitors with the flash version of the website. Our new flash site http://www.sumo.com.au - is behind a ASP.NET backend with a CMS that generates the XML that both the html version and the flash version uses as text content. There are alternative html pages for every page of the website - with each of these, using SWFObject the flash file is embedded at the appropriate anchor point of the flash file - so if somebody reaches the site via a search engine - the flash file will automatically load at the right spot.
Hello. Thank you for this great info! Keep up the good job!
Super-Duper site! I am loving it!! Will come back again - taking your feeds too now, Thanks.
Hello, this my first attempt to try to post, have a good day