私はウェブサイトを所有しており、ユーザーが米国地域にいる場合、対応する米国の州のページにリダイレクトします。たとえば、ニューヨークにいてWebサイトにアクセスすると、ページは自動的にdomainname.com/newyork
にリダイレクトされます。私がインド出身の場合、ホームページを開き、州を選択するように求めます。
したがって、domainname.com
の場合、GoogleでこのWebサイトを検索すると、domainname.com/california
がホームページとして表示されます。
どうすれば修正できますか? domainname.com
を検索エンジンのホームページとして使用します。
質問にはホスティング環境に関する詳細は記載されていませんが、Linux/Apache/PHP Webサーバー構成を使用している場合は、Webサイトのパブリックルートの.htaccess
ファイルでRewriteRule
を使用できます次のようなフォルダを使用して、巧妙なロケーションベースのルーティングが適用される前に検索エンジンにホームページが確実に配布されるようにします。
RewriteCond %{HTTP_USER_AGENT} AltaVista [OR]
RewriteCond %{HTTP_USER_AGENT} Bingbot [OR]
RewriteCond %{HTTP_USER_AGENT} Googlebot [OR]
RewriteCond %{HTTP_USER_AGENT} msnbot [OR]
RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^.*$ http://www.example.com/index.php?state=none [L,QSA]
もちろん、リストに好きなだけ検索エンジンを追加できます。スパイダー名のリストについては、 Search Engine Dictionary を確認してください。 [L]
スイッチは、前の条件のいずれかが満たされた場合にこれを最後に適用するルールにします。 [QSA]
スイッチは、このルールが適用される前に存在する可能性のあるクエリ文字列を保持します。ページからこのシナリオを識別する方法の例として、スクリプトindex.php
とパラメーター値のペアstate=none
を作成しました。
異なるホスティング環境またはサーバー側プログラミング言語を使用している場合、同じ原則がわずかに異なる実装で適用できると確信しています。