hreflangとは
hreflang(エイチレフラング)とは、Webサイトの多言語・多地域対応において、各ページの言語と地域のバージョンの関係を検索エンジンに伝えるためのHTML属性です。rel="alternate" hreflang="x"の形式で指定します。
hreflangを正しく設定することで、検索エンジンがユーザーの言語や地域に応じた最適なページを検索結果に表示できるようになります。
hreflangが解決する問題
1. 適切なバージョンの表示
日本にいるユーザーには日本語版を、アメリカにいるユーザーには英語版を検索結果に表示させることができます。
2. 重複コンテンツの回避
異なる言語バージョンが重複コンテンツとして判定されるのを防ぎます。hreflangは「これらは別言語の同一コンテンツです」とGoogleに伝えます。
3. 地域別コンテンツの出し分け
同じ英語でもアメリカ向け(en-us)とイギリス向け(en-gb)で異なるページを出し分けることができます。
hreflangの実装方法
HTMLのheadセクション
<link rel="alternate" hreflang="ja" href="https://example.com/ja/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
HTTPヘッダー
Link: <https://example.com/ja/>; rel="alternate"; hreflang="ja",
<https://example.com/en/>; rel="alternate"; hreflang="en"
XMLサイトマップ
<url>
<loc>https://example.com/ja/</loc>
<xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/"/>
</url>
hreflang設定のルール
言語と地域の指定
言語コードはISO 639-1(2文字の言語コード)、地域コードはISO 3166-1 Alpha-2(2文字の国コード)を使用します。
ja- 日本語en-us- アメリカ英語en-gb- イギリス英語zh-cn- 簡体字中国語
x-defaultの設定
hreflang="x-default"は、どの言語・地域バージョンにも該当しないユーザー向けのデフォルトページを指定します。言語選択ページやグローバル版のトップページに設定するのが一般的です。
双方向の参照(必須)
hreflangは必ず双方向で設定する必要があります。日本語ページから英語ページを指すだけでなく、英語ページからも日本語ページを指す設定が必要です。片方向のみの設定はGoogleに無視される可能性があります。
よくあるエラーと対処法
- リターンタグの欠如: すべての言語バージョンが相互に参照し合っていること(双方向の設定)を確認
- 自己参照の欠如: 各ページに自分自身のhreflangも含める
- canonicalタグとの矛盾: hreflangで参照するURLとcanonicalのURLが一致すること
- 言語コードの誤り: 正しいISO規格のコードを使用すること(jpではなくja)