web-dev-qa-db-ja.com

hreflangは、各ページの先頭で使用されている場合、XMLサイトマップで必要ですか?

私はこのような多言語ウェブサイトを持っています:

example.com/de/about
example.com/fr/about
example.com/about (English)

hreflang リンク要素を各ファイルの<head>に入れることにしました。次のように、サイトマップにデフォルトの英語のURLを入れるだけで十分かと思います。

<url>
  <loc>example.com/about</loc>
</url>

または、サイトマップにすべての言語バージョンを配置する必要がありますか?

<url>
      <loc>example.com/de/about</loc>
    </url>
  <url>
      <loc>example.com/fr/about</loc>
    </url>
  <url>
      <loc>example.com/about</loc>
    </url>
1
Adam

Hreflangを配置する場所はどこでも構いませんが、上記の方法のいずれか1つのみを使用する必要があります。 Googleが提案する方法をここで見つけてください: ページのローカライズバージョンについてGoogleに伝えてください

代替ページを示す方法Googleにページの複数の言語/ロケールバージョンを示す方法は3つあります。

  1. HTMLタグ
  2. HTTPヘッダー
  3. サイトマップ

個人的な経験から、私は頭の方法を使用することをお勧めします

サイトマップ:

長所:代替言語を使用するページをより詳細に制御簡単なセットアップ(クロールと設定)

短所:毎月更新

ヘッド:

長所:さまざまなプラグインとスクリプトを使用してプロセスを自動化できます

短所:代替言語のないページでhreflangの問題が発生する可能性があります(手動でこれを無視しない限り)

注:両方を保持するとどうなるかはよくわかりませんが、不要であることがわかりました。エラーを回避し、最終的にはhreflangを無視してGoogleをシンプルかつ健全に保ちます。

サイトマップでhreflangを使用する

サイトマップは次のようになります。

<url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>

サイトマップにあるため、ヘッダーにhreflangを含めるべきではありません。

<head> no hreflang </head>

ヘッダーでhreflangを使用する

サイトマップは次のようになります

<url>
    <loc>http://www.example.com/english/page.html</loc>

  </url>

ヘッダーは次のようになります。

<link rel="alternate" href="http://www.example.com/deutsch/page.html" hreflang="de">
<link rel="alternate" href="http://www.example.com/schweiz-deutsch/page.html" hreflang="de-ch">
<link rel="alternate" href="http://www.example.com/english/page.html" hreflang="en">
<link rel="alternate" href="http://www.example.com/english/page.html" hreflang="x-default">
3
John Could

サイトマップで各言語固有のURLを指定する必要があります。 GoogleのWebマスターページに投稿があります 確認できます サイトマップとサイトのローカライズバージョンに特化したセクションがあり、詳細な例があります。そのセクションには次のように書かれています。

サイトマップを使用して、各URLのすべての言語と地域のバリエーションをGoogleに伝えることができます。そのためには、単一のURLを指定する要素を追加します。子エントリには、それ自体を含むページのすべての言語/ロケールバリアントがリストされます。したがって、ページの3つのバージョンがある場合、サイトマップには3つのエントリがあり、それぞれに3つの同一の子エントリがあります。