How to SEO Flash - Part Two
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.
<head>
<!--snip-->
<script type="text/javascript" src="/js/swfobject.js">
</script>
<script type="text/javascript">
var flashvars = {};
var params = {
wmode: "transparent"
};
var attributes = {};
var flashvars2 = {};
var params2 = {
wmode: "transparent"
};
var attributes2 = {};
swfobject.embedSWF("/flash/map_test.swf",
"myContent", "760", "350", "9.0.0",
"/flash/expressInstall.swf",
flashvars, params, attributes);
swfobject.embedSWF("/flash/homepage2.swf",
"headerbanner2", "760", "220", "9.0.0",
"/flash/expressInstall.swf",
flashvars2, params2, attributes2); </script>
</head>
<body>
<!--snip-->
<!--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>
<!--snip-->
<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>
<p><strong>Syn:</strong>
Interactive Map/ Flash Map/ Zip Code Map/
Rate Center Map/ Store Locator Map/ Real Estate Map/
TrueVector Flash Map/ US Interactive Map</p>
</div>
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. To send feedback, please visit http://www.hochmanconsultants.com/.














