Flash is
popular on the Web, but each presents challenges to the search engines in
terms of indexing the related content. This creates a gap between the user
experience with a site and what the search engines can find on that
site.1. Flash
It used to be that search engines did not index Flash content at
all. In June 2008, Google announced that it was offering improved
indexing of this content (http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html).
This announcement indicates that Google can index text content and find
and follow links within Flash files. However, Google still cannot tell
what is contained in images within the Flash file. Here are some reasons
why Flash is still not fully SEO-friendly:
Different content is not on different URLs
This is the same problem you encounter with AJAX-based
pages. You could have unique frames, movies within movies, and so
on that appear to be completely unique portions of the Flash site,
yet there’s often no way to link to these individual
elements.
The breakdown of text is not clean
Google can index the output files in the SWF file to see
words and phrases, but in Flash, a lot of your text is not inside
clean <h1> or <p> tags; it is jumbled up into
half-phrases for graphical effects and will often be output in the
incorrect order. Worse still are text effects that often require
“breaking” words apart into individual letters to animate
them.
Flash gets embedded
A lot of Flash content is only linked to by other Flash
content wrapped inside shell Flash pages. This line of links,
where no other internal or external URLs are referencing the
interior content, means some very low PageRank/link juice
documents. Even if they manage to stay in the main index, they
probably won’t rank for anything.
Flash doesn’t earn external links like HTML
An all-Flash site might get a large number of links to the
home page, but interior pages almost always suffer. For embeddable
Flash content, it is the HTML host page earning those links when
they do come.
SEO basics are often missing
Anchor text, headlines, bold/strong text, img
alt attributes, and even title tags are
not simple elements to properly include in Flash. Developing Flash
with SEO in mind is just more difficult than doing it in HTML. In
addition, it is not part of the cultural lexicon of the Flash
development world.
A lot of Flash isn’t even crawlable
Google has indicated that it doesn’t execute external
JavaScript calls (which many Flash-based sites use) or index the
content from external files called by Flash (which, again, a lot
of Flash sites rely on). These limitations could severely impact
what a visitor can see versus what Googlebot can index.
Note that it used to be that you could not test the crawlability
of Flash, but the Adobe Search Engine SDK does allow you to get an idea
as to how the search engines will see your Flash file.
2. Flash Coding Best Practices
If Flash is a requirement for whatever reason, there are best
practices you can implement to make your site more accessible to search
engine spiders. What follows are some guidelines on how to obtain the
best possible results.
2.1. Flash meta tags
Beginning with Adobe/Macromedia Flash version 8, there has been
support for the addition of title and description meta tags to any
.swf file. Not all search engines
are able to read these tags yet, but it is likely that they will soon.
Get into the habit of adding accurate, keyword-rich title tags and
meta tags to files now so that as search engines begin accessing them,
your existing .swf files will
already have them in place.
2.2. Adobe Flash search engine SDK
Flash developers may find the SDK useful for server-based text
and link extraction and conversion purposes, or for client-side
testing of their Flash content against the basic Adobe (formerly
Macromedia) Flash Search Engine SDK code.
Tests have shown that Google and other major search engines now
extract some textual content from Flash .swf files. It is unknown whether Google
and others have implemented Adobe’s specific Search Engine SDK
technology into their spiders, or whether they are using some other
code to extract the textual content. Again, tests suggest that what
Google is parsing from a given .swf file is very close to what can be
extracted manually using the Search Engine SDK.
The primary application of Adobe’s Search Engine SDK is in the
desktop testing of .swf files to
see what search engines are extracting from a given file. The program
cannot extract files directly from the Web; the .swf file must be saved to a local hard
drive. The program is DOS-based and must be run in the DOS Command
Prompt using DOS commands.
By running a .swf file
through the Flash SDK swf2html program during development, the textual
assets of the file can be edited or augmented to address the best
possible SEO practices—honing in
primarily on keywords and phrases along with high-quality links.
Because of the nature of the Flash program and the way in which it
deals with both text and animation, it is challenging to get exacting,
quality SEO results. The goal is to create the best possible SEO
results within the limitations of the Flash program and the individual
Flash animation rather than to attempt the creation of an
all-encompassing SEO campaign. Extracted content from Flash should be
seen as one tool among many in a larger SEO campaign.
2.3. Internal Flash coding
There are several things to keep in mind when preparing Flash
files for SEO:
Search engines currently do not read traced text (using the
trace() function) or text that
has been transformed into a shape in Flash (as opposed to actual
characters). Only character-based text that is active in the Flash
stage will be read (see Figure 6-42).
Animated or affected text often creates duplicate content.
Static text in Flash movies is not read as duplicate instances
that “tweening” and other effects can create. Use static text,
especially with important content, so that search engines do not
perceive the output as spam (see Figure 6-43).
Search engine spiders do not see dynamically loaded content
(text added from an external source, such as an XML file).
The font size of text does not affect search engines; they
read any size font.
Special characters such as <, >, &, and " are
converted to HTML character references (< >
& and ") and should be avoided.
Search engines find and extract all URLs stored within the
getURL() command.
Search engines have the ability to follow links in Flash,
though it is an “iffy” proposition at best. They will not,
however, follow links to other Flash .swf files. (This is different from
loading child .swf files into
a parent .swf file.)
Therefore, links in Flash should always point to HTML pages, not
other .swf files.