Tuesday, July 8, 2008

Optimizing Flash Files For The Search Engines

by: Mike Goldstein

What is a Flash Movie?

A flash movie, or shock wave file (SWF), is the file format published when a Flash movie is exported. A SWF file can also be exported by several other Macromedia or Adobe Products. The SWF is usually an animation, dynamic menu, or highly interactive web-based application embedded into an HTML page. Flash files, when exported correctly for the best web-based optimization, are compressed, thus making their file size lightweight. The SWF format is ideal for presenting vector-based, interactive and animated graphics with sound and video for the web. Vector images are ideal because they will not “pixilize” if stretched or compressed. Flash files can also contain text which can be animated, static or dynamically populated from external sources, such an XML file or a database. Text embedded in a Flash file, for many years, could not be read by search engines. However, recent updates by Macromedia are making this a possibility.

Problems with Flash and Search Engines

Historically, it has been difficult to get Flash content indexed and ranked by search engines. In the past, search engines, such as Yahoo and Google, did not spider Flash content as they could not read the compressed file and much of the text inside the SWF appeared as graphics to the search engines.

The main page of a web site, if Flash-based, rarely ranked well, unless off-page factors such as link popularity or link reputation were sufficient enough to carry the page. Flash files that were indexed by Google, Lycos and other search engines, which did not have any text or key words associated with them in the search engine results pages (SERP).

Techniques Used in the Past to Make Flash Visible to Search Engines

Traditional Search Engine Optimization (SEO) techniques would help your site get indexed, but not rank for search terms. Every web site needs at least one HTML page to load into a browser. For a web site developed completely in Flash, developers would embed their flash files into an HTML document and then create the meta tags in the head section of the HTML file. They would also add descriptive HTML text for the search engines in the body section of the HTML page, then use CSS positioning and percentages to load the Flash move in a pixel-perfect location over the top of text. This particular technique should not be used any longer, as search engines will view this technique as an attempt to add hidden text, and hidden text will incur a penalty from the engines.

Another technique which could help your Flash ranking is to not compress your SWF files. One of the reasons search engines could not read flash files in the past is that the files are compressed. If the SWF is uncompressed, search engines can read the static text. This technique can be accomplished easily. Upon exporting a Flash file, you can set the compression to "not" if you want your text inside the Flash movie to be readable by the search spiders. However, this is not a good practice, as not compressing your SWF will increase the file size, consequently negating a major benefit to Flash file – a lightweight file.

What Macromedia has Done to Make Flash More Visible to Search Engines

In the past, Google did index Flash files. Anyone can test this fact out by searching in Google using the “filetype” operator to restrict your search. For example, try the following search: "Casino Games filetype:SWF”. The SERP will include over 200 Flash files, which are indicated by the “Flash” text to the left of the listing.

Some search engines are now using the Macromedia Flash Search Engine SDK (Software Development Kit). For example, Google, AllTheWeb, Lycos, and other sites can readily display links to Flash content. Flash Search SDK is and open source tool that allows search engines to modify it to suit their needs. With this level of customization, it is likely that the major search engines will modify SDK, making it difficult for website owners to know exactly what information will be pulled out of the SWF file or how it will impact actual rankings.

The Macromedia Flash Search Engine SDK can be found at

http://www.macromedia.com/software/flash/download/search_engine. According to the Macromedia/Adobe web site, The SDK includes an application named 'swf2HTML'. Swf2HTML extracts text and links from a Macromedia Flash SWF file, and returns the data to an HTML document. Swf2HTML is provided as a compiled application and as a static library for linked library implementation. SDK can interoperate any links that are in the action script so long as adhere to the following criteria:

• The link is contained within single quotes (' ') or double quotes (" "), and

• The link prefix is HTTP, and

• The link suffix is HTM, HTML, CFM, SWF, JPG, JPEG, MP3, or WAV

By default SDK extracts the following text from your flash file:

• Text on stage in the current movie (dynamic text, static text, or input text that has an initial value assigned)

• Text on stage in a movie that is called with movieClip.attachMovie()

Google can see certain text in Flash files now, but how and where certain text gets extracted depends on what you do with that text in the Flash presentation. For example, text that is static or is used in a motion tween can be read as a single instance with SDK. However, some animation involves converting text into a symbol and then using multiple copies of that symbol to achieve a desired effect. This will create duplicate instances of your text to the SDK output, which may be viewed as duplicate content and not given much importance by Google.

Using the SDK tool, any developer can get the text output from the SWF and see how search engines view the extractable text of any SWF. On a Windows operating system, you can go to the DOS prompt and execute the swf2HTML application very easily. The following is an example from the DOS prompt: C:\sdk\swf2HTML -o test.HTML C:\sdk\crt_webfiles\test.swf

Search Engine Optimization (SEO) Techniques Used Historically for Flash

Each Flash file does not need to be uploaded independently and called as a SWF file; rather a Flash file can be embedded in a standard HTML document. One of the best techniques is to create a modular web site, where there are several Flash files which make up the web page combined with standard HTML elements. A hybrid site such as this, works especially well, if your navigation uses traditional HTML links. You can use cascading style sheets to give the appearance of flash text links. This type of hybrid site will always rank better than an all Flash site – all other factors being equal. It's also important to have your HTML page title correct, regardless of anything else. Several search engines look at meta titles first. In addition to the page title, you can add meta tags to the head of the file. Outside of the actual HTML page, off page factors are important. There has been much written in recent articles that reciprocal links are not as important any longer, but certainly, one-way links pointing to your site from highly relevant and high ranking pages will increase your page rank. In addition links from prominent directories, such as Yahoo and Business.com, placed in the most relevant categories will help. One-way inbound links from relevant sites is still the best way to increase your ranking with or without Flash.

There are programming techniques which work while in the Flash authoring environment. While you are in the Flash authoring environment, with your FLA open...click F12. It will generate the HTML page for you. Look at the code of the page; it creates a place for you to put the text and URL's used in the Flash.

New SEO Techniques for Flash

Today there are many techniques which can overcome the limitations of the past, where Flash files are concerned. With the inception of the new Macromedia Flash 8, there are techniques which can be implemented to greatly increase the ability of search engines to index Flash files and even rank for key words.

In the past, SWF files could not have titles. This is one important reason why Flash files didn't rank well. This title limitation has now changed. Flash 8 does allow you to input meta data. Flash 8 defines two fields with meta data for all Flash files. These two fields are Title and Description. You can access the meta data fields under Document Properties. To add meta data, fill in the text fields and the search engines will know what info to display about your Flash file.

SDK is fairly intelligent in terms of recognizing text and links that are embedded in the file. If text is static or dynamically driven by an XML or text file, it can be read. If your content is dynamically driven it must be done so using the latest version of ActionScript 2.0. The SDK does parse ActionScript 2 byte code looking for links. It could conceivably find the link to the XML file that way and hand it back to a search engine.

As referenced earlier, certain text can be modified into a symbol rather than strait text. For example, a button might have the text output two or three times. Alternatively, tweened text has motion associated with the action. Tweens result in a single occurrence in the output from the extraction process. You should also notice that the link text in the Google results page is identical to the first couple of lines of text at the very top of the text extracted by swf2HTML. Armed with the knowledge of how SDK parses your content, you can manipulate text in your Flash Movies more carefully and make your content key word dense, easily indexable, search engine friendly and, with a little more skill, even optimized.

What is the gist of all this? Flash is still not the best solution for a pure SEO-based project, but their have been giant leaps forward by both the search engines and Macromedia in allowing your flash files to be indexed and even rank for the key word phrases you covet.