私は複数の言語のウェブサイトを持っており、最初の入り口でクッキーをチェックし、クッキーが存在しない場合はdefaults英語に、example.com/en
にリダイレクトします。
したがって、基本的に誰かがexample.com
を入力するたびに、example.com/{language}
にリダイレクトされます。これはSEOにとって悪いことですか?
セットアップの問題(SEOの観点から)は、検索エンジンがCookieを受け入れないため、ボットがルートドメインへのリンクをたどるたびに、英語のコンテンツに送信されます。うまくいけば、他の言語コンテンツへのリンクも豊富にありますが、私の経験では、この状況はそれでも多くのジオターゲティングの難しさの根源にあるようです。
Google推奨 「ユーザーの知覚言語に基づいた自動リダイレクトを避ける。これらのリダイレクトにより、ユーザー(および検索エンジン)がサイトのすべてのバージョンを表示できなくなる可能性があります」
優れた地域固有の代替手段があり、Googleのrel="alternate"
メソッドを採用しているにもかかわらず、/ en /ページ(ドメインに他の多くの言語がある)がほとんどの検索で表示されるクライアントがあります。残っている唯一の原因は、Accept-Language
HTTPヘッダーがない場合に、ルートでデフォルトの/ en /になっていることです(検索エンジンは通常、ヘッダーを送信しません)。
要するに、ユーザーが手動で言語を選択し、リダイレクトではなくCookieを設定できるようにしたいと思います。
2014年6月10日の時点で、ccTLD、gTLDを含むサブドメイン、またはgTLDを含むサブディレクトリのいずれかを推奨しています。 ?lang=en
などのURLパラメーターは推奨されません:
https://support.google.com/webmasters/answer/182192?hl=en#2
(面白いことに、これにURLパラメーターを使用することは推奨されていないと言っているページが、実際にまさにこれを行っているということです。)
一般的に、ページの読み込み時にユーザーをリダイレクトすることは決して良いことではありません。誘導ページと呼ばれます。ただし、これは言語の自動選択に関するものであるため、問題はありませんすべきではありません。
私自身は、それらを/ en /や/ de /にリダイレクトするよりも別の解決策を好みます。それは、代わりに/?lang = enにリダイレクトすることです。これは、同じ物理ページであるが、言語変数が選択されていることを意味するため、最も厳密な定義ではリダイレクトとして表示されません。
正直言って、SEOの方が良いかどうかはわかりません。
Cookieを使用せずにsite.com/deにアクセスした場合、ドイツ語版が引き続き取得されると思いますか?
その警告以外、SEOの観点からは何も問題はないと思います。
ブラウザから送信されるユーザーの「Accept-Language」ヘッダーに基づいてリダイレクトを検討することもできます。これを実現するためにいくつかのphpコードとmodの書き換えを使用している人がいます: https://stackoverflow.com/questions/1661915/how-to-redirect-based-on-accept-language-with-Apache- mod-rewrite