Author's note (July 2016): The answer below was written in 2011, and is still working in Google Search. I have published new extensions that use a different method to remove the search result indirection, which works on even more Google sites and on mobile.
TL;DR: Don't track me Google is a user script Don't track me Google is an extension I made that allows you to copy normal URLs, while hiding the referrer to the sites you're visiting.
Installation
Explanation
I have written a method which replaces the link-modifying rwt
function with a bogus function that can't be touched by Google.
By preventing Google from overwriting the rwt
function, the link cannot be modified any more. This method depends on the Object.defineProperty
method (Firefox 4+ and Chrome 5+). The fallback requires Firefox 2+ and Chrome 1+.
Firefox 2+
If you only want to remove the link-modifying behaviour, and not care about showing your search queries through the referrer, this GreaseMonkey script can be used:
(very non-strict @include
rules using wildcards and the Magic TLD)
// ==UserScript==
// @name Don't track me Google
// @namespace Rob W
// @include http://*.google.tld/*
// @include https://*.google.tld/*
// @version 1.2
// @grant none
// ==/UserScript==
"use strict";
if (Object.defineProperty) {
Object.defineProperty(unsafeWindow,"rwt", {value: function(){return !0;}, writable: false });
} else {
unsafeWindow.__defineGetter__('rwt',function(){return function(){return !0}});
}
Google Chrome does not support Magic TLDs, so the closest you can get is *://*.google.com/*
(repeat the rule, replace .com
with other supported Google TLDs).
In Chrome, scripts have to be injected in the form of a <script>
tag, because Content scripts are executed in an "isolated world".
Chrome & Firefox 2+ - Link to source code
On January 21st, 2012, I published an extended version, which includes a referrer-hiding method, so that others cannot see your search query. This greatly improves your privacy.
(Update from 2016: this referrer hiding is not needed any more in modern browser because of the referrer policy, which only shows the domain in the Referer header)
One of the reasons is so they can do click tracking on what link you clicked, on their search results page. This allows them to detect and optimize their search results.
For example if they noticed everyone that searches for "batman" only ever selects the 2, 3, 6, 7 links, they could remove the 1, 4, 5 links as they are obviously bad results for this search word.
Also you should take a look at Google's search history. I can tell you are logged in from this link and that your search history is being logged. This will give you a good indication of the information that Google collects when you click this link.
Best Answer
The redirection links are done as a way for Google and Yandex to correlate what search terms result in more clicks to certain websites for certain localities/demographics as well as camouflage the referrer. These parameters are likely proprietary to each of the search engines and not a part of public information, since it would help people 'game' the search ranking/keyword ranking system.
This page has some speculation and deconstruction of the parameters for Google, but most of it is a mystery and is ultimately for providing Google with more data for their Analytics.