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!

« Previous Post | Next Post »


Left by Joel Stransky at Mon, 19 Apr 4:15 PM
I used a custom build of the first version by Geoff Stearns with great success on although I did have to customize a large portion of the flash to handle deep link visits vs. home page visits.

This new version looks sick.

I put a lot of thought into the ambiguous anchors and the best safest solution I can come up with is simple creating real html anchors in the div targeted by swfobject. I know it's not the best solution for large amounts of content but I really wouldn't recommend a deep linking flash replacement for text heavy sites anyway.

Left by testman at Mon, 19 Apr 4:15 PM
Thank you so much for your repsond.
The adjustment of the .htaccess file did it.
Fantastic samples, but it would have been useful if there was a proper source of how to use these examples. Just plain simple tutorials / clear examples, (like swfobject has on their website).
Don't get me wrong, the samples are great and most of the stuff is indeed self-explanatory, but if i -the noob- and most definitely other noobies had a first look at the php / js code regarding the ajax/flash/seo sample with hardly no comments…
just a noob-tip, love the work.

cheers and again thank you!
Left by Glendon Guttenfelder at Mon, 19 Apr 4:15 PM
I am using SWFAddress on all my 100% Flash websites. I generally take the copy from the Flash site and use it in the alternate content. However, I usually tweak it a bit ... making it a bit more in depth with a few more keywords added in. The message is always the same, just a bit more elaborate.

In your opinion, is this "cloaking" and would Google throw a fit if it were to be "discovered"? If so, what is your recommendation for the best way to provide alternate content WITHOUT the rick of cloaking?

Left by Glendon at Mon, 19 Apr 4:15 PM
Thanks for the response. That makes sense, and it's good to know there haven't been any issues with it thus far.

The system is awesome, especially being able to track individual movements within Flash in Analytics. It's definitely a lifesaver for me, because I've built my niche around 100% Flash sites and it gives me a HUGE competitive advantage!

Left by Bala at Mon, 19 Apr 4:15 PM
I am using Ajax SWFAddress,when i wrote
<script type="text/javascript">
<?php echo "2";?>

like this, javascript is not alerted.Please help me
Left by Rostislav at Mon, 19 Apr 4:15 PM
Only Google can say for sure what they consider cloaking or not. So far I haven't heard of any issues with this technique. It does a JavaScript redirection but it also ensures that the exactly same content is served after the redirect.

Make sure that your HTML content is not that different from what you display in Flash. It should be the same thing presented in a different media.

This whole thing is not about tricking Google but providing a solution that works with the current technology limitations.
Left by Rostislav at Mon, 19 Apr 4:15 PM
I just applied some additions to the SEO sample which improve the no-Flash behavior and fix the IE issue you’re talking about. You can get the changes from the SVN or wait for the next release.
Left by racattac13 at Mon, 19 Apr 4:15 PM
first ; many thank for your job.
The SEO sample that whe can found here ,have a little bug , like the full flash web site that i'm building.
the hung is on the history list :
if i press the direct forward or back button , no problem but when when i select a link on the list , it can bug , and get an another page , the history list is bad rewriting.
the Giancarlo website may not have this probleme.
the first difference that i have found on his site , that he put the same title for all this page .

Left by Rostislav at Mon, 19 Apr 4:15 PM
You should only be aware of the availability of mod_rewrite and fopen. Also you need to adjust the supplied .htaccess file.
Left by Rossman at Mon, 19 Apr 4:15 PM
Just an update to my comment above: the SEO sample, without flash installed, works in Firefox, but does not work in IE7. Is this a known issue, and is there an expected resolution?

Left by testman at Mon, 19 Apr 4:15 PM

I uploaded swfaddress-2.3 / samples / seo to my hosting (under a sub folder and yes, it supports php :) )
I didnt change a thing tot the sample files, but if i try to navigate to a URL without the hash or use the copy link example from the sample itself, i keep getting a 404 back.
Anything i should be aware of?

thanks in advance!
Left by gbtrabzon at Mon, 19 Apr 4:15 PM
When i wrote <?php echo "2";?> to my php my page swfaddress doesn't show it to me?all html codes can run but none of my php codes work?how can i use php codes in swfaddress?
Left by Hubombing at Mon, 19 Apr 4:15 PM
Can't wait tomorrow...
I'm building full flash web site...
And if I understand well, I will be able to reference this website for google !!?!
I plan to use your urlRewriting and adding alternative html dynamic text from Ajax (or maybe directly from Php, but I don't think so)...

Night will be long...
A lot,

Left by Rossman at Mon, 19 Apr 4:15 PM
If Flash is not installed, the SEO example doesn't work (at least for me). No matter what link you click, you always get the content for the homepage. Tried picking apart your PHP (index.php) but not sure exactly what's going on.

Any advice would be greatly appreciated!

Left by Giancarlo at Mon, 19 Apr 4:15 PM
Flash + SEO Example:




Blog Search

Blog Categories

Blog posts

Recommended sites