web-dev-qa-db-ja.com

ページ内の複数のhreflangは同じURLを指すことができますか?

異なる言語のlink属性を使用して、ページに複数のhreflangタグを含めることはできますが、そのページの言語検出と関連コンテンツ配信はApacheで行われるため、実際はすべて同じURLを指しますレベル? (異なる言語でコンテンツを配信するPHPなどの動的ページについても同じことが言えると思います。)

私のサイトのセットアップではMultiViewAddLanguageの組み合わせを使用しているため、URLを読み込むときにHost/folder/page、Apacheは実際にHost/folder/page.<lang>.htmlを提供します。つまり、ページのコンテンツは英語またはフランス語ブラウザの言語設定にもよりますが、ロードするURLは同じままです。これは私が気に入っている方法です。

ここで見てきた多くの答えは、言語のサブドメインまたはサブフォルダーのみを考慮していますが、URLはすべての言語で同じであるため、私の場合ではありません。複数のhreflangを使用してこれを適切にインデックス化できますか?

例:
htp://www.nicealias.com/articles/focus_on_renewables.en.htmlおよび
htp://www.nicealias.com/articles/focus_on_renewables.fr.html
を使用してロードできます
htp://www.nicealias.com/articles/focus_on_renewables

これらのタグを両方一緒に使用できますか

<link rel="alternate" href="http://www.nicealias.com/articles/focus_on_renewables" hreflang="en">
<link rel="alternate" href="http://www.nicealias.com/articles/focus_on_renewables" hreflang="fr">

apacheが適切なコンテンツを提供することを考慮して、各ページで?

2
Paolo

異なる言語コードは同じページを指すことができますが、使用方法は間違っています。

これは結構です:

<link rel=alternate hreflang="en-US" href="http://example.com/en/">
<link rel=alternate hreflang="en-GB" href="http://example.com/en/">

しかし、あなたの例はそうではありません。それについて考えてみてください-私たちは皆、私たちのページのすべての言語バージョンをクロールする検索エンジンを望んでいます。しかし、提案されたマークアップにより、検索エンジンが英語とフランス語のコンテンツをクロールして表示することができなくなります。 Googlebotがページをクロールすると、英語版が取得されます。フランス語版も同じページ(!)にあることが検出されますが、フランス語のコンテンツは見つかりません。

あなたがしていることに対する解決策はx-defaultです。 x-defaultは、自動検出とリダイレクトを行うページを指すために使用されるhreflangの特別な値です。したがって、3つの個別のURLが必要です。

  1. x-default:必要に応じて英語版またはフランス語版への自動リダイレクトを行います。
  2. en:英語版
  3. fr:フランス語版。

3つのURLがあると、Googleはすべてのバージョンをクロールしてインデックスを作成できます。また、Googleはユーザーの検索設定を知っている場合、検索結果に適切な(EN/FR)ページを表示します。 Googleがユーザーの設定を知らない場合、x-defaultページが表示されるため、ユーザーは自分の言語を選択できます。

1
tinkerr