次のセットアップがあります。
example.comは、301を永続的に移動してexample.com/landing/re.phpに転送します。
/landing/re.phpはCookie(または他のリクエストデータ)を評価し、ランディングページまたは特定の言語サイトのいずれかにリダイレクトし、303 see-otherでリダイレクトします。
すべてのhttpリダイレクトは、HTTP応答ヘッダーセクションで送信されます。
ボットはこれに対処できないのではないかと心配しています。何らかの方法でこれを解決する必要があります。私の最初の本能は、ユーザーエージェントを評価し、Googleを英語のページに送信することですが、セットアップの問題を認識していません。これに対処する最良の方法は何ですか?私がやっていることを他の方法でやり直す必要がありますか?
サイトにリンクするほとんどの人はyourdomain.tld
にリンクする可能性が高いので、303がリダイレクトされないため、303リダイレクトをそのページポイントがPRを浪費する可能性があります(おそらく信頼と権限はドメインに渡されますが) PRで、http://yourdomain.tld
のインデックスが解除される可能性があります。
そうは言っても、このアプローチを使用するサイトはたくさんあります(domain.tld
が*lang*.domain.tld
に動的にリダイレクトします)。 PRを無駄にすることなくそれを行う1つの方法は次のとおりです。
domain.tld
を、すべての異なる言語サブサイトにリンクする言語選択ページにするだけです。domain.tld
にアクセスしたとき、JavaScriptを使用してユーザーを好みのサブサイトにリダイレクトします。これにより、すべてのdomain.tld
PRが各言語サブサイトに流れますが、ユーザーは最後にアクセスした言語に自動リダイレクトされます。
ただし、リターンユーザーにはSERPに「言語選択」ページが表示され、代わりにいずれかの言語サブサイトが表示されるため、これは依然としてクローキングと見なされます。そのため、現在の設定に固執し、検索ユーザーにサブサイトの1つに直接アクセスさせる理由があります。 Googleはとにかくユーザーが探している言語を判断するのに非常に優れています(クエリとユーザーが検索しているGoogleポータルに基づいて)。
ログファイルに目を通すことから始め、検索エンジンボットがそれをどのように処理しているのかを確認します(ライブサイトであると仮定)。適切に処理していれば心配する必要はありません。
ユーザーエージェントに基づいて特別なリダイレクトを設定することはお勧めしません。GoogleBotはユーザーが表示するものを正確に確認したいと考えています。 Googleの観点からはありません。
参照元のIPアドレスを見て、適切な言語にリダイレクトすると、GoogleBotを含むすべてのユーザーが同じように扱われます。