Flash SEO - SEFFS - Optimize Flash Sites to be Indexed by Search Engines!

July 6th, 2007


Macromedia Flash or as we know it now “Abobe Flash” is a unique technology used produce eye candy websites that has it all (Audio, Video, Animation and Dynamic Content). It is always recommended by Creative people when a client asks for Interactivity and Hi-Tech stuff on a website! The benefit is great and provides the user with a unique experience if well presented.

The problem with Flash is that it is an object that requires users to have the Flash Player installed on their system to be able to view it. This is less of a problem nowadays with most of visitors experiences since Flash is becoming widely used and recognized. The actual problem now is how well can a site using Flash be optimized and reachable by Search Engines.

It was said and seen that Some Search Engines “Primarily Google” started indexing content in SWF files and extracting text/links from these files to be used in searches… This is true! but what happens when you embed the Flash object within your pages using JS? This will simply stand between the chance of your Flash site getting indexed by Google and the option of indexing Flash content in SWF files! Too bad ha?

Well Don’t worry! Still there is a chance “i guess” to keep your Flash site Optimized for Search Engines while still having it as Flash and Embedded using JS!

The Theory

We want to have Flash enabled sites! and we want it Optimized for Search Engines! Sounds Impossible?! Well not at all if we used the right content with the right method! The Goal is to have a SEFFS! by that we mean a Search Engine Friendly Flash Site ;)

As we already agreed above that using the Embedded Flash Object on a Page whether Embedded Using JS or Not is not SEO’ed! That leaves us to a question! How?

All i can think of right now is two methods: “Using JS Embdeing with SWFObject to have an XHTML Valid Flash Object and Avoid the Flash Object controls block”

  1. Embed with JS and use anchors on Flash Links
  2. Embed with JS and use XHTML’ed content or “Alternate Content”

Embed with JS and use anchors on Flash Links

This is an old method that i used to think of to enable the indexation of non SEFFS, I never had the time to try it though!

The Point here is to prepare your Flash site to be ready to read anchors from the URL and pass it as a FlashVars so that the flash site can read it and direct the user to the right content in the Flash movie! This will give the chance to have the different sections of the Flash Movie accessible via a URL.

The Flash content can be Text or Not, this won’t matter here as this method does not support content indexation since we are embedding the Flash Object Using JS in which we kill the ability to crawl and index SWF objects.

Once you have your Flash Movie ready to read anchors via a URL to call a section using that anchor, all you need to do is to add a <noscript> tag listing all the used Links in the form of

<a href="http://www.somesite.com/index.html#services">Services</a>
and so forth for all the used anchors…

This will easily give the chance to search engines to pick up these URLs and list it “Crawling the content won’t be of much help since the content itself is not optimized”

Conclusion of Method 1:

This method will only provide more links to access you different Flash site section, it’s not a real Optimization at all! It’s just a way to give more access sources to your “Non Optimized” Flash site. I would not bother… but if you want to try and see the results please let me know!

Embed with JS and use valid XHTML’ed content

The point here is that “Content Comes First”, But not any content! It should be the SEF content. In this method, it is required to develop a simple valid XHTML version of your website, which will be useful for non-Flash users/visitors and at the same time will be serving as a content provider to your Flah site. Just like using XML as the content layer in the Flash site, you can Easily use XHTML as it is a dialect from XML and for sure as long as the syntax is valid.

Now after having a simple XHTML version of the site, you need to deploy Flash to use the XHTML as the content source. this can be easily programmed i guess!

If you ever heard about sIFR that will be ther perfect technology. Basically, sIFR is a technology that allows you to replace text elements on screen with Flash equivalents. The technique will work as long as the user has JavaScript enabled and the Flash plugin installed. If one or other is not available, the browser will fall back to traditional CSS based styling and use the XHTML structure to load the page.

Problem is that sIRF serves this on a very small scale, more action scripting is required to be done at this point to achieve the required.

schulz-3d.de is a great site using XHTML driven content and is fully Flashing ;) thanks for my friend Phil for sharing this site with me!

Conclusion of Method 2:

In this way, we are still using an optimized version of the site SEF and causes no issues with search engine spiders, because it’s entirely done with XHTML and CSS! Now when using Flash, this layer will be serving as the content layer for the Flash site that will be visible instead of the XHTML/CSS version when both JS and Flash is available to serve that, otherwise the XHTML/CSS version will come as a Fall Back version…

Simply 2 in 1 and Optimized!

4 Responses to “Flash SEO - SEFFS - Optimize Flash Sites to be Indexed by Search Engines!”

  1. John Says:

    Hi! Good site respect! Thanks!

  2. Saif Diwan Says:

    Nice article.

  3. Rajesh Says:

    what are the no-embedded tags which can be used to optimize a website in flash or frame??

  4. Dido Says:

    Use the SWFObject from deconcept http://blog.deconcept.com/swfobject/

    This is the best way to embed a Flash Object in an SEF way. as for frames, you have to forget about frames my friend frames will never be SEF.

    after all, the best way to have an SEF website is to have it straight forward XHTML to be 100% visible.

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image