How to SEO Flash

How to SEO Flash

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. As of 2008, 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.

The April 11, 2006 release of Microsoft’s popular Internet Explorer (IE) browser includes 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:

  • Clean design
  • Search Engine Optimization
  • Accessibility for a wide variety of browsers, including screen readers and mobile phones
  • Code validation and standards compliance
  • Correct functionality with IE

SEO Flash Programming

My recommended Flash SEO method uses a DIV with search-engine-accessible, primary content, and an open source Javascript function called swfobject() to detect when browsers are capable of viewing Flash. When an appropriate version of Flash player is present, the Javascript manipulates the page’s document object model (DOM) to replace the primary content with the Flash movie. Most search engine spiders can’t handle Flash, so they will elect to view the primary content. The primary content may contain links, headings, styled text, images—anything we can add to an ordinary HTML page. With SEO copyediting and coding skills applied to the primary content, Flash becomes a non-issue.

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

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

The sample code below is derived from the home page of TrueVector Technologies which includes two Flash objects. The content of that page can now be indexed because search engines can read the HTML-coded content, while visitors with Javascript and Flash can view enhanced visual content.

<script type="text/javascript" src="/js/swfobject.js">
<script type="text/javascript">       
  var flashvars = {};     
  var params = {       
    wmode: "transparent"     
  var attributes = {}; 

  var flashvars2 = {};     
  var params2 = {       
    wmode: "transparent"     
  var attributes2 = {};

        "myContent", "760", "350", "9.0.0",
        flashvars, params, attributes);    

        "headerbanner2", "760", "220", "9.0.0",
        flashvars2, params2, attributes2);    </script>


<!--primary content, for non-Flash visitors-->
<div id="myContent">
  <img src="/images/home-top.jpg" border="0"
    alt="TrueVector Technologies" height="350" width="760">

<div id="headerbanner2">       
  <h1>TrueVector <em>noun</em></h1>
  <p>1) a tool designed to enhance web site navigation.
    2) by eliminating clumsy dropdown boxes and checklists.
    3) giving users easier access to data or inventory.
    4) leading to an enjoyable surfing experience.
    5) resulting in higher click-through rates and longer
    site visits. 6) which lead to more return visits and
    site referrals. 7) ultimately ending in trueVector's
    customers suffering <strong>higher profits</strong>.</p>
    Interactive Map/ Flash Map/ Zip Code Map/
    Rate Center Map/ Store Locator Map/ Real Estate Map/
    TrueVector Flash Map/ US Interactive Map</p>            

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.

Source: Jonathan Hochman


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s