Take the 2-minute tour ×
Web Applications Stack Exchange is a question and answer site for power users of web applications. It's 100% free, no registration required.

In Google search results, in Firefox or Chrome, I get URLs that go through Google and not directly to the target site. For example, at

http://www.google.com/search?q=foo

the first result is

http://www.google.com/url?sa=t&rct=j&q=foo&source=web&cd=1&ved=0CDIQFjAA&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFoobar&ei=gBj9TtDpAcXT8QPI_4GdAQ&usg=AFQjCNH1J2pXAETcCKA7T6svhOKIRNyojg

I don't really care that Google is tracking what I click, and I don't really care about the extra indirection when I click on a result (though both are concerns). But I find it annoying that I can't copy-paste a result by simply right-clicking on a link and choosing “copy link address” (I want to get the real result, not Google's redirection to it).

I want to have the direct URL http://en.wikipedia.org/wiki/Foobar, at least for copy-paste purposes, in Firefox and Chrome.

Google's behavior changed several times:

  • When I asked this question, in a browser without Javascript, you got direct URLs in results: http://en.wikipedia.org/wiki/Foobar. The indirection was added via Javascript.
  • Some time later, Google changed to provide indirect results in all browsers.
  • Since 2012-09-04, it seems that:

    • In a browser without JS, the HTML still contains indirect results.
    • In a browser with JS support (at least in recent Firefox and Chrome), the HTML contains a direct result in the href attribute, but there is an onmousedown attribute that invokes the rwt function which does rewrite the link. You see the direct link when you hover, but you get an indirect link like the one above when you click or copy-paste.
share|improve this question
3  
Didn't realise this doesn't happen in Opera –  Eight Days of Malaise Dec 30 '11 at 3:17
    
This doesn't happen in my Firefox too –  Manuel Bitto Dec 30 '11 at 12:10
7  
@Barfieldmv it's like you don't care about the other, valid reasons to turn it off. –  kojiro Dec 30 '11 at 14:58
1  
I didn't see any reason posted why google uses this redirection. (my tone might be a bit off though since I'm a non native english speaker) I was trying to add an argument to keep it turned on. –  Barfieldmv Dec 30 '11 at 15:07
4  
What they need to do is detect which mouse button triggered the mousedown event and only change the link to the redirect if event.button !== 2 (2 is right click). –  David Murdoch Dec 30 '11 at 17:08
show 8 more comments

12 Answers

up vote 53 down vote accepted

TL;DR: Don't track me Google is a user script 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.1
// ==/UserScript==

"use strict";
if (Object.defineProperty) {
   Object.defineProperty(unsafeWindow,"rwt", {value: function(){return !0;} });
} 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, I published an extended version, which includes a referrer-hiding method, so that others cannot see your search query. This greatly improves your privacy.

share|improve this answer
1  
TL;DR Don't track me Google allows you to copy normal URLs, while hiding the referrer to the sites you're visiting :) –  Rob W Jan 25 '12 at 13:45
    
Don't track me google worked for me on Chrome! –  drozzy Apr 3 '12 at 3:29
    
This no longer works in Chrome with the change of blocking non-store extensions/scripts. –  drozzy Nov 15 '12 at 4:28
1  
@drozzy I have just published the extension in the Chrome Web Store. –  Rob W Nov 15 '12 at 21:21
1  
the script described here - as on userscripts.org/scripts/issues/121923 - works perfectly Happy! would like to donate! –  user36660 Mar 19 '13 at 12:16
show 1 more comment

See if the userscript found here for Google search works for you. I have been using it for a while now, and it's been working more often than not for me. enter image description here

Edit: Here is an addon for Firefox: Google search link fix

share|improve this answer
1  
The twitter one is working beautifully for me. Neither Facebook nor Google seem to work though... Using the latest version of Chrome. –  Jeffrey Blake Dec 30 '11 at 15:01
    
This will always disable the rewriting, which means that sensitive information will not be removed from the referrer (see e.g. facebook.com/notes/facebook-engineering/…). Is there a way to copy the original URL to the clipboard when needed, but still rewrite it when the link is followed normally? –  mark4o Jan 2 '12 at 2:54
1  
This no longer works in Chrome with the new policy of blocking non-store extensions/scripts. –  drozzy Nov 15 '12 at 4:29
add comment

Appears the rwt function is invoked upon onmousedown, and thereby rewriting the href. If we could override this behaviour, then we should be set.

In firefox I inserted the following JavaScript into a bookmarklet which can then be executed anytime I wish to prevent the (slighly annoying) link-rewriting on a given Google SERP:

javascript:function rwt(a,f,g,l,m,h,c,n,i){return a};

Edit: Great to see that the userscript @Rob has created and included in his reply takes advantage of this snippet, highly recommended!

share|improve this answer
2  
As an aside, you can knock out all of the parameters for rwt except a in this case, because JavaScript doesn't care if the arguments to a function match the parameters or not. –  Reid Dec 31 '11 at 3:41
    
good point. and FWIW, I suspect javascript:function rwt(){0}; might produce a similar result, even without the 0 -- perhaps worthy of asking over at codereview.stackexchange.com since this is both untested and slightly offtopic. –  wehal3001 Dec 31 '11 at 10:07
add comment

For short URLs, you can just copy the green text under the title as that's the same URL just without protocol lead.

For long URLs (those that have ellipsis in the green text), you either need a script or use a semi-complex workaround.

A script is necessary because Google modifies links with its own script on mouse click. If you hover over a results link, you'll notice in the status bar that it displays properly but it changes upon your interaction with it.

The workaround consists of opening Developer Tools in Chrome or FireBug in Firefox, selecting the link with element inspector, and copying the content of href attribute. This requires 2 windows to be open, so it's not the most convenient workflow on smaller screens.

You could've done it with View source but Google Instant sometimes results in strange source. Also, in order to find the link in the source you must remember its title as there's no visual selector as in Developer Tools & FireBug.

share|improve this answer
1  
That's an annoyingly twisty workaround, more complicated than doing the search in w3m. Is there a way to disable the redirection once and for all through a user script? –  Gilles Dec 30 '11 at 2:46
1  
I just tried the only 2 scripts on www.userscripts.org that claim to do just that (the most recent one is dated Feb 2011). Neither of them works in Chrome or Firefox/Greasemonkey. –  dnbrv Dec 30 '11 at 3:14
add comment

I use the Firefox Redirect Remover add-on.

After this is installed, right click on a redirected URL in the browser gives an option to copy cleaned URL.

share|improve this answer
add comment

Using Safari, it is easy to make your own extension to handle this. I used Develop > Show Extension Builder and added "www.google.com" as an Allowed Domain and then the following script as an End Script in the Injected Extension Content section:

if (window.top === window) {
    var els = document.getElementsByClassName("l");
    for (var i in els) {
        els[i].onmousedown = undefined;
    }
}
share|improve this answer
    
That sounds like a useful approach, but the extension builder seems to have been revamped since your answer. I can't get this to work. –  Michiel de Mare Jul 16 '12 at 10:41
add comment

Extensions for Chrome and Firefox:

share|improve this answer
add comment

If you want to keep Google's redirection and only selectively copy & paste some URLs here are other possibilities.

Solution with keyboard (note, this only works in Windows):
You can navigate to the desired search result link:

  • in Firefox: use Tab and Shift+Tab to navigate between links;
  • in Chrome: press Tab to move the focus into the page, then Up and Down to navigate between search results (“Copy Link Address” not available if you reach the search result with Tab).

Then press the context menu key or Shift+F10 and select “Copy Link Location” / “Copy Link Address” (hot key: A in English Firefox, E in English Chrome).

Suggestion for faster navigation with mouse:
For faster navigation in Firefox using the mouse, you can click a white-space or an non-link text before the link and then press Tab or switch to the caret navigation using F7.

