When it comes to SEO, Flash can be a polarizing topic. Whenever I’m speaking with clients about their SEO initiatives (along with their creative and technical staff), it only takes one mention of flash to suddenly get a mixture of angry, excited, and confused looks.
When you break it down, some brand managers love how engaging flash can be, designers love the boundless creativity it offers, IA directors can do without it, SEO’s cringe at the thought of it, and C-level marketers don’t know who to listen to! But one thing is clear. Flash isn’t going anywhere…as you can see by the massive number of websites that employ flash content.
I bring a somewhat unique perspective. I started developing with Flash in 1997, and yes, I once developed highly interactive and engaging flash movies that would make most SEO’s go for my jugular. My roots are in interactive development, and flash was a key tool in my arsenal.
Today, I still understand the power of flash when used properly, but I also know the incredible power of SEO. I’m not against the use of flash, but you better believe I want it optimized if it’s going to be used by my clients. I like to think I’ve come a long way. 🙂
Since I have a broad background in flash development and have developed hundreds of flash movies and applications over the past 12 years, it’s been interesting to delve deeply into flash SEO to see how it has evolved. Although I’ve written previously about using SWFObject to provide crawlable alternative content for flash (along with flash video content), I’ve also been heavily testing and analyzing how the engines index flash (SWF files).
Personally, I’m tired of showing clients the big blank cache of their flash sites in Google! It’s a great visual and is usually a jaw-dropping experience for them, but that simply can’t remain the standard. That’s why I was excited last June when Adobe, Google, and Yahoo announced their partnership.
Improved Flash Indexing, June 2008
In June of 2008, Adobe announced that it was working with Google and Yahoo on improving flash indexing. As you can imagine, I was chomping at the bit to test and analyze how the engines were indexing flash, based on this announcement.
Just to clarify, Google was indexing SWF files prior to the partnership, but they weren’t working with Adobe on streamlining and improving the process. I can remember one of my clients a few years ago sending me a link to one of their SWF files in the SERPs, along with one line of text, “What the heck is this?” 🙂 What was presented in the SERPs wasn’t exactly pretty, but it was a start.
My goal since the announcement has been to make some sense out of how the engines index flash, what are some best practices you should follow when publishing flash content, and what are some things to watch out for as you develop more flash content.
After yet another round of testing over the past few weeks, I decided to write this post so I can help lead you down the right path. Unfortunately, it’s not as easy as that last sentence sounds since this is a highly dynamic area of SEO… It has even changed since July and I fully expect it to keep evolving. That said, I’ll provide some findings and guidance below.
First, since I’ve heard every flash pun in the world over the past year, let me get something out of the way:
This post will not be over in a flash, nor will it be a flash in the pan, hopefully your seo life won’t flash by before your eyes, and Flash the superhero won’t be helping you with your projects… OK, enough with the flash puns! 🙂 Let’s jump in.
GOOGLE IS CRAWLING FLASH, FORGET ABOUT SEO, LET’S DEVELOP EVERYTHING IN FLASH, WOOHOO! But wait…
I remember a flash designer commenting on one of my blog posts about flash seo saying, “Your post is now irrelevant! Google is indexing Flash! Let’s all binge on flash.” Not in those exact words of course. I think my first reaction was “hold on a second buddy…” Nothing has been perfected yet, and actually, this was just announced! By the way, I was right. It wasn’t perfected yet. It was a step in the right direction, but there were other factors that impacted how your flash files were being crawled, namely how you publish your flash content.
In addition, all flash content was obviously not being indexed so it would be premature to think you could disregard providing the engines with alternative html content (which has been a standard practice from an SEO standpoint). It would be crazy to think that Google and Yahoo would instantaneously index all flash content on the web, right?
Great News, But There Were Some Problems
More Concerns About Flash Indexing
Flash is not a simple application…it’s definitely multifaceted (think code, static text, dynamic text, object oriented code, vectors, photos, video, etc.) Needless to say, I had a lot of questions (like many in the industry).
Let’s Not Take A Step Back As Flash Developers…
There was one part of the announcement that really concerned me. Specifically, that dynamically loaded content would not be associated with the parent flash movie (like txt, xml, etc.) I was concerned because that’s a common way for experienced flash developers to scale their content. In addition, dynamically loaded SWF’s would not be associated with the parent movie.
Excuse me, but I have been using that technique since I started developing with flash! Most flash developers and designers understand that breaking up your flash movies into manageable pieces is critical to keeping file-size down and scalability up.
So based on what I explained above, how would the announcement about indexing flash content impact best practices in flash development? Would developers start loading content into one SWF versus logically breaking their content apart? Would they stop using xml data and flood their parent SWF with text? What about spammers? Could they take advantage of how flash was being indexed? And of course, the goal for SEO is ranking, so what would rank? Would the SWF file rank, the parent webpage, or both?
These were all valid questions and this is why I always believe that testing is critical. At SMX East, there was a session on Flash and SEO. The panel contained software engineers from Google’s indexing team and a Senior Product Manager for Adobe Flash Player. It was a great session and was very informative, but the common theme was “this is a work in progress”. I agree, especially after conducting my own testing.
So What’s The State Of The Flashosphere When It Comes To Crawlability And Indexing?
Some Findings, Commentary, and Guidance
So I mentioned earlier that I’ve done quite a bit of testing since July, and I decided to write this post to provide some guidance. I’ll break down some of the key points and findings by major category below. Again, the results provided below are based on my own testing of over 100 flash files across more than three dozen websites. I developed many of the flash movies I tested, so I knew exactly how they were structured, published, etc. Now, you may see different results based on your own sites and flash movies, but I wanted to provide what I found during my own testing.
Yahoo Seems Behind Google in Flash Indexing (and Where’s Microsoft?)
One finding that was clear during my testing was that Yahoo is behind Google when it comes to indexing flash (at least with the sites and flash elements I tested). I can’t tell you why that’s the case, but comparing site to site, and flash element to flash element, Google almost always did a more thorough job. And if you haven’t noticed, Microsoft hasn’t been part of this post. That’s because they weren’t involved in the partnership with Adobe that was announced in July. My hope is that Microsoft (and other engines) will ultimately work with Adobe on crawling flash content. There’s simply too much flash on the web to avoid indexing it! As far as I can tell, Microsoft is not indexing flash content (at least they aren’t showing us anyway…)
During my testing, I found text content indexed from both static text fields and dynamic text fields. When using dynamic text fields, I saw text indexed that was set using variables in ActionScript. I did not find text loaded via xml associated with the parent flash movie (more on that below). Ditto for txt files loaded dynamically. I have also seen text content from components indexed (such as descriptions for radio buttons or other UI elements). In addition, text within other SWF files that were loaded on demand was not associated with the parent flash movie. They were indexed and associated with their own flash movie. Again, I believe this will change, as many developers use this technique to ensure their flash movies are scalable.
External Files Loaded Into Flash
Just like Google mentioned in their post from June, I found that they are not associating dynamically loaded files with the parent flash movie. That includes other SWF files, XML files, and TXT files. I have seen xml files indexed separately, though (meaning they are indexed and show up in the SERPs for text content contained in the xml file, but they aren’t associated with the parent movie). In addition, Google is not crawling FLV files, since there is no text contained in an FLV file. Now, you can inject metadata into FLV’s, and that data can be used programmatically in flash, but that’s not being crawled by the engines. With video so hot right now and gaining in popularity, I would expect the engines to figure out better ways to index flash video. Needless to say, I will be keeping a close eye on how this progresses…
Flash Publishing Methods
- Object and Embed
The “twice cooked” publishing method fared extremely well during my testing. I found this method to yield strong results with regard to indexing. That said, you don’t have a lot of control using standard object and embed tags like you do using a technique like SWFObject (covered below). In addition, embed is not W3C valid and flash now publishes code using a slightly different approach (when you publish a SWF and corresponding html from within flash). That said, I have seen SWF files published with the latest code indexed as well.
- A Quick Introduction to SWFObject
- SWFObject 1.x (Older version of SWFObject)
- SWFObject 2.x (dynamic delivery)
- SWFObject 2.x (static delivery)
* And remember, SWFObject (both static and dynamic delivery), enables you to provide alternative crawlable html content.
- Straight SWF
During my testing, I came across several flash movies that were loaded in a browser window without embed code. For example, just linking to the SWF file versus a page that embeds the flash content. Although these SWF’s were indexed well, this is definitely not an optimal way to go. Usability-wise, as the user expands their window, your SWF will also expand. If it’s completely vector-based, you’ll be ok. But if it contains images, video, etc. then your flash content might not look so hot, to say the least. In addition, you have no control over your flash content. You can’t detect the flash player version, you can’t pass variables, you can’t set attributes, etc. Again, I highly recommend using SWFObject 2.x using static delivery.
I’ve received a lot of questions about how links are followed from within flash content. This is an important topic for many SEO’s… I definitely have seen links followed within the flash movies I tested, including links in text fields, dynamic text fields, and in ActionScript. Regarding nofollow, Google stated in their June announcement that they will respect nofollow in flash. So, you can use it where possible (for example in dynamic text fields using html). Since links are followed, many people in the industry have wondered how this can be gamed. I have also voiced my concerns about both keyword stuffing and gaming links. Again, flash is a multifaceted tool and there are many ways that black hat developers could try and game the system. In addition, it’s not so easy to enforce… I guess time will tell how many people try and game flash and then how the engines fight back.
If SWF files can be crawled and indexed, could they build PageRank? Yes, it seems they can. I have found numerous SWF files that show PR. Here’s an example from Adobe’s website. As you can see, the SWF has built up a PR 6. Nice. 🙂
Some misc. things to watch out for in this new world of flash indexing:
- Be careful about the text you leave in your flash movies. I know some developers mistakenly leave older movieclips and code in their flash movies. Well, that code and text can now be indexed. i.e. A movieclip that isn’t initially visible in the flash movie could be overlooked by developers, but Google may very well index that text content (and it could rank for that content.) You probably don’t want to receive that call from your client. 🙂
- Be careful not to “break down” any text into objects if you want that text indexed. You will essentially create artwork out of your text and the engines won’t identify it as text (it will be seen as a graphic element). For flash developers out there, I’m referring to highlighting static text and clicking control B (Break Apart), which turns your text into vector artwork.
Summary and Recommendation
I know we covered a lot in this post and I hope you stuck with me to the end! I also hope it helped you understand more about flash indexing and how to best proceed. Again, I fully expect this to evolve and become clearer for both the SEO and Flash communities. If you couldn’t tell in my post, my official recommendation is to use SWFObject 2.x using static delivery. As mentioned above, it enables you to provide crawlable alternative html content, but also enables Google and Yahoo to index your flash movies. You get the best of both worlds. So, if for some reason the engines don’t index your SWFs (which I have seen happen on occasion), you still have alternative content that can be indexed.
I definitely plan to keep testing flash content to see how the engines are progressing with flash indexing and I’ll be writing more posts to cover the results. Stay tuned…
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 to keep up with his latest projects, news, and updates.