外向け Sotomuke

← ガイド · 約7分 · 2026-10-14 更新

hreflang とは:多言語サイトで Google に言語版を正しく伝える方法(記述例つき)

hreflang は、同じ内容のページの言語版・地域版を検索エンジンに伝えるための属性です。書き方、x-default の意味、canonical との関係、サイトマップでの指定方法、よくある間違いを、日本語サイトに英語・中国語・韓国語版を追加する例で説明します。

hreflang は、「このページには、こういう言語(と地域)向けの別バージョンがあります」と検索エンジンに伝えるための属性です。日本語の会社概要ページに英語版と中国語版があるとき、Google は hreflang を見て、英語で検索した人には英語版を、中国語で検索した人には中国語版を出します。設定しなくても各言語ページは個別にインデックスされますが、設定すると「同じページの言語違い」として扱われ、適切な言語版が検索結果に出やすくなり、重複コンテンツの懸念もなくなります。

書き方(HTML の head に入れる)

各ページの <head> に、自分自身を含むすべての言語版を列挙します。日本語サイト example.co.jp に、英語・簡体字中国語・韓国語版を global.example.co.jp で配信する例です。

<link rel="alternate" hreflang="ja" href="https://example.co.jp/company/">
<link rel="alternate" hreflang="en" href="https://global.example.co.jp/en/company/">
<link rel="alternate" hreflang="zh-Hans" href="https://global.example.co.jp/zh-Hans/company/">
<link rel="alternate" hreflang="ko" href="https://global.example.co.jp/ko/company/">
<link rel="alternate" hreflang="x-default" href="https://example.co.jp/company/">

サイトマップで指定する方法

HTML を編集できない場合は、XML サイトマップに同じ情報を書けます。各 URL に、すべての言語版を xhtml:link で列挙します。

<url>
  <loc>https://global.example.co.jp/en/company/</loc>
  <xhtml:link rel="alternate" hreflang="ja" href="https://example.co.jp/company/"/>
  <xhtml:link rel="alternate" hreflang="en" href="https://global.example.co.jp/en/company/"/>
  <xhtml:link rel="alternate" hreflang="ko" href="https://global.example.co.jp/ko/company/"/>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://example.co.jp/company/"/>
</url>

サイトマップは別ホストにあっても、robots.txt から参照されていれば受け付けられます。example.co.jp/robots.txt に Sitemap: https://global.example.co.jp/sitemap.xml と書く方法です。

canonical との関係

rel="canonical" は「このページの正式な URL はこれ」という宣言で、各言語ページは自分自身を canonical にします。英語ページの canonical を日本語ページに向けてしまうと、「英語ページは日本語ページの重複です」と言っていることになり、英語ページがインデックスから外れます。hreflang は言語版同士を結び、canonical は各言語版の中で正式 URL を決める、と覚えてください。

よくある間違い

片方向の指定日本語ページにだけ hreflang を書き、英語ページには書かない。相互参照がないため無視される。
言語コードの誤りjp(正しくは ja)、cn(正しくは zh-Hans か zh-CN)、en-UK(正しくは en-GB)。
canonical を原文に向ける翻訳ページが重複扱いになり、検索結果から消える。
翻訳していないページを指す英語版が存在しない URL を hreflang="en" で指すとエラーになる。言語版があるページだけに書く。
JavaScript で後から挿入するクローラーがレンダリング前に読むことがある。サーバーから返す HTML に含めるか、サイトマップで指定する。

設定できているかの確認

Google Search Console の「インターナショナル ターゲティング」は廃止されたため、現在は URL 検査で各言語ページがインデックスされているかを見るのが確実です。数週間後、「検索パフォーマンス」を国別に見ると、どの言語版がどの国で表示されているかが分かります。

Sotomuke の場合

Sotomuke が配信する翻訳ページには、言語別 URL・自分自身への canonical・全言語版の hreflang・x-default がサーバー側で自動的に入り、サイトマップにも同じ情報が含まれます。元の日本語サイト側に hreflang を置けるときは、元サイトから翻訳ページへリンクするの手順で、原文ページを含めたグループとして Google に伝えられます。

Sotomuke で試す

日本語サイトのURLを貼るだけで、トップページを翻訳したプレビューを無料で作成します。CMSの改修やタグの設置は不要です。公開は月額¥4,980から、最低契約期間なし。

無料でプレビューを作る 料金を見る

関連するガイド