同じページが複数の言語にある場合、それらが同じ内容の別版であることを検索エンジンに伝える必要があります。それを担うのが hreflang で、間違えやすい仕組みでもあります。コードは3つの別々の規格に由来します。どの版も、自分自身を含めて他のすべての版を指す必要があり、戻りのリンクが1つ欠けたセットは一部ではなく全体が無視されます。各行にアドレスと言語コードを入力するか、アドレスを1つだけ入力して残りをこのツールに作らせてください。入力に合わせてコードが言葉で読み返されるので、公開中のページに届く前に誤りが表に出ます。出力はページの head に入れるブロック、HTML ではないファイル向けの HTTP ヘッダー、あるいは sitemap 用の記述です。
すべてのバージョンがすべてのバージョンを挙げる
別版を挙げるページは、その別版からも挙げ返される必要があり、そうでなければ注記は無視されます。この決まりは、他サイトの誰かがあなたの承諾なしにあなたのページを自分のページの別版として名乗れないようにするためにあります。セットはどのアドレスでも同一なので、1つのブロックですべてをまかなえます。
コードは3つの規格に由来する
言語は ISO 639-1、地域は ISO 3166-1 alpha-2、そして言語に必要な場合の文字体系は ISO 15924 に基づきます。zh-Hans-US のように、1つのコードが3つすべてを担うこともあります。各部分を個別に確認するため、形としては通るのに意図と違う意味になるコードを見つけられます。最もわかりやすい例が be で、これはベルギーではなくベラルーシ語です。
方法を1つ選び、それを続ける
ページの head に入れるタグ、応答に付ける Link ヘッダー、sitemap の記述のいずれかです。Google はこれらを同等に扱うので、複数を使っても手間が増えるだけで意味は増えません。多くのサイトにはタグが向いています。ヘッダーは PDF など HTML ではないファイルのためにあり、sitemap はマークアップをすべてのテンプレートの外に置いておけます。
フォールバックはすでに持っているページ
x-default は、言語がセット内のどれとも一致しない訪問者を受け持ちます。すでに挙げたアドレスのいずれか、通常は言語選択ページか主要な版を指します。その行のフォールバックにチェックを入れれば、タグは自動で書かれます。
コードの各部分と、セット全体。
- ISO 639-1 の言語
- ISO 3166-1 alpha-2 の地域
- ISO 15924 の文字体系
- 重複したコードとアドレス
- フォールバックが複数ある状態
- http と https の混在
- head に入れるタグ
- その他のファイル向けの Link ヘッダー
- Sitemap の記述
- サブディレクトリ、サブドメイン、国別ドメイン
- クエリ文字列を使うアドレス
- 1つのアドレスを全言語に展開