Várias das páginas do meu site estão aparecendo nos resultados de pesquisa com [Translate this page] ao lado dela. Quando eu clico que me leva ao Google Translate e traduz minha página “de catalão para 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 tropeçar Google ativo.

Algumas semanas atrás, eu defini a tag html para <html lang="en"> que, de acordo com a pesquisa, parece ser o melhor método para especificar o idioma de um documento. Google armazenou em cache as páginas com este atributo, mas ainda está oferecendo tradução.

Mais pesquisas me levaram 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!

Há alguma outra solução que force o Google a analisar meu site apenas como inglês?

Resposta

O Google não t use metadados de linguagem, pois descobrimos que geralmente estão incorretos. Usar cabeçalhos HTTP, metatags HTML ou atributos de idioma em nível de elemento não tem impacto no reconhecimento de idioma do Google, então, a menos que você queira fazer isso para outros fins (por exemplo, leitores de tela), você provavelmente pode pular isso.

Uma coisa a ter em mente é que o Google não tem problemas em reconhecer vários idiomas por página. Portanto, mesmo que devêssemos reconhecer que uma parte da página está em italiano (talvez quando você escreve sobre hotéis italianos) , e mostrarmos um link “traduzir esta página” nos resultados da pesquisa, provavelmente ainda seremos capazes de reconhecer que é principalmente em inglês. Uma maneira simples de verificar isso é usar as opções de pesquisa avançada para selecionar um determinado linguagem e fazer um site: -query para o seu site.

Comentários

  • Ótima percepção John, obrigado. Então você ' está dizendo que ' não há como impedir o Google de mostrar [Translate this page]? Minhas páginas aparecem na versão avançada apenas em inglês pesquisa. Minha preocupação principal n são usuários – mostrar o link de tradução significa que a página inteira está em um idioma diferente. Pessoalmente, tendo a evitar esses links quando os vejo. Existem também outros sites que usam as mesmas palavras que não ' obtêm o link de tradução …
  • Isso ' está correto – no momento ' não há como fazer com que " Traduza esta página " o link desaparecer do lado ' do webmaster. No entanto, ' transmitirei seus comentários para a equipe, talvez ' seja algo que eles possam considerar para o futuro.
  • Obrigado @John. O principal problema é que o Google acredita que as páginas estão em catalão, quando não estão. Eu ' estou surpreso que o Google ignore completamente a tag de idioma – por que não usá-la pelo menos como uma dica?
  • Há alguma atualização sobre isso como eu vi pessoas aqui e ali na Internet fazendo a mesma pergunta e, em alguns casos, causando um loop sem fim – superuser.com/questions/326938/…
  • Curiosamente, devo acrescentar que vi isso pessoalmente (no Chrome para Windows) quando ' m no PHPMyAdmin onde o Google pensa que a página está em italiano e se oferece para traduzir. Isso ' sempre me pareceu bizarro, considerando que ' nunca notei nenhuma palavra diferente do inglês no PHPMyAdmin.

Resposta

Você deve adicionar a meta tag

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

Você também pode enviar o cabeçalho HTTP Content-Language do servidor se tiver acesso a ele.

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

Comentários

  • Ou defina o cabeçalho usando Apache: Header set content-language " en "
  • @John, sim. ( é isso que eu quis dizer que ele pode enviar o cabeçalho http do servidor )
  • Hmm, bem, supostamente, usar <html lang="en"> é melhor do que aquela metatag, mas vou tentar e ver o que acontece 🙂
  • Eu ' tive o mesmo problema e ' verificamos que isso funciona para mim no Chrome 19 dev
  • <html lang=en> não corrigiu para mim, mas o ' content-language ' meta tag sim.

Resposta

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

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

Comentários

  • Na verdade, isso foi enviado como uma resposta anteriormente e, em seguida, excluído pelo proprietário sem explicação.@danlefree há uma razão para que isso não seja ' t válido? Ele ainda aparece em uma página de ajuda das Ferramentas do Google para webmasters atualizada recentemente.
  • @Su ' : de acordo com o webmaster do google, o google tradutor deve ser ignorado. e funciona para meu site.
  • @krish não ' faz o que mencionei na pergunta e impede todas as traduções pelos usuários?
  • Isso pode ser totalitário. Se o idioma do usuário ' s for diferente da metatag content-language, você provavelmente desejará uma tradução do idioma.
  • Se você clicar com o botão direito na página da web em chrome, ele ainda oferece a opção de traduzir mesmo se você tiver aquela metatag …

Resposta

Você pode consultar o cabeçalho da solicitação Accept-Language para adicionar / remover dinamicamente o atributo class="notranslate" quando a string de idioma incluir en.

De acordo com o Web Master World , você pode se inscrever class="notranslate" para apenas o conteúdo que ele afeta (ou seja, o “par de palavras estrangeiras”) e, com sorte, evitar a caixa de tradução Inglês / Inglês.

Comentários

  • Mas se eles quisessem traduzir do inglês para outro idioma, seria obtido pelo Google, não pelo navegador, e presumivelmente o Google usaria " Engl ish " no cabeçalho do idioma de aceitação.
  • O Google geralmente usa inglês para google.com, google.co.uk etc., mas e o rastreador para google.de, etc? Mas, independentemente, o uso seletivo da classe parece a melhor saída para isso.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *