As many will have heard, Cool URIs Don't Change, but in the course of the life-cycle of a typical website it invariably happens. And when it does, the only reasonable solution is to redirect users to the new location for content.
Best practice is to use a server-side 301 (permanent) redirect as this is the only reliable method that works for SEO - helping search engines update your URLs, but what happens if you use other methods? Does the same thing happen in all browsers?
This is particularly important for URLs that are entry points on your site, as without original referrer data, you cannot know the source of sales and conversions on your site. Anyway, on to the results.
| Redirect method | Browser | Result | Impact on analytics |
| Meta refresh - 0 | Firefox 3 | Blank referrer | Lost data |
| IE8 | Blank referrer | Lost data | |
| Opera 9 | Internal referrer | Lost data | |
| Javascript:location.href | Firefox 3 | Internal referrer | Lost data |
| IE8 | Blank referrer | Lost data | |
| Opera 9 | Internal referrer | Lost data | |
| Javascript:location.replace | Firefox 3 | Internal referrer | Lost data |
| IE8 | Blank referrer | Lost data | |
| Opera 9 | Internal referrer | Lost data | |
| Server-side 301 | Firefox 3 | Original referrer | |
| IE8 | Original referrer | ||
| Opera 9 | Original referrer | ||
| Server-side 302 | Firefox 3 | Original referrer | |
| IE8 | Original referrer | ||
| Opera 9 | Original referrer | ||
| Server-side 301 - chained | Firefox 3 | Original referrer | |
| IE8 | Original referrer | ||
| Opera 9 | Original referrer | ||
| Server-side 302 - chained | Firefox 3 | Original referrer | |
| IE8 | Original referrer | ||
| Opera 9 | Original referrer |
Conclusion
While there's nothing too unexpected in the results, it's clear that the only way to redirect visitors and have reliable web analytics data is to use a server-side redirect. No javascript or meta-based method works, in all cases resulting in an empty or internal referrer (which will misleadingly show up as bookmark/direct in most analytics packages). Interestingly, javascript and meta redirects can result in totally blank referrer data in some browsers.
Server-side methods worked across all major browser tested, and you can get away with chaining redirects together while still keeping the referrer data.
If you're curious as to what happens in your particular browser software or version, the tests are available online at Receptional Labs. You can also download a spreadsheet of results below.
Psst: I'll also report back on how Googlebot handles spidering of the redirect tests
| Attachment | Size |
|---|---|
| referral-data-redirect-tests.xls | 27.5 KB |





Comments
Which methods can also leave a cookie? or get used in .js files?
Would be also good to see which methods can also get the original landing page (before the redirect) picked up in .js based analytics packages (Like Google analytics). I know that Receptional has worked out ways to do this in the past. One of our trade secrets? or wrth adding?
Thanks, this was the info I
Thanks, this was the info I was looking for. Javascript redirects sucks ... (although chrome seem to keep the referrer)
Post new comment