Wednesday, July 23, 2008

SWFs to become fully searchable

SWFs to become fully searchable

Today, Adobe announces a new search engine solution, a special Flash Player that runs on the server to provide Search Engines a "real" look at what's inside your Flash and Flex files, including any dynamic data it pulls in. We talked to Justin Everett-Church from Adobe to get to know more.

Search engines have been able to index the SWF files that Flash and Flex output for quite some time. Back in 2002, Macromedia released the Search Engine SDK that enabled the Search Engines to look at the binary SWFs and extract URLs and text. Google was the first engine to do this and AllTheWeb followed shortly after that. The drawback was that only what was hard-coded in the SWF could be indexed.

What is new with todays announcement, is that the engines will be able to "see" the Flash file just as a user would, including dynamic calls. This will open up Flash sites and Flex applications to be fully indexed and allow SWFs to be fully SEO compliant. Justin Everett-Church is the Sr. Product Manager for Adobe Flash Player at Adobe and we got a chance to talk to him about how this server side Flash Player works.

"Any time their spider needs to view a SWF file, it will load up this version of the Flash Player and at any given point in the application it will give the text and links that are available then. What Google and Yahoo are doing then is driving that application with a virtual user and they can navigate the application whether it's an application, website or what have you and keep going down different paths of the file until they feel that they have viewed all the content", Justin says. "As they get it, they'll take all the data that they want and can do actually what they want with it and attribute the value of that data back to the HTML page, so that when an end user actually does the search, they will be provided with links that have content that's relevant".

The player provides opportunities for the engines not to render the result and other things that make it possible to optimize the process to make it go faster, but overall it is the same player. "What they are going to be given is an application that is going to provide them with some additional options and some of this are the hooks that we have given the search partners to work with that it knows what display objects are currently being displayed, they can try different events with them and actually kind of interrogate the SWF in many ways. They can simulate pretty much any user interaction as well".

The Search Engines themselves will have to decide how they want to implement this so there's no definitive way to build your SWF to make it fully indexable. Justin says that the good thing for Flash developers is that they don't need to do anything with their old content. Because it is the runtime of the Flash Player that is viewing the file, it is going to run all the way back to SWF 1 so even your oldest SWF files can now be read.

Google is in the process of rolling this out now and Yahoo are committed and will follow shortly after. Keep in mind that there is no way to have Google index all the content in a big application. They still have to present this in the context of the HTML page that embeds the SWF. If you have a large application, you will still need to provide the engines with suitable entry points to the application. You have some possibilities when it comes to this. You could make a sitemap that links to different states in a Flex application, but you can also use FlashVars. Justin says; "One thing this player does is it takes in FlashVars that are being passed into the page so if you have pages that have different FlashVars to get you into different states of the application, that would actually be respected and it would be indexed accordingly". Adobe provides the hooks for this, but it will be up to the Search Engine to decide what they implement.

As for how you would go about optimizing your SWF so that it will be fully indexed, Justin says "We do expect the SEO community to lock onto this and start providing Best Practices about what you do inside your SWF and how it will actually translate into higher or lower search rankings". They also expect Flash community members to apply they knowledge and expertise to this as well and we'll follow this closely as Google and yahoo rolls out their services.

Right now, Adobe is focusing on text and links, but Justin sees possibilities for both images, grabbing screenshots and FLV metadata in the future. Note that the previous version of the SWF Search SDK is no longer available, yet Adobe wants to help make all SWF content more easily searchable.



post signature