hreflang とは、多言語サイトで各言語版ページの関係性を検索エンジンに伝える HTML 属性です。 <link rel="alternate" hreflang="ja" href="..."> の形式で記述し、「このページには日本語版、英語版、スペイン語版があります」と Google に通知します。
hreflang が必要な理由は、検索エンジンが多言語ページの関係性を自動的に判別できないためです。 hreflang を設定しないと、日本語で検索しているユーザーに英語版ページが表示されたり、同一コンテンツの多言語版が重複コンテンツとして扱われたりする問題が発生します。
hreflang の実装で最も多い間違いは、双方向の参照漏れです。日本語ページから英語ページへの hreflang を設定しても、英語ページから日本語ページへの hreflang を設定し忘れると、 Google はこの関係性を無視します。すべての言語版ページが相互に参照し合う「完全な双方向リンク」が必須です。 5 言語対応なら、各ページに 5 つの hreflang タグ (自分自身を含む) が必要です。
x-default の設定も重要です。 hreflang="x-default" は、どの言語にもマッチしないユーザー向けのデフォルトページを指定します。言語選択ページや英語版をデフォルトに設定するのが一般的です。
hreflang の実装方法は 3 つあります。 HTML の <link> タグ、 HTTP レスポンスヘッダー、サイトマップ XML です。ページ数が多い大規模サイトではサイトマップ XML での実装が管理しやすく推奨されます。関連書籍は Amazon でも探せます。