Como impedir que o Google ofereça por engano a tradução de uma página?


37

Várias páginas do meu site estão aparecendo nos resultados de pesquisa ao [Translate this page]lado. Quando clico, ele me leva ao Google Tradutor e traduz minha página "do catalão para o inglês".

As páginas estão em inglês, mas têm algumas palavras estrangeiras (na verdade romanizações japonesas, não catalãs) que parecem estar enganando o Google.

Algumas semanas atrás, defino a tag html na <html lang="en">qual, a partir da pesquisa, parece ser o melhor método para especificar o idioma de um documento. O Google armazenou em cache as páginas com esse atributo, mas ainda está oferecendo a tradução.

Mais pesquisa me levou a um atributo "notranslate" que impede a tradução inteiramente: <html lang="en" class="notranslate">. O problema agora é que os usuários não podem traduzir do inglês para o idioma desejado!

Existem outras soluções que forçam o Google a analisar meu site apenas em inglês?

Respostas:


19

O Google não usa metadados de idioma, pois descobrimos que eles geralmente estão incorretos. O uso de cabeçalhos HTTP, metatags HTML ou atributos lang no nível do elemento não afeta o reconhecimento de idiomas do Google. Portanto, a menos que você queira fazer isso para outros fins (por exemplo, leitores de tela), provavelmente poderá ignorar isso.

Um aspecto a ter em mente é que o Google não tem problemas em reconhecer vários idiomas por página. Portanto, mesmo que reconheçamos que uma parte da página está escrita em italiano (talvez quando você escreve sobre hotéis italianos) e mostremos um link "traduzir esta página" nos resultados da pesquisa, provavelmente ainda poderemos reconhecer que é principalmente em inglês. Uma maneira simples de verificar isso é usar as opções de pesquisa avançada para selecionar um idioma específico e criar um site: -query para o seu site.


1
Grande insight John, obrigado. Então você está dizendo que não há como parar a exibição do Google [Translate this page]? Minhas páginas aparecem na pesquisa avançada somente em inglês. Minha principal preocupação é os usuários - mostrar o link da tradução implica que a página inteira esteja em um idioma diferente. Pessoalmente, costumo evitar esses links quando os vejo. Há também outros sites usando as mesmas palavras que não recebem o link de tradução ...
DisgruntledGoat

2
Está correto. No momento, não há como fazer com que o link "Traduzir esta página" desapareça do lado do webmaster. Vou passar seu feedback para a equipe, talvez seja algo que eles possam considerar para o futuro.
John Mueller

2
Obrigado @John. O principal problema é que o Google acredita que as páginas estão em catalão, quando não estão. Estou surpreso que o Google ignore completamente a tag de idioma - por que não usá-la pelo menos como uma dica?
usar o seguinte

1
Existe alguma atualização sobre isso, já que tenho visto pessoas aqui e ali na internet fazendo a mesma pergunta e, em alguns casos, causando um loop sem fim - superuser.com/questions/326938/…
Coops

4
Curiosamente, devo acrescentar que vi isso pessoalmente (no Chrome para Windows) quando estou no PHPMyAdmin, onde o Google acha que a página está em italiano e oferece a tradução. Sempre me pareceu bizarro, considerando que nunca notei nenhuma palavra que não seja o inglês no PHPMyAdmin.
huzzah

13

use essa meta para pular a tradução do Google

<meta name="google" content="notranslate" />

2
Na verdade, ele foi enviado como resposta anteriormente e excluído pelo proprietário sem explicação. @danlefree existe algum motivo para isso não ser válido? Ele ainda aparece na página de ajuda das Ferramentas do Google para webmasters atualizada recentemente.
Su '

@Su ': de acordo com o webmaster do google, o google tradutor deve ser ignorado. e seus trabalhos para o meu site.
Krish

@krish não faz o que mencionei na pergunta e impede toda tradução pelos usuários?
usar o seguinte

Isso pode ser totalitário. Se o idioma do usuário for diferente da metatag no idioma do conteúdo, você provavelmente desejará uma tradução do idioma.
chovy

Se você clicar com o botão direito do mouse na página da web no chrome, ele ainda oferece a opção de traduzir, mesmo se você tiver essa meta tag ...
NewBie1234 23/01

12

Você deve adicionar a metatag

<meta http-equiv="content-language" content="en" />

Você também pode enviar o cabeçalho HTTP do idioma do conteúdo do servidor, se tiver acesso a ele.

Mais informações em http://www.w3.org/International/questions/qa-http-and-lang


2
Ou defina o cabeçalho usando o Apache: Header set content-language "en"
John Conde

@ John, sim. ( Que é o que eu quis dizer que ele pode enviar o cabeçalho HTTP do servidor )
Gabriele Petrioli

Hmm, bem, supostamente usando <html lang="en">é melhor do que a meta tag, mas vou dar-lhe uma tentativa e ver o que acontece :)
DisgruntledGoat

Eu tive o mesmo problema e eu tenho verificado isso funciona para mim no Chrome 19 dev
Olly

<html lang=en>não o corrigiu para mim, mas a meta tag 'content-language' corrigiu.
chovy

4

Você pode olhar o Accept-Languagecabeçalho da solicitação para adicionar / remover dinamicamente o class="notranslate"atributo quando a sequência de idiomas incluir en.

De acordo com o Web Master World, você pode aplicar class="notranslate"apenas ao conteúdo que ele afeta (por exemplo, o 'par de palavras estrangeiras') e evitar a caixa de tradução Inglês / Inglês.


Mas se eles quisessem traduzir do inglês para outro idioma, o buscador seria buscado pelo Google, e não pelo navegador, e presumivelmente o Google usaria "inglês" no cabeçalho do idioma aceito.
Lèse majesté

O Google geralmente usa o inglês para google.com, google.co.uk, etc. No entanto, e o rastreador para google.de etc.? Mas, independentemente disso, o uso seletivo da classe parece ser a melhor saída.
Metalshark 5/11/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.