Plusieurs pages de mon site apparaissent dans les résultats de recherche avec [Translate this page] à côté. Lorsque je clique quil memmène sur Google Translate et traduit ma page « du catalan à langlais ».

Les pages sont en anglais mais contiennent quelques mots étrangers (en fait des romanisations japonaises, pas catalan) qui semblent trébucher Google up.

Il y a quelques semaines, jai défini la balise html sur <html lang="en">, ce qui, daprès la recherche, semble être la meilleure méthode pour spécifier la langue dun document. Google a mis en cache les pages avec cet attribut mais il propose toujours de traduire.

Plus de recherches mont conduit à un attribut « notranslate » qui empêche complètement la traduction: <html lang="en" class="notranslate">. Le problème maintenant est que les utilisateurs ne peuvent pas traduire de langlais vers la langue souhaitée!

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

Réponse

Google ne fait pas t utiliser des méta-données de langage car nous avons trouvé que cest généralement incorrect. Lutilisation den-têtes HTTP, de balises méta HTML ou dattributs lang au niveau des éléments na pas dimpact sur la reconnaissance de la langue de Google, donc à moins que vous ne vouliez le faire à dautres fins (par exemple, les lecteurs décran), vous pouvez probablement sauter là-dessus.

Une chose à garder à lesprit est que Google na aucun problème à reconnaître plusieurs langues par page. Donc, même si nous devons reconnaître quune partie de la page est en italien (peut-être lorsque vous écrivez sur des hôtels italiens) , et nous affichons un lien «traduire cette page» dans les résultats de la recherche, nous pourrons probablement toujours reconnaître que cest principalement en anglais. Un moyen simple de vérifier cela consiste à utiliser les options de recherche avancées pour sélectionner un langue et faites une requête de site: -query pour votre site.

Commentaires

  • Excellent aperçu John, merci. Donc vous ‘ vous dites quil ny a ‘ aucun moyen dempêcher Google dafficher [Translate this page]? Mes pages saffichent en anglais uniquement recherche. Mon principal souci n est des utilisateurs – laffichage du lien de traduction implique que la page entière est dans une langue différente. Personnellement, jai tendance à éviter ces liens lorsque je les vois. Il existe également dautres sites utilisant les mêmes mots qui ne ‘ pas obtenir le lien de traduction …
  • Que ‘ s correct – pour le moment il ny a ‘ aucun moyen de faire le  » Traduire cette page  » disparaît du côté du webmaster ‘. Cependant, je ‘ transmettrai vos commentaires à léquipe, peut-être que ‘ est quelque chose quils pourront envisager pour lavenir.
  • Merci @John. Le principal problème est que Google pense que les pages sont en catalan, alors quelles ne le sont pas. Je ‘ suis surpris que Google ignore complètement la balise de langue – pourquoi ne pas au moins lutiliser comme indice?
  • Y a-t-il une mise à jour à ce sujet, comme je lai vu les gens ici et là sur Internet posant la même question et dans certains cas provoquant une boucle sans fin – superuser.com/questions/326938/…
  • Pour lanecdote, je dois ajouter que jai personnellement vu cela (dans Chrome pour Windows) lorsque je ‘ m dans PHPMyAdmin où Google pense que la page est en italien et propose de traduire. Cela ‘ ma toujours paru bizarre étant donné que je ‘ nai jamais remarqué de mots non anglais dans PHPMyAdmin.

Réponse

Vous devez 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 dinformations sur http://www.w3.org/International/questions/qa-http-and-lang

Commentaires

  • Ou définissez len-tête à laide dApache: Header set content-language  » fr  »
  • @John, oui. ( cest ce que je voulais dire quil peut envoyer len-tête http depuis le serveur )
  • Hmm, bien supposé utiliser <html lang="en"> cest mieux que cette balise meta, mais je vais essayer et voir ce qui se passe 🙂
  • Jai ‘ le même problème et jai ‘ jai vérifié que cela fonctionnait pour moi dans le développement Chrome 19
  • <html lang=en> ne la pas résolu pour moi, mais ‘ content-language ‘ balise META fait.

Réponse

utilisez cette méta pour ignorer la traduction de Google

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

Commentaires

  • Cela a été soumis en tant que réponse précédemment, puis supprimé par le propriétaire sans explication.@danlefree y a-t-il une raison pour laquelle ce nest pas ‘ t valide? Il apparaît toujours sur une page daide des outils pour les webmasters récemment mise à jour.
  • @Su ‘ : selon le webmaster de google, la traduction de google doit être ignorée. et ses travaux pour mon site.
  • @krish ne ‘ t qui fait ce que je mentionne dans la question et empêche toute traduction par les utilisateurs?
  • Cela pourrait être totalitaire. Si la langue de lutilisateur ‘ est différente de la balise meta content-language, vous voudrez probablement une traduction dans la langue.
  • Si vous cliquez avec le bouton droit sur la page Web dans chrome, il vous donne toujours la possibilité de traduire même si vous avez cette balise Meta …

Réponse

Vous pourrez peut-être consulter len-tête request Accept-Language pour ajouter / supprimer dynamiquement lattribut class="notranslate" lorsque la chaîne de langue inclut en.

Selon Web Master World , vous pouvez appliquer class="notranslate" au seul contenu quil affecte (cest-à-dire le « couple de mots étrangers ») et nous espérons éviter la boîte de traduction anglais / anglais.

Commentaires

  • Mais sils voulaient traduire de langlais vers une autre langue, il serait récupéré par Google, pas par le navigateur, et vraisemblablement Google utiliserait  » Engl ish  » dans len-tête accept-language.
  • Google utilise généralement langlais pour google.com, google.co.uk, etc. mais quen est-il du robot dexploration google.de, etc.? Quoi quil en soit, lutilisation sélective de la classe semble la meilleure solution.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *