25 Nov 2008

SWFAddress and robots.txt

During the past few months I started learning and testing how the robots execution standard applies to our website and specifically to the SWFAddress SEO techniques that we promote. The SWF indexing has drawn attention recently with the announced partnership between Adobe and Google but at the moment it's still pretty basic for our needs. We decided that we want to stick with plain indexable HTML and forbid the SWF experiments that Google are currently doing. The robots.txt that we're finally using looks like this:

In addition to the SWF files we also disallowed the indexing of our data sources. Once again I want to mention that the existence of a sitemap is important.

12 May 2008

Flex on Wordpress

This is the name of probably the most interesting SWFAddress sample I showcased at 360Flex Europe. A week ago I found some time to deploy it on and now everybody can experience this linkable and indexable Wordpress powered Flex based website.

The whole idea for this thing came up when I was working on a Flash CS3 based client project that needed a CMS and potentially community features. I already had good experience with Wordpress and I have always believed that it offers the best administrative interface out there. Utilizing such a system for content management is good because it automatically offers you a clean indexable HTML that can be used as a data source for a richer Flash/Flex/Whatever interface. In this sample the Flex movie directly consumes the HTML pages generated by Wordpress and parses the parts it needs without using additional XML dialects. It doesn't use posts and comments but only pages and probably can be extended in the future if there is enough interest.

Although it looked easy at first and I had to overcome some difficulties with Flex. The E4X expressions I used with AS3 in Flash didn't worked exactly the same in Flex 3 so I dived into experiments and tweaks that finally allowed me to achieve everything I wanted. I found it strange that some normal things from the CSS land are not that easy with Flex. Thankfully there are ready to be used solutions for repeated backgrounds and hover link styles. The integration of the SWFAddress PHP code in Wordpress was relatively easy and the result works exactly the same as our SEO sample. The SWFAddress ActionScript implementation became nothing more than a single proxy that requests the corresponding HTML.

15 Nov 2007

SWFAddress 2.0 part 3 - Ajax and SEO

In the third and last part of the SWFAddress 2.0 presentation series I would like to give an overview of the two major features that this release introduces.

My personal experiments with deep linking actually started with Ajax and later I used the experience to create SWFAddress. Because of this the Ajax support has always been a matter of time and after the 1.1 release it became a standard user request. As you probably know there are many solutions of this type and every major JavaScript library have this functionality available natively or in the form of a plugin. The usage of SWFAddress will only make sense if it's better that the rest and now I'm going to explain why SWFAddress 2.0 really becomes the best offering at the moment.

As it was mentioned in the firts part of this series, SWFAddress is already deployed on many websites. This fact generated a huge amount of feedback and I have never been indifferent to appropriate and possible improvements. When we say that SWFAddress supports Opera 9 or Safari 1.3 we really ensure that it does so. While most of the other scripts are coming up with their serialization formats which are appropriate for specific framework or component state, SWFAddress tries to stick as much as possible with concepts clean URLs, standard query parameters and unobtrusive behavior. Features like custom titles, transparent page view tracking and event listeners are also not that common across similar solutions. And last but certainly not least, there are affordable support and development services which some people find useful.

For some time there is an Ajax sample available on the SWFAddress homepage which wasn't there without a reason. Today I'm happy to announce that we have an indexable unobtrusive Ajax content which can be accessed from Google, Yahoo or MSN. It's written in PHP and uses an innovative SEO mechanism which I'm going to describe below. To finalize the Ajax overview I also want to mention the Coherence sample that showcases how multiple Flash files can be used together with XHR and opens a lot of interesting opportunities.

Last year SWFAddress came up with a deep linking SEO solution that works. It was a little complex, but various people dared to use it and achieved the result they've dreamed about. The approach wasn't perfect, the complex URL rewriting was often causing troubles and worst of all was the fact that it was 'cloaking', a term that makes people paranoid because of the Google guidelines. We never experienced or heard about issues or penalties because of this technique, but overall this was a stopper for lots of the SWFAddress adopters. Companies like BLITZ implemented their own much safer SEO solution on top of SWFAddress, but it still isn't perfect because of the ambiguous deep link anchors generated with JavaScript.

With SWFAddress 2.0 I can offer you a new approach which in my opinion has enormous potential. It's not very simple because it relies on JavaScript redirection which should be non-sneaky, but it works quite well and produces the clean results that we want. The technique works like a progressive enhancement and a site like this can be first developed without any Flash or Ajax code. SWFAddress adds a tricky synchronous XHR on top of all this and ensures that after the redirect the HTML content won't be different. URL rewriting is used again, but this time it's very minimalistic and most of the logic is implemented with a server-side language. SWFAddress 2.0 offers you a choice between PHP, JSP or Rails and even if you don't like the encapsulation of the code, you'll be able to grab the core logic and implement it as you like.

As always we did some real testing using our SEO sample and the technique seems to work quite well.

The release is coming tomorrow. Make sure you won't miss it!

21 Nov 2006

SEO for SWFAddress

I would like to introduce you to the most interesting feature of the upcoming SWFAddress 1.0. It enables generation of real links that expose the appropriate content to search engines. The magic happens with some interesting URL rewriting and some trivial serverside code. Here is an example how it works for a website located at that contains a portfolio section:

SWFAddress uses The URL that can get indexed is and therefore it should exist as a link in the HTML code of the page. When someone visits the indexed address the rewriting functionality makes a redirect to the URL that SWFAddress expects. Everything happens transparently for the end used and further navigation through the website correctly changes the Address bar value. The situation is different when the same link is followed by a search engine bot. In this case the address is just rewritten without any redirection to The page that handles all this should use a serverside technology in order to generate the appropriate content depending on the "swfaddress" parameter value.

Requests containing GET parameters like are handled similarly. The search engines will index and the script will expect

The result is a fully indexed Flash website with deep linking support. To see it in action you can try on of the following search queries:

While this approach improves the usability of Flash content over the web, it also requires an additional effort. This means some manual work for static websites and some smart code for dynamic ones. The best case will be a Flash CMS that automates the whole process.

I haven't seen something similar created for Ajax heavy websites although a part of it is documented in the Unique URLs pattern. It will be great for both Flash and Ajax if a technique like this gets adopted and improved over the time.

SWFAddress 1.0 ships tomorrow, stay tuned.



Blog Search

Blog Categories

Blog posts

Recommended sites