hreflangとは

多言語・多地域サイトで、各ページの言語・地域バージョンの関係を検索エンジンに伝えるHTMLタグ。適切なローカライズ版を表示させる。

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)