Comment puis-je éviter que Google propose par erreur de traduire une page?

37

Plusieurs pages de mon site apparaissent dans les résultats de recherche avec à [Translate this page]côté. Lorsque je clique dessus, il me faut Google Translate et traduit ma page "du catalan vers l'anglais".

Les pages sont en anglais mais contiennent quelques mots étrangers (en fait des romanisations japonaises et non catalanes) qui semblent faire trébucher Google.

Il y a quelques semaines, j'ai défini la balise html à <html lang="en">laquelle, d'après les recherches, semble être la meilleure méthode pour spécifier la langue d'un document. Google a mis en cache les pages avec cet attribut, mais propose toujours de traduire.

D' autres recherches m'a conduit à un attribut « notranslate » qui empêche toute traduction: <html lang="en" class="notranslate">. Le problème est que les utilisateurs ne peuvent pas traduire de l'anglais dans la langue de leur choix!

Existe-t-il d'autres solutions qui obligent Google à analyser mon site en anglais uniquement?

Chèvre mécontente
la source

Réponses:

19

Google n'utilise pas les métadonnées de langue car nous avons constaté qu'elles étaient généralement incorrectes. L'utilisation d'en-têtes HTTP, de balises méta HTML ou d'attributs lang au niveau des éléments n'a pas d'incidence sur la reconnaissance de la langue par Google. Par conséquent, vous pouvez probablement ignorer cette option, sauf si vous souhaitez le faire à d'autres fins (par exemple, les lecteurs d'écran).

Une chose à garder à l'esprit est que Google n'a aucun problème à reconnaître plusieurs langues par page. Donc, même si nous reconnaissons qu'une partie de la page est en italien (peut-être lorsque vous écrivez à propos d'hôtels italiens), et que nous affichons un lien "traduire cette page" dans les résultats de la recherche, nous serons probablement toujours en mesure de reconnaître que c'est surtout en anglais. Un moyen simple de vérifier cela consiste à utiliser les options de recherche avancée pour sélectionner une langue spécifique et créer un site: -query pour votre site.

John Mueller
la source
1
Grande perspicacité John, merci. Donc, vous dites qu'il n'y a aucun moyen d'arrêter l'affichage de Google [Translate this page]? Mes pages apparaissent dans la recherche avancée en anglais uniquement. Ma principale préoccupation concerne les utilisateurs - montrer le lien de traduction implique que la page entière est dans une langue différente. Personnellement, j'ai tendance à éviter ces liens quand je les vois. Il existe également d'autres sites qui utilisent les mêmes mots que le lien de traduction ...
DisgruntledGoat
2
C'est exact - pour le moment, il n'y a aucun moyen de faire disparaître le lien "Traduire cette page" du côté du webmaster. Je vais cependant transmettre vos commentaires à l'équipe. Peut-être que c'est une chose qu'ils peuvent envisager pour l'avenir.
John Mueller
2
Merci @ John. Le principal problème est que Google pense que les pages sont en catalan, alors qu'elles ne le sont pas. Je suis surpris que Google ignore complètement le tag de langue. Pourquoi ne pas au moins l'utiliser comme indice?
DisgruntledGoat
1
Y a-t-il une mise à jour à ce sujet puisque j'ai vu des gens ici et là sur Internet poser la même question et parfois même provoquer une boucle infinie
Coops
4
De manière anecdotique, je dois ajouter que j'ai personnellement vu cela (sous Chrome pour Windows) lorsque je suis dans PHPMyAdmin, où Google pense que la page est en italien et propose de traduire. Cela m'a toujours semblé bizarre de penser que je n'ai jamais remarqué de mots non anglais dans PHPMyAdmin.
huzzah
13

utiliser cette méta pour ignorer la traduction de Google

<meta name="google" content="notranslate" />
Krish
la source
2
En réalité, cela avait déjà été soumis comme réponse, puis supprimé par le propriétaire sans explication. @danlefree Y a-t-il une raison pour laquelle cela n'est pas valide? Il apparaît toujours sur une page d'aide récemment mise à jour de Webmaster Tools.
Dim '20
@Su ': selon le webmaster de Google, Google Translate devrait être ignoré. et ses travaux pour mon site.
Krish
@krish ne fait-il pas ce que je mentionne dans la question et empêche-t-il toute traduction par les utilisateurs?
DisgruntledGoat
Cela pourrait être totalitaire. Si la langue de l'utilisateur est différente de la balise méta Content-language, vous souhaiterez probablement une traduction.
Chovy
Si vous cliquez sur la page Web en chrome avec le bouton droit de la souris, vous aurez toujours la possibilité de traduire même si vous avez cette méta-tag ...
NewBie1234
12

Vous devriez ajouter la balise meta

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

Vous pouvez également envoyer l'en -tête HTTP Content-Language depuis le serveur si vous y avez accès.

Plus d'infos sur http://www.w3.org/International/questions/qa-http-and-lang

Gabriele Petrioli
la source
2
Ou définissez l'en-tête à l'aide d'Apache: En-tête set content-language "en"
John Conde
@ John, ouais. ( c'est ce que je voulais dire par ce qu'il peut envoyer l'en-tête http du serveur )
Gabriele Petrioli
Hmm, bien, supposément, utiliser <html lang="en">est mieux que cette balise méta, mais je vais essayer et voir ce qui se passe :)
DisgruntledGoat
J'ai eu le même problème et j'ai vérifié que cela fonctionnait pour moi dans Chrome 19 dev
Olly
<html lang=en>ne le répare pas pour moi, mais la méta-balise 'content-language' le fait.
Chovy
4

Vous pourrez peut-être consulter l'en- Accept-Languagetête de la demande pour ajouter / supprimer dynamiquement l' class="notranslate"attribut lorsque la chaîne de langue comprend en.

Selon Web Master World, vous ne pouvez appliquer class="notranslate"que le contenu concerné (c'est-à-dire le "couple de mots étrangers") et éviter, espérons-le, le champ de traduction anglais / anglais.

Metalshark
la source
Mais s'ils souhaitaient traduire de l'anglais vers une autre langue, Google le récupérerait, et non le navigateur, et Google utiliserait probablement "Anglais" dans l'en-tête accept-language.
Lèse majesté
Google utilise généralement l'anglais pour google.com, google.co.uk, etc. Cependant, qu'en est-il du robot d'exploration pour google.de, etc.? Quoi qu’il en soit, l’utilisation sélective de la classe semble être la meilleure solution.
Metalshark