Desativando a indireção dos resultados de pesquisa do Google

204

Nos resultados de pesquisa do Google, no Firefox ou Chrome, recebo URLs que passam pelo Google e não diretamente no site de destino. Por exemplo, em

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

o primeiro resultado é

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=gBj9TtDpAcXT8QGQAJTGQAA

Realmente não me importo que o Google esteja rastreando o que clico, e não me importo com o indireto extra quando clico em um resultado (embora ambos sejam preocupações). Mas acho irritante não poder copiar e colar um resultado simplesmente clicando com o botão direito do mouse em um link e escolhendo “copiar endereço do link” (quero obter o resultado real, não o redirecionamento do Google para ele).

Quero ter o URL direto http://en.wikipedia.org/wiki/Foobar , pelo menos para fins de copiar e colar, no Firefox e Chrome.

O comportamento do Google mudou várias vezes:

  • Quando fiz essa pergunta, em um navegador sem Javascript, você obteve URLs diretos nos resultados: http://en.wikipedia.org/wiki/Foobar . O indirection foi adicionado via Javascript.
  • Algum tempo depois, o Google mudou para fornecer resultados indiretos em todos os navegadores.
  • Desde 04/09/2012, parece que:

    • Em um navegador sem JS, o HTML ainda contém resultados indiretos.
    • Em um navegador com suporte a JS (pelo menos nos recentes Firefox e Chrome), o HTML contém um resultado direto no hrefatributo, mas existe um onmousedownatributo que chama a rwtfunção que reescreve o link. Você vê o link direto quando passa o mouse, mas obtém um link indireto como o acima quando clica ou copia e cola.
Gilles
fonte
3
Não sabia que isso não acontecia no Opera
Eight Days of Malaise
7
@Barfieldmv é como se você não se importasse com os outros motivos válidos para desativá-lo.
Kjiro
1
Não vi nenhum motivo publicado para o Google usar esse redirecionamento. (meu tom pode ser um pouco estranho, já que eu não falo inglês nativamente). Eu estava tentando adicionar um argumento para mantê-lo ativado.
precisa
4
O que eles precisam fazer é detectar qual botão do mouse acionou o mousedownevento e somente alterar o link para o redirecionamento se event.button !== 2(2 for clicar com o botão direito).
David Murdoch
2
Minha experiência de pesquisa melhorou drasticamente no momento em que desliguei o javascript no google.com. Sem indenizações, sem visualizações inúteis, sem botões feios aparecendo por todo o lugar em foco. Em vez disso, uma interface rápida, limpa e minimalista que estávamos acostumados a cinco anos atrás. Google realmente faz UX terrível.
precisa saber é o seguinte

Respostas:

93

Nota do autor (julho de 2016): a resposta abaixo foi escrita em 2011 e ainda está funcionando na Pesquisa do Google. Publiquei novas extensões que usam um método diferente para remover o resultado indireto da pesquisa, que funciona ainda mais em sites do Google e em dispositivos móveis.

TL; DR: não me rastreie O Google é um script de usuário Não me rastreie O Google é uma extensão que criei que permite copiar URLs normais, enquanto oculta o referenciador dos sites que você está visitando.

Instalação

Explicação

Eu escrevi um método que substitui a rwtfunção de modificação de link por uma função falsa que não pode ser tocada pelo Google.

Ao impedir que o Google substitua a rwtfunção, o link não pode mais ser modificado. Este método depende do Object.definePropertymétodo ( Firefox 4+ e Chrome 5+ ). O fallback requer o Firefox 2+ e o Chrome 1+ .

Firefox 2+

Se você deseja remover apenas o comportamento de modificação de link e não se preocupa em mostrar suas consultas de pesquisa por meio do referenciador, este script GreaseMonkey pode ser usado:
( @includeregras muito não-estritas usando caracteres curinga e o 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}});
}

O Google Chrome não suporta TLDs mágicos , portanto, o mais próximo possível é *://*.google.com/*(repita a regra, substitua .compor outros TLDs do Google suportados ).

No Chrome, os scripts precisam ser injetados na forma de uma <script>tag, porque os scripts de conteúdo são executados em um "mundo isolado" .

Chrome e Firefox 2+ - Link para o código-fonte

Em 21 de janeiro de 2012, publiquei uma versão estendida, que inclui um método de ocultação de referências, para que outras pessoas não possam ver sua consulta de pesquisa. Isso melhora muito sua privacidade.

(Atualização a partir de 2016: esse esconderijo do referenciador não é mais necessário no navegador moderno devido à política do referenciador , que mostra apenas o domínio no cabeçalho do referenciador )

Rob W
fonte
1
TL; DR Não me acompanhe O Google permite que você copie URLs normais, enquanto oculta o referenciador para os sites que você está visitando :) #
406 Rob W
Não me acompanhe, o google funcionou para mim no Chrome!
Andriy Drozdyuk
1
@drozzy Acabei de publicar a extensão na Chrome Web Store .
Rob W
1
o script descrito aqui - como em userscripts.org/scripts/issues/121923 - funciona perfeitamente feliz! gostaria de doar!
1
@ TomášZato O arquivo da Web para o resgate: web.archive.org/web/20140424090201/https://userscripts.org/…
Rob W
47

