web-dev-qa-db-ja.com

サイトがAccept-Languageヘッダーを使用してGooglebotとのコンテンツネゴシエーションを実行できません

HTTPは、 コンテンツネゴシエーションAccept-Language リクエストヘッダーに反応することにより)1つのURIでリソースの翻訳された表現を提供します。 2015年1月 Googleはついにこの機能を実装し、それを呼び出しました "Googlebotによるロケール対応クロール"

誰かが1つのURIの下で異なる表現をインデックスに正常に取得できますか?

私はこれを http://www.mixcloud-downloader.com/ で試しています。これは、デフォルトの英語表現に加えてドイツ語表現を提供できます。このサイトはGoogleのインデックスに登録されてから1か月が経過しています。 Vary: accept-language応答ヘッダーに加えて、サポートされている言語の表示も追加しました。

<link rel="alternate" hreflang="en" href="http://www.mixcloud-downloader.com/" />
<link rel="alternate" hreflang="de" href="http://www.mixcloud-downloader.com/" />

インターネットでユニークなドイツ語の表現から何かを検索する場合(例: "Mixcloud Internetadresse" with quotes)google.deはそれを見つけません。

1つのURIの下で翻訳された表現をGoogleが正常に認識できるようにするには、どうすればよいですか?

Edit:私のアプリケーションが偽のContent-Languageヘッダーを送信していることに気づきました。 2017-01-19に修正しました。以前は、たとえばzh-CNヘッダーと英語のコンテンツ(クライアントがzh-CNを要求した場合)。

5
Jessy James

Googleのドキュメントでは、ローカルアダプティブセットアップの感度とエラーの脆弱性を考慮して、各言語バージョンに個別のURLを使用することを推奨するようにGoogleの言及に依存しています。

さらに、 this ドキュメントでは、Googleが言及しています

各ページのコンテンツとナビゲーションに単一言語を使用することで、Googleが言語を正しく判断できるように支援できます...各言語のコンテンツを個別のURLに保持します

地獄にいるなら、Accept Languageとgeolocationの両方に頼って訪問者を指し、Googlebotを正しい言語バージョンに頼るべきです。トラブルはAccept-Languageではなく、不在から始まるためです。

Googlebotにはロケールパラメータが定義されていないことが多く、制約することはできません。その場合、Googlebotのようなサイトの訪問者は、Accept-Languageを使用せずに、現在のように英語のコンテンツのみを取得し、場所に依存しません。

訪問者の場所については、次のような2番目のチェックルーチンでセットアップを強化する必要があります。

- visitor comes
- check 1: Accept-Language yes/no? If yes - serve matching content, if no:
- check 2: geolocate visitors IP-address.
           If Germany/Austria/Swiss- serve german, if another country - server english.

ただし、この設定を使用しても、Googleがすべての言語のコンテンツをインデックスに登録することを確信することはできません。最も可能性の高いバリエーションは、Googleが英語のコンテンツを100%に、ドイツ語を...最良のケース-30%に賭けることです。

サイトには少数のページがあります。各言語に固有のURLを作成すれば、この頭痛の種はありません。

PS:質問に答えると、質問の主題を正確にチェックするためのクールなツールが見つかりました: https://technicalseo.com/seo -tools/locale-adaptive /

1
Evgeniy