Flash and SEO
It is a common misconception that a site made in Flash is invisible to Search Engines. Many think that because of its proprietary code, rich content and the visual bells and whistles it offers that Google and the other major search engines see Flash content as a black hole.
While this may have once been the case, the truth of the matter is that Google has been indexing Flash content and listing sites in its results for years. For the most part crawlers are able to see what a real-life visitor can see. They can read text, click buttons and generally explore your movie as real visitors do.
In an ideal world a developer would be able to construct a site purely in Flash, load in external content throughout and let the Search Engines get on with indexing the page as it would a normal site. Unfortunately for us it’s not quite that simple and though they can and do index Flash content, the crawlers are behind in their ability to fully ‘see’ everything in a Flash Movie compared to the equivalent HTML site and require a bit of hand holding. Here’s how you can make a bot’s life easier and increase the chances of getting ranked well for Flash content.
Use Text
It might sound obvious but to represent words in your Flash you should always try to use text rather than an image. A crawler can’t read the words in an image so if you’ve imported a graphic that contains keywords relevant to the page (a screenshot perhaps) you should consider whether you could supplement the image with a descriptive caption below it, swap it completely for static text or at a bare minimum use the Accessibility Panel in Flash (see below) to give an accurate alternative description of the picture.
Accessibility Panel
Since Flash MX Professional 2004 the Accessibility Panel has been available to developers and allows text equivalents to be given for elements of a movie. You can find it under Window > Other Panels > Accessibility
Accessibility Panel in Adobe Flash
The Name field should be considered the equivalent of the ALT attribute in HTML, and where a longer description is needed, the Description field should be used. This doesn’t only help the Search Engine bots, it also provides better accessibility for screen readers and older mobile devices.
Offer an alternative with SWFObject
Complementing the Accessibility Panel you can embed your Flash using SWFObject.
To embed the Flash use:
<script src="swfobject.js"></script>
<div id="someflashcontent">
This is the alternative content and will be replaced
by the Flash movie.
</div>
<script>
var myobject = new SWFObject("logobanner.swf", "mybanner", "300",
"250", "8", "#FF6688");
myobject.write("someflashcontent");
</script>
SWFObject will detect if the user has Flash installed and if they do it will replace the div content with the specified SWF using JavaScript. If they don’t have Flash they’ll just see the div content as normal. The idea is that you place an alternative text description of the content of your Flash. Try to match this as close as possible to what is in the movie and just as you would with an ALT attribute describe graphics accurately. It works on all the major browsers and operating systems and even Google can execute the simple JavaScript.
Loading in external content: A warning!
Even if your Flash file pulls in external content like another SWF, Google can see and index it though it won’t consider that content to be part of the content in your main Flash file. This is an important point if large portions of your site are in Flash and load component parts separately. Each piece of external content may get its own listing on the results page rather than attributing that content to the main page.
See what Flash looks like to Search Engines?
There was once the Macromedia Flash Search Engine SDK tool that would extract text and links from a SWF file and lets us see a Flash file from the point of view of a the search bot.