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
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.
[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 …