Veja se o script de usuário encontrado aqui para a pesquisa do Google funciona para você. Eu já o uso há um tempo e funciona mais frequentemente do que não para mim. insira a descrição da imagem aqui

Edit: Aqui está um complemento para o Firefox: correção do link de pesquisa do Google

Leo
fonte
1
O twitter está funcionando lindamente para mim. Nem o Facebook nem o Google parecem funcionar ... Usando a versão mais recente do Chrome.
Jeffrey Blake
Isso sempre desativará a reescrita, o que significa que informações confidenciais não serão removidas do referenciador (consulte, por exemplo, facebook.com/notes/facebook-engineering/… ). Existe uma maneira de copiar o URL original para a área de transferência quando necessário, mas ainda reescrevê-lo quando o link é seguido normalmente?
Mark4o
1
Isso não funciona mais no Chrome com a nova política de bloqueio de scripts / extensões que não são da loja.
Andriy Drozdyuk
23

Aparece que a função rwt é invocada na unidade , e, assim, reescrevendo o href. Se pudéssemos substituir esse comportamento, deveríamos estar definidos.

No firefox, inseri o seguinte JavaScript em um bookmarklet, que pode ser executado a qualquer momento, para impedir a reescrita de links (um pouco irritante) em uma determinada SERP do Google:

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

Edit: Ótimo ver que o userscript @Rob criou e incluiu em sua resposta tira proveito deste snippet, altamente recomendado!

wehal3001
fonte
2
Como um aparte, você pode eliminar todos os parâmetros, rwtexceto aneste caso, porque o JavaScript não se importa se os argumentos para uma função correspondem ou não aos parâmetros.
Reid
bom ponto. e FWIW, suspeito que javascript:function rwt(){0};possa produzir um resultado semelhante, mesmo sem o 0- talvez digno de perguntar em codereview.stackexchange.com, já que isso é não testado e um pouco fora de tópico.
wehal3001
12

Eu uso o complemento Firefox Redirect Remover .

Após a instalação, clique com o botão direito do mouse em um URL redirecionado no navegador e dá a opção de copiar o URL limpo.

Chaim Geretz
fonte
11

Para URLs curtos, você pode simplesmente copiar o texto verde sob o título, pois é o mesmo URL sem o lead do protocolo.

Para URLs longas (aquelas que possuem reticências no texto verde), você precisa de um script ou usa uma solução alternativa semi-complexa.

Um script é necessário porque o Google modifica os links com seu próprio script ao clicar no mouse. Se você passar o mouse sobre um link de resultados, notará na barra de status que ele é exibido corretamente, mas muda com a interação com ele.

A solução alternativa consiste em abrir as Ferramentas do desenvolvedor no Chrome ou FireBug no Firefox, selecionar o link com o inspetor de elementos e copiar o conteúdo do atributo href. Isso requer que duas janelas estejam abertas, portanto, não é o fluxo de trabalho mais conveniente em telas menores.

Você poderia ter feito isso, View sourcemas o Google Instant às vezes resulta em uma fonte estranha. Além disso, para encontrar o link na fonte, lembre-se do título, pois não há seletor visual como nas Ferramentas do desenvolvedor e no FireBug.

dnbrv
fonte
1
Essa é uma solução irritantemente distorcida, mais complicada do que fazer a pesquisa no w3m. Existe uma maneira de desativar o redirecionamento de uma vez por todas através de um script de usuário?
Gilles
1
Eu apenas tentei os únicos 2 scripts em www.userscripts.org que afirmam fazer exatamente isso (o mais recente é de fevereiro de 2011). Nenhum deles funciona no Chrome ou Firefox / Greasemonkey.
dnbrv
10

Usando o Safari, é fácil criar sua própria extensão para lidar com isso. Usei Develop> Show Extension Builder e adicionei "www.google.com" como um domínio permitido e, em seguida, o seguinte script como um script final na seção Conteúdo da extensão injetada :

if (window.top === window) {
    var els = document.getElementsByClassName("l");
    for (var i in els) {
        els[i].onmousedown = undefined;
    }
}
Flinn
fonte
Parece uma abordagem útil, mas o construtor de extensões parece ter sido reformulado desde a sua resposta. Não consigo fazer isso funcionar.
12139 Michiel de Mare
10

Soluções sem nenhuma extensão do navegador ou JavaScript

Se você deseja manter o redirecionamento do Google e apenas copiar e colar seletivamente alguns URLs, aqui estão outras possibilidades que não exigem nenhuma alteração no navegador. Infelizmente, enquanto as soluções funcionam no Firefox, elas parecem não funcionar mais no Chrome e no Internet Explorer.

Solução com teclado (testado no Linux e Windows):
Navegue até o link do resultado da pesquisa desejado:

  • no Firefox: use Tabe Shift+ Tabpara navegar entre os links;
  • no Chrome: prima Tabpara mover o foco na página, em seguida, Upe Downpara navegar entre os resultados da pesquisa. (“Copiar endereço do link” não estará disponível se você alcançar o resultado da pesquisa com Tab.)

Em seguida, pressione a tecla de menu de contexto ou Shift+ F10e selecione “Copiar local do link” / “Copiar endereço do link” (tecla de atalho: Ano inglês Firefox, Eno inglês Chrome).

Tornando a navegação do teclado mais rápida usando o mouse:
para uma navegação mais rápida no Firefox usando o mouse, você pode clicar em um espaço em branco ou em um texto não vinculado antes do link e pressionar Tab. Você também pode alternar para a navegação de cursor usando F7e usando as teclas do cursor ou Tab.

Solução apenas com mouse:
Em alguns navegadores e ambientes (por exemplo, Firefox no Windows), é possível pressionar o botão direito do mouse fora do link, mover o cursor do mouse enquanto mantém o botão pressionado e soltar o botão no link para chamar o menu de contexto.

Explicação:
As maneiras descritas evitam clicar com o mouse no link e invocar o onmousedownevento que causa a conversão do URL original. Observe que, se você já clicou no link, deve recarregar a página de resultados da pesquisa ( F5) para recuperar o URL original.

pabouk
fonte
Não há F10 em um teclado Mac. Alguma instrução para Mac?
samthebrand
@ SamtheBrand: Por favor, não escreva que algo funciona apenas no Windows quando não funciona no Mac. Eles são os únicos sistemas operacionais? Estou feliz em usar esta solução no Linux. --- Como a resposta explica, o objetivo da solução é abrir o menu de contexto no link usando um teclado. Não tenho experiência com Macs, mas, pelo que entendi, eles são muito limitados quando se trata de controlar sem um mouse. Talvez você, como usuário de Mac, possa encontrar uma solução mais fácil. Parece que o Mac + Space é possível no Firefox: bugzilla.mozilla.org/show_bug.cgi?id=81727
pabouk
@ SamtheBrand: Também aqui: blogs.uoregon.edu/developments/2010/10/15/… Acho que outra solução não funcionará, pois provavelmente simula o pressionar do botão do mouse: en.wikipedia.org/wiki/Context_menu#Implementation
pabouk 6/09/09
Desculpas, você está certo de que não é "apenas o Windows". Alguma chance de você editar sua (ótima) resposta para incluir as informações que você expressou nos comentários aqui? Esta pergunta, sua resposta e outras aqui em breve serão divulgadas na Lifehacker. Seria ótimo se pudéssemos enviar suas edições aos editores a tempo!
samthebrand
@ SamtheBrand: editarei a resposta, mas você poderia confirmar se o Mac ** + ** Space funciona no Firefox no Mac e possivelmente tentar outras possibilidades / em outros navegadores (o que eu vinculei da Wikipedia)? A propósito, qual teclado Mac está faltando F10? Encontrei fotos de muitos layouts e todos tinham F10, mas, de qualquer maneira, tenho quase certeza de que o Shift ** + ** F10 não mostra o menu de contexto no Mac.
pabouk
8

Eu também estou frequentemente irritado com isso. Portanto, minha solução simples é usar a versão móvel do site do Google:

http://www.google.com/pda
ou
http://www.google.com/m (este link não funciona no IE .)

Esses sites fornecerão os URLs que vão diretamente para os sites de destino, sem mais redirecionamentos.

Observe que os resultados da pesquisa desses sites serão um pouco diferentes dos normais (usando google.com).

happyrabbit
fonte
2
não funciona eles dão os mesmos redirecionamentos para mim
siamii
2
O link google.com/m funcionou para mim no IE8, mas ainda o redireciona. google.com/pda dá links diretos quando aberto no Firefox 6 e IE 8 (versões I testado em), mas não Chrome 16
mvark
1
Outro (provavelmente melhor) é o http://www.google.com/custom .
Pabouk
7

Basta colar isso na barra de URL e pressionar Enter:

javascript:alert(unescape(prompt("URL","").match("url=([^&]*)")[1]))
user22610
fonte
1

Para links mais curtos, a seleção do texto verde é adequada. Para links mais longos com reticências, costumo abrir o link e pegar o URL no endereço / awesome / omnibar.

AGMLego
fonte
14
sim, mas clicar no link e carregar o site inteiro apenas para que possamos copiar o URL danado é lento e complicado.
Jeff Atwood
8
Isso não funciona se o documento vinculado for aquele que o navegador abrir em outro aplicativo (por exemplo, PDF).
Complicado, veja biografia
2
@Complicatedseebio ou se o site é redirecionado imediatamente (e você deseja, por exemplo, procurá-lo nos arquivos da Internet!)
Andriy Drozdyuk