Googleがページの翻訳を誤って提供しないようにするにはどうすればよいですか?


36

私のサイトのいくつかのページが検索結果に表示され[Translate this page]ています。クリックすると、Google翻訳に移動し、ページを「カタロニア語から英語に」翻訳します。

ページは英語ですが、いくつかの外国語(実際にはカタロニア語ではなく、日本語のローマ字表記)があり、Googleをつまずかせているようです。

数週間前、htmlタグを設定しました。このタグに<html lang="en">は、調査からドキュメントの言語を指定する最適な方法と思われます。Googleはこの属性でページをキャッシュしましたが、まだ翻訳を提供しています。

さらに研究を重ねて、翻訳を完全に妨げる「notranslate」属性に至りました<html lang="en" class="notranslate">。問題は、ユーザーが英語から希望の言語に翻訳できないことです。

Googleにサイトを英語のみとして解析させる他のソリューションはありますか?

回答:


18

Googleは一般に間違っていることがわかっているため、言語のメタデータは使用しません。HTTPヘッダー、HTMLメタタグ、または要素レベルのlang-attributesを使用しても、Googleの言語認識に影響はありません。したがって、他の目的(スクリーンリーダーなど)でそれを行いたい場合を除き、おそらくスキップできます。

覚えておくべきことの1つは、Googleがページごとに複数の言語を認識するのに問題がないことです。そのため、ページの一部がイタリア語であると認識した場合(おそらくイタリアのホテルについて書いている場合)、検索結果に「このページを翻訳」リンクを表示しても、おそらく認識できるでしょう。ほとんどが英語です。これを確認する簡単な方法は、高度な検索オプションを使用して特定の言語を選択し、サイトのsite:-queryを実行することです。


1
素晴らしい洞察、ジョン、ありがとう。Googleの表示を停止する方法はないと言っているの[Translate this page]ですか?私のページは英語のみの高度な検索に表示されます。私の主な関心事はユーザーです-翻訳リンクを表示することは、ページ全体が異なる言語であることを意味します。個人的には、これらのリンクを見たときに避ける傾向があります。翻訳リンクを取得しない同じ単語を使用している他のサイトもあります...
DisgruntledGoat

2
それは正しいです-現時点では、ウェブマスター側から「このページを翻訳」リンクを非表示にする方法はありません。チームにフィードバックをお伝えしますが、将来的にはそれを考慮できるかもしれません。
ジョンミューラー

2
ありがとう@ジョン。主な問題は、ページがカタロニア語ではなくてもカタロニア語であるとGoogleが判断していることです。Googleが言語タグを完全に無視していることに驚いています-少なくともヒントとして使用しないのはなぜですか?
不機嫌なヤギ

1
私は、同じ質問をして、インターネット上のあちこちで人々を見て、いくつかの事例では決して終わることのないループを引き起こしてきたように、この上の任意の更新はあります- superuser.com/questions/326938/...
小屋

4
逸話的に、私は、Googleがページがイタリア語であると考え、翻訳を提案しているPHPMyAdminにいるときに、これを個人的に(Chrome for Windowsで)見たことを付け加えなければなりません。PHPMyAdminで英語以外の単語に気付いたことがないことを考えると、いつも奇妙だと思います。
huzzah

13

このメタを使用して、Googleの翻訳をスキップします

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

2
これは実際には以前に回答として提出され、その後、説明なしに所有者によって削除されました。@danlefreeこれが有効ではない理由はありますか?最近更新されたウェブマスターツールのヘルプページに引き続き表示されます。
Su

@Su ':Googleウェブマスターによると、Google翻訳はスキップする必要があります。そして、私のサイトで動作します。
クリシュ

@krishは、質問で私が言及したことをして、ユーザーによるすべての翻訳
-DisgruntledGoat

これは全体主義的かもしれません。ユーザーの言語がコンテンツ言語のメタタグと異なる場合は、おそらく言語翻訳が必要です。
チョビー

クロームでWebページを右クリックすると、そのメタタグを持っている場合でも翻訳するオプションが提供されます...
NewBie1234

12

メタタグを追加する必要があります

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

アクセスできる場合は、サーバーからContent-Language HTTPヘッダーを送信することもできます。

詳細については、http://www.w3.org/International/questions/qa-http-and-lang


2
ヘッダーセット内容言語「エン」:またはApacheを使用してヘッダー設定
ジョン・コンデ

@ジョン、うん。(それは彼がサーバーからhttpヘッダーを送信できることを意味します
ガブリエレペトリオリ

うーん、おそらく<html lang="en">メタタグよりも使用する方が良いと思われますが、試してみて何が起こるか見てみましょう:)
DisgruntledGoat

私は同じ問題を抱えており、Chrome 19 dev
Olly

<html lang=en>私のためにそれを修正しませんでしたが、「コンテンツ言語」メタタグは修正しました。
チョビー

4

言語文字列にが含まれている場合、リクエストAccept-Languageヘッダーを見て、class="notranslate"属性を動的に追加/削除できますen

Web Master Worldによるとclass="notranslate"、影響を受けるコンテンツ(つまり、「外国語のカップル」)のみに適用でき、できれば英語/英語の翻訳ボックスを避けることができます。


しかし、英語から別の言語に翻訳したい場合、ブラウザではなくGoogleがそれを取得し、おそらくGoogleはaccept-languageヘッダーで「英語」を使用します。
Lèseはmajesté

Googleは通常google.com、google.co.ukなどに英語を使用しますが、google.deなどのクローラーはどうですか?しかし、それにもかかわらず、クラスを選択的に使用することが、このうちの最良の方法のようです。
Metalshark
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.