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)
This type of thing, where 3rd party search results get indexed, is something that Google actively tries to avoid. Since, as you have found, it gives a bad user experience.
It's not really a "false-positive", since it is a page containing the keywords/phrase that you searched for. It's just a low quality result and not really what you had in mind. In the case of your example, you might get better results if you search for the exact phrase ie. "chicken quick recipes"
(including the quotes).
Any decent webmaster should block their own search results pages from being crawled by the search engines. In fact, on many sites, the indexing of search pages can have a detrimental effect on the site's SEO and general server load.
However, sites do make mistakes and some sites, particularly those scraping/aggregating 3rd party content might simply be trying to make a fast buck by spamdexing - blackhat SEO.
...so how they get indexed at all?
Quite possibly by finding links and crawling them. The site in question might be generating 1000's of links for various search phrases and these are then crawled and followed.
Does Google crawler input different search strings
It's quite possible that Google will complete and submit HTML forms - to see what happens. However, I don't think Google will index recognisable search pages using this method. The link method, mentioned above, is more probable.
Best Answer
Search engines don't index the whole text. They toss most punctuation and index only the words that are left and where they were found using something called an inverted word index.
I think the reason you can't search for
$@
is because it's just not in their index. They tossed it as punctuation. Consistent with that, notice that if you search for$@
alone, you get no matches.