SEOing A Flash Intro
Introduction
Why does a FLASH intro need SEO?Flash, the great SE killer, is basically nonspiderable, although there are reportsof the opposite. In this way, the intro creates a solid, non-permeable barrier between the website and the external world. One way around is to place the intro into a frame and connect the other pages via links from the [noframes] tag. The SE will follow such links, but will not place much weight on the anchor text or any keywords within the [noframes] tag. In this way, the index page is practically lost for most SEO purposes. A tremendous waste, if you consider that, from the SEO viewpoint, the index is the most valuable page of your entire website. For example, it is significantly easier to obtain external links pointing to the index page.
Using frames is definitely a very bad option. The very best action is to talk the website owner into removing the FLASH intro at all.
Even offering a small discount is worth the expenses. But unfortunately, most business ownners are completely fascinated by the idea of their logo bouncing around the screen, changing colors and doing other rather annoying things. This is where the real SEO comes into the play.
Just to make things clear. I sort of like FLASH. I agree that it isa killer tool for webdesign - if used properly. But I do not think thatan intro is a proper usage for this technology.
Planning
# Traditionally, cloaking is based on simple principles.Identify the visitor on the basis of the user agent or (better) its IP address.
# Serve different content to SE and human.
Here we will use somehow different and as I believe, more gentle principles:
# Find if the client accept FLASH (Google does not).
# Serve the same page to both types of clients. The only difference: the FLASH accepting clients will get the real content of the page overlayed by the FLASH layer. Pressing the STOP button will remove the flash layer, revealing the actual content of the page.
Implementation
You will find a working example at our webdesign site. There you will also find the links for downloading the source code of index.php, flash intro and switch.php.
index.php
This is the page containing the FLASH intro. The FLASH object is contained within a [div]tag with a high Z index and will therefore overlay the actual text placed into the underlying [div] tag.
Flash intro itself
The only requirement is that the STOP button points to the page switch.php
switch.php
After the STOP button is pressed the script in switch.php is executed. The script will register a session variable intro ensuring that the intro will not be played again. Calling the script again through the play intro link will reverse the situation.
Problems
* The example above uses sessions for preserving the state information. Sessions are usually stored in cookies. Thus clients with disabled cookies will not be able to escape from the FLASH movie. A simple remedy is to store the state in both a session and _GET variable. You may also consider propagating the session in the url, by setting session.use_trans_sid=1 in the php.ini file. This problem will not affect the SE. They will not be served with the FLASH. Even if they are, they will see the real page content and will not press the STOP button to start the session.
* A minority of FLASH enabled clients will not admit the ability to interpret FLASH in the content of $_SERVER["HTTP_ACCEPT"] variable and will not see the intro. Not a real tragedy.In fact you may decide to serve the FLASH uniformly, to all type of clients. The SE will see the real content immediatelly, the human users after clicking the STOP button.
Vaclav Mach is owner of the Scisoft webdesign- a website visibility and accessibility oriented company.