web-dev-qa-db-ja.com

ドメインのルートURLに特定のサイトがない場合、訪問者はどのように言語フォルダーに誘導されるべきですか?

私の質問は技術的ではなく(Xテクノロジーを使用してそれを行う方法)、SEOに適した適切なアプローチを選択することです。

説明

私がexample.comというウェブサイトを持っているとしましょう。多言語サイトですが、ルートレベルにデフォルト言語なしがあります。その代わりに、http_accept_language(またはその他の条件)に基づいて適切なサブディレクトリにリダイレクトして、一貫性を保ちたいと思います。条件は今は重要ではありませんが、例を使って簡単にしましょう。

example.com     # redirects to …
example.com/es  # … /es if spanish is accepted language
example.com/da  # … /es if danish is accepted language
example.com/en  # … /en otherwise

それらは実際には同じWebサイトであり、翻訳されたコンテンツがあるため、example.com/en/items/1が存在する場合は、/es/items/1/da/items/1も存在します。もちろん、すべてのページにはalternatehreflangリンクなどがあります。

質問

それは良いデザインですか?そうでない場合、その理由を教えてください。そして、それはどのように行われるべきですか?

5
pfff

多くの多言語サイトでは、URLにデフォルト/第一言語の言語タグがありません¹。しかし、私は それを含める方が良い と思います。そうです、私の意見では、それは良いデザインであるだけでなく、最高です。

ルートページをサイト/言語選択ツールとして使用することを提案しています。このページの仕組みには次の3つの方法があると思います。

  • リダイレクト(特定の条件に基づく²)
  • リンクのリストを表示する
  • リンクのリストを表示し、(特定の条件に基づいて)最も可能性の高い選択肢を事前選択/強調表示します²

検索エンジンは通常、ユーザーに言語選択ページを提示することに関心がないため、このページはSEOとは無関係です。このようなページには関連するコンテンツがありません(必要ではありません)。リダイレクトしている場合、ユーザーをリダイレクトターゲットページの代わりにこのリダイレクトページに導くことは役に立ちません(検索エンジンは、ユーザーの言語)。

最も重要なこと(そしてあなたが言ったように、あなたはすでにそれをしている)は、それが言語を選ぶ唯一の方法ではないということです。ユーザー(および検索エンジン)は、言語スイッチャー/ alternate + hreflangリンクを使用して、現在のページの翻訳に切り替えることができる必要があります。

それとは別に、検索エンジンに関する限り:

  • Google検索の場合rel="alternate" hreflang="x-default"とリンクできます:

    […]予約値「x-default」は、1つの言語または地域に固有ではない言語セレクター/リダイレクターを示すために使用されます。クリック可能な世界地図を表示するホームページ

    (私は理解できないwhyこれは役に立つかもしれないし、悪い選択だと思う(セレクタページは言語固有のホームページの翻訳ではない)彼らのドキュメントにあるので、ここにも注意する方が良いと思います。)

  • リダイレクトする場合は、301を使用しないでください。リダイレクトは変更/ユーザー固有の条件に基づいているため、永続的ではありません。また、ユーザーのキャッシュに入れたくないかもしれません(たとえば、ブラウザで受け入れられている言語を変更してルートページに戻る可能性があります)。

    302または307 )が正しいステータスコードのようです。

  • たぶん:もしそれが本当に単なるリンクのリストであるなら、あなたはこのルートページをnoindex検討することができます。


¹ところで、言語タグのパスセグメントの代わりにサブドメイン(en.example.orgda.example.org)を使用するサイトでは、同じ質問が出てきます:example.org/www.example.org?この場合の解決策は同じだと思います。

²条件は、Accept-Languageヘッダー、IPアドレス、またはコンテキストで意味のあるものである可能性があります。

4
unor

最もSEOに優しい方法は、デフォルト言語を定義することだと思います。このコンテンツは/から提供されます。他のすべての言語のホームページは/ lang /から取得されます。また、@ unorが提案するパターンは引き続き適用できます。すべてのコンテンツの先頭に/ lang /を付けます。たとえば、デフォルトの言語でも/ lang/about-xy /が一般的なベストプラクティスです。

実際の/ページを提供する方が良いのはなぜですか?かつて/ページがあった場合がありましたが、システムはすべての言語で302リダイレクトに変更されました。そして、元の/はインデックス付けされたままであり、古くなったタイトルタグなどの検索結果に表示されていました。したがって、これがポイントです。最も重要なURLである/は、302でリダイレクトされます!または、SEOの観点からは役に立たない言語リンクのリストを表示しているので(間違いなく/を「noindex」にしません)、潜在能力を無駄にします。 ccTLDを使用する場合、この問題を完全に回避できます。 また、200ページの応答を提供する/ページを持つ方が良いと言う人もいると聞きました。しかし、この投稿はもう見つかりません。

0
benzkji