Flash SEO Code
by Jonathan Hochman
Flash gets a bad rap, undeserved in my opinion, for harming search engine visibility. Why are search engine optimization (SEO) practitioners concerned about Flash, and how can we SEO Flash content? Flash content is often heavy on images and interactive features, and light on text. The leading search engines are heavily dependant on text to understand the meaning of pages.
The leading web development tool, Adobe Dreamweaver, embeds Flash in web pages with code that fails to provide accessibility for visitors or search spiders who cannot handle Flash. Instead of using the default code, my recommendation is to hand code Flash pages with primary HTML content, and a method of automatically testing for Flash support before attempting to insert the movie. The primary HTML content can be search optimized as if the Flash wasn't there, while the Flash provides an enhanced user experience for those visitors who have the necessary Flash player.
With the rising popularity of iOS mobile devices from Apple, including iPad, iPhone and iPod Touch, Flash SEO programming is even more essential. Due to licensing restrictions from Adobe, Flash is not available on iOS devices. Providing alternative content for iOS visitors is absolutely essential. The coding method described in this article solves this problem.
The April 11, 2006 release of Microsoft's popular Internet Explorer (IE) browser included an update ("Eolas") that prevents ActiveX-based Flash controls from working properly. When the user attempts to interact with the Flash, a tool tip appears, stating, "Click to activate and use this control." That extra click is an annoyance. In addition to helping search engines, the programming techniques described in this article solve the Flash Eolas problem.
Search Engines and Flash
Search engines have the ability to read Flash files and extract text and links. In particular, Google and Adobe announced a new algorithm for indexing textual Flash content on June 20, 2008. As explained by Rand Fishkin in Flash and SEO - Compelling Reasons Why Search Engines & Flash Still Don't Mix, and Vanessa Fox in Search-Friendly Flash?, hoping that search engines can decipher you Flash is not a substitute for providing indexable HTML content.
Requirements for Successful Use of Flash
Flash animation is a great way to present complex content because it allows the designer to put more content in a finite space, without wrecking page design. For technology sites, Flash is an ideal way to present a slide show or movie explaining a complex product. At the other end of the spectrum, art and entertainment sites have a real need for multimedia, and Flash is the perfect solution.
When using Flash, we'd like to satisfy each of these objectives:
SEO Flash Programming
Flash accessibility programming isn't spamming, as long as the primary content and the visible movie are essentially the same. The World Wide Web Consortium (W3C) Web Accessibility Initiative (WAI) specifically states that multimedia content should have an alternative representation available. Accessibility programming creates the benefit of presenting visual information without losing the visitors and search engines who depend upon textual content.
As of July 2007, I discussed this method with Dan Crow of Google. He warned that this programming method could draw attention because of the possibility for abuse. If you use this method, make sure the alternative content is a faithful representation of the Flash content, and avoid combining this with other coding methods that could be abused. While this SEO method is not abusive, it is aggressive because there is a small risk that the search engines could mistakenly decide that the primary content is a form of cloaking.
SWFObject 2.0 is an open source project based on Geoff Sterns' original SWFobject() and UFO (Unobtrusive Flash Objects) by Bobby van der Sluis. As reported at swfobject, Adobe is likely to include swfobject() in future releases of its web development tools.
Scalable Inman Flash Replacement
If you are only using Flash to enhance headings, quotes, or callout text, a method called Scalable Inman Flash Replacement is an excellent choice. SIFR automatically pulls text from an HTML document and modifies the Document Object Model to replace the text with a Flash rendering of the appropriate font. SIFR makes it easy to modify the text, and ensures that your Flash text always matches your HTML text, reducing the risk of abuse.
The drawback of SIFR is that it only handles the presentation of simple text. Complex Flash animations, such as menus, slide shows, and interactive presentations can not be programmed easily with SIFR. For these types of Flash, SWFOBJECT and UFO are more effective.
Example: Making Flash Home Page Spiderable
Flash accessibility programming will not magically cause a site to rise to the top of the rankings, but this Flash SEO method will eliminate any ranking disadvantages associated with Flash.
We've used this Flash SEO method on many high traffic sites. The code has been served hundreds of thousands of times. Sites using this Flash SEO method have achieved top rankings for keywords found only in the Flash content.
All Flash Sites
A site built entirely with Flash suffers a great disadvantage because it lacks page structure to organize the content, internal linking, and unique page titles. One remedy is to create distinct HTML pages to represent each Flash "page," and install the Flash movie on each and every one of the HTML pages. When a visitor requests the page, they'll see Flash if they can handle it. Otherwise, a non-Flash visitor, such as a search engine, will be able to spider the site. If a user follows a search result onto one of the inner pages, they'll get the same Flash experience because the movie is available on every page. Another approach is to divide the Flash into pieces and put the relevant piece on each page.
Slicing up the Flash can result in page transitions that don't provide the seamless effect that you want to create. To get the best of both worlds, pass a parameter into the Flash movie using FlashVars. The same movie can appear on each HTML page, but depending on the parameter value, the movie can start at an appropriate point to show the Flash content that corresponds to that page. To get rid of all the extra pages, but still be able to reference different parts of the Flash piece, add a # and a tag to the end of each URL, and pass that tag into the Flash. This approach can make the back and forward buttons work properly, and allow people to bookmark specific parts of the Flash site.
It is also possible to use PHP scripts to pull both the primary HTML content, and the Flash content from a MySQL database. This approach would greatly simplify the maintenance of an accessible Flash site by storing only one representation of the content.
About the Author
After graduating from Yale with two degrees in Computer Science, Jonathan Hochman set up his own consulting company in 1990. He has been an Internet marketer since 1994.