Solution with mouse only:
In some browsers and environments it is possible to press the right mouse button outside of the link, move the mouse cursor while keeping the button still pressed and then release the button on the link to invoke the context menu.

Explanation:
The described ways avoid clicking the mouse on the link and invoking the onmousedown event which causes conversion of the original URL. Note that in Firefox, if you already clicked the link, you must reload the search results page (F5) to get the original URL back.

share|improve this answer
    
There is no F10 on a Mac keyboard. Any Mac instructions? –  SamtheBrand Sep 6 '13 at 15:37
    
@SamtheBrand: Please do not write that something works only in Windows when it does not work in Mac. Are they the only operating systems? I am happily using this solution on Linux. --- As the answer explains the aim of the solution is to open the context menu on the link using a keyboard. I have no experience with Macs but as I understand it they are very limited when it comes to control without a mouse. Maybe you as a Mac user can find a solution easier. It seems that Mac+Space is possible in Firefox: bugzilla.mozilla.org/show_bug.cgi?id=81727 –  pabouk Sep 6 '13 at 18:54
    
@SamtheBrand: Also here: blogs.uoregon.edu/developments/2010/10/15/… I guess that another solution will not work as it probably emulates a mouse button press: en.wikipedia.org/wiki/Context_menu#Implementation –  pabouk Sep 6 '13 at 18:56
    
Apologies, you're correct that it's not "only Windows." Any chance you can edit your (great) answer to include the info you've expressed in comments here? This question and your answer and others here will soon be syndicated at Lifehacker. It would be great if we can get your edits to the editors in time! –  SamtheBrand Sep 6 '13 at 19:07
    
@SamtheBrand: I will edit the answer but could you please confirm if Mac**+**Space works in Firefox on Mac and possibly try other possibilities / in other browsers (the one I linked from Wikipedia)? By the way which Mac keyboard is missing F10? I have found pictures of many layouts and all had F10 but anyway I am almost sure that Shift**+**F10 does not show context menu on Mac. –  pabouk Sep 7 '13 at 7:01
add comment

I am also often annoyed by this. So my simple solution is to use the mobile version of Google's site:

http://www.google.com/pda
or
http://www.google.com/m (This link does not work in IE.)

These sites will give you the URLs that go directly to the target sites, no more redirection.

Please note that the search results from these sites will be a little different from the normal ones ( by using google.com ).

share|improve this answer
2  
doesn't work. they give the same redirects to me –  siamii Dec 30 '11 at 21:53
2  
The link google.com/m worked for me in IE8 but it still redirects. google.com/pda gives direct links when opened in Firefox 6 & IE 8 (versions I tested on) but not Chrome 16 –  mvark Jan 1 '12 at 5:08
1  
Another (probably better) one is http://www.google.com/custom. –  pabouk Jul 28 '13 at 8:40
add comment

Just paste this in your URL bar and press enter:

javascript:alert(unescape(prompt("URL","").match("url=([^&]*)")[1]))
share|improve this answer
add comment

I have the same problem.

There's an online tool that I find useful here:

Online Tool - Convert google link to direct link for easier copying and pasting

Just bookmark that page and then paste 'horrific URLs' into the form to convert them into a normal links.

share|improve this answer
add comment

For shorter links, selecting the green text is fine. For longer links with an ellipsis, I tend to just open the link and grab the URL from the address/awesome/omnibar.

share|improve this answer
13  
yes, but clicking through the link and loading the entire website just so we can copy the darn URL is slow and .. unwieldy. –  Jeff Atwood Dec 30 '11 at 10:34
7  
This does not work if the linked document is one that the browser opens in another application (e.g. PDF). –  Complicated see bio Jan 1 '12 at 12:23
2  
@Complicatedseebio or if the site redirects immediately (and you want to, for example, search for it in the internet archives!) –  drozzy Nov 15 '12 at 4:30
add comment

protected by ChrisF Sep 16 '13 at 20:27

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.