Using SWFObject 2.1 To Provide Alternative HTML Content (Part 1 of 2)

Using SWFObject 2.1 To Provide Alternative HTML Content (Part 1 of 2)

The rise of online video content has led to many questions about Website Video SEO, or how to optimize your videos on your website so they can be crawled and indexed by the search engines.  From a best practices standpoint, there are several things you can do in order to properly optimize your video content (and those items have been covered here on ReelSEO in the past).

One important item on that list is ensuring you provide alternative html content for your flash video that can be crawled by the search engines.  It makes a lot of sense, but you might be asking yourself, "How in the world do I accomplish that?”  Well, that's exactly what I am going to cover in this two part series.

But Isn't Flash Already Crawlable?

Although Google and Yahoo are working with Adobe to crawl flash content (SWF files), I would consider it a work in progress and I wouldn't rely on this solely.  There are currently limitations based on how you publish flash content on your site and how the engines crawl externally loaded files in your flash movies, such as xml, txt, and other SWF files.  In addition, the engines don't crawl FLV files (your actual video content), since they don't hold any text.  When Google announced they were starting to crawl flash, I completed a number of tests with dozens of flash movies to determine how they were being crawled and indexed (and I keep testing often).  Based on my testing, I still recommend providing alternative html content when publishing your flash movies (for both accessibility and SEO purposes.)  I'll cover how to accomplish this in detail using SWFObject 2.1.

Defining Flash Movies (SWF) and Flash Video (FLV)

Let's quickly cover some of the terminology used in this tutorial. For those of you not that familiar with flash video, you might be wondering if I'm referring to providing alternative content for SWF files or flash video (FLV) files.  When you provide flash video on your website, you are typically using a flash video player (SWF) to load and play flash video files (FLV).  The SWF is the parent flash movie that loads other types of content on demand, like other swfs, flvs, etc.  So for this two part series, I'll cover providing alternative html content when providing flash video on your website using a flash movie (SWF) that loads external video clips (FLV).  Also, the terms flash movie and SWF are synonymous while flash videos are the actual video files used.  I know that's a confusing point for some people new to flash.

What is SWFObject?

SWFObject is a JavaScript library that enables you to provide alternative html content in place of your flash content for accessibility and SEO purposes.  You can utilize SWFObject when providing flash video on your website to provide crawlable html content that describes your video (or you can even provide a video transcript if you have dialogue that you would like indexed).

Is Using SWFObject Search Engine Safe?

Yes, SWFObject is search engine friendly, AS LONG AS YOU USE IT PROPERLY.  When I first wrote about using SWFObject with flash, nobody really knew for sure how the engines would interpret it.  But using SWFObject definitely made sense for users, so I was hopeful that the engines would embrace its use.  But I also knew there would be those who take advantage of this technique by stuffing keyword-rich content and links using SWFObject.  A quick warning…don't do this, it could turn out very badly for you (and for your clients).  On that note, I was at SMX East recently and sat in a session about Flash and SEO.  The panel contained software engineers from Google's indexing team and a Senior Product Manager for Adobe Flash Player.  It was great to hear them talk about using SWFObject to provide alternative and crawlable html content.  But don't take their approval as a green light to stuff every possible keyword into your alt content!  Always think in terms of what's best for users.  For example, what html content would you like to provide in order to explain what your flash video is about?  Or if there is dialogue, would it benefit users to have the transcript crawlable?  I would just make sure your alt content matches your video content.

SWFObject Versions & Flash Publishing Methods

There are a few versions of SWFObject and then several ways to publish flash using each version.  I'm going to cover SWFObject 2.0 (now v2.1), which is the latest version of the JavaScript library.  If you are still using 1.5, then I highly recommend upgrading.  You can publish your flash content using SWFObject 2.1 in two ways, using static publishing and dynamic publishing.  Static publishing is the latest method, which uses standards compliant markup and doesn't rely on JavaScript to display your flash content.  I highly recommend using this method, especially since I have also seen SWF files crawled successfully using this publishing method (the text content and links in the SWF were crawled and indexed).  Dynamic delivery relies on JavaScript to display your flash content and uses a similar approach to previous versions of SWFObject (like version 1.5).  Dynamic publishing takes care of the "click to activate" browser behavior and static publishing does not, although you will see this issue less and less as Microsoft removed the behavior in 2007.  Again, I highly recommend static delivery.

Website Video SEO Best Practices:

Before we hop into the tutorial (in Part 2 of this series), keep in mind that you should also be using Video SEO best practices along with SWFObject.  Don't just rely on SWFObject because it takes care of providing alternative content…  For example, you should also optimize the page that contains the video (based on keyword research), use a video sitemap, mrss feed, etc.  I just wanted to make sure you knew that SWFObject is just a part of the Video SEO equation.

A Quick Review of Part 1:

I've introduced Video SEO, Flash Movies and Flash Video Files, SWFObject, and static and dynamic publishing methods of SWFObject 2.1.  In Part 2, we'll walk step by step through setting up SWFObject 2.1 using static publishing to provide alternative html content for your flash video projects.  And yes, that means we're going to dig into some code! Read Part 2 Here.

Don't Miss Any Stories!
Get daily online video tips and trends via email!
Posted in Video SEO
About the Author -
Glenn Gabe is an online marketing consultant at G-Squared Interactive. He currently helps clients maximize their digital marketing efforts via SEO, SEM, Social Media, Viral Marketing and Web Analytics. You can read more of Glenn’s posts on his blog, The Internet Marketing Driver and you can follow him on Twitter @glenngabe to keep up with his latest projects, news, and updates. View All Posts By -

What do you think? ▼

Comments are closed.