はじめに:Googleは「言語」を自動判別できない?
あなたは、日本語版と英語版の2つのサイトを持っています。
しかし、アメリカに住むユーザーがあなたのサイトを検索した時、なぜか「日本語版」が表示されてしまう現象が起きていませんか?
Googleは非常に賢い検索エンジンですが、ページの内容だけを見て「これはアメリカ人向け」「これはイギリス人向け」と100%正確に判断することはできません。
そこで必要になるのが、サイト側からGoogleへ送る指示書、それが「hreflang(エイチレフ・ラング)タグ」です。
1章:hreflangタグとは何か
hreflangタグは、HTMLの<head>内に記述する、以下のような短いコードのことです。
<link rel="alternate" hreflang="en" href="http://example.com/en/" />
このタグは、Googleのクローラー(ロボット)に対して、次のようなメッセージを伝えます。
「Googleさん、このページ(example.com/en/)は『英語(en)』を話すユーザー向けですよ。
もし英語圏の人が検索したら、日本語版ではなく、こちらのページを検索結果に出してくださいね」
つまり、hreflangは検索結果における「交通整理員」の役割を果たします。
これがないと、Googleはユーザーの居場所に関係なく、単にドメインパワーが強い方のページ(例えば歴史の長い日本語トップページ)を表示してしまうことがあります。
2章:なぜSEOに必要なのか?「重複コンテンツ」の罠
「ユーザーに正しい言語を見せる(ユーザビリティ)」以外にも、SEO上の重大な理由があります。
それは「重複コンテンツ(コピーサイト)扱い」を避けるためです。
似ているページはペナルティ対象?
例えば、以下の3つのページがあるとします。
- アメリカ向け:英語(en-us)
- イギリス向け:英語(en-gb)
- オーストラリア向け:英語(en-au)
これらは全て「英語」で書かれており、内容はほとんど同じで、通貨単位($と£)やスペル(ColorとColour)が少し違うだけかもしれません。
Googleのプログラムから見ると、これらは「中身が99%同じコピーページ」に見えてしまいます。
通常、コピーページはSEO評価を下げられますが、hreflangタグで「これは地域別の正規ページですよ」と伝えておけば、Googleはこれらを「コピーではなく、適切なバリエーション」として認識し、ペナルティを回避できます。
3章:どんなサイトに導入すべき?
hreflangタグは、全てのサイトに必要なわけではありません。
以下のいずれかに当てはまる場合に導入を検討してください。
- 完全翻訳サイト:
日本語ページと、それを翻訳した英語・中国語ページが存在する場合。 - 地域別サイト:
同じ言語だが、国によって内容が少し違う場合(例:アメリカ向け英語とイギリス向け英語)。 - トップページのみ多言語:
メインは日本語だが、フォーラムやトップページだけ多言語化されている場合。
次回の第2部では、具体的な「書き方」について解説します。
hreflang="en-us" のように、「言語コード」と「地域コード」をどう組み合わせるのか? 実は多くの人が間違えている「jp」と「ja」の違いなど、正確な記述ルールをお伝えします。
4章:基本構文とコードのルール
hreflangタグは、非常に厳密なルールで記述する必要があります。
1文字でも間違えると、Googleはタグ全体を無視してしまいます。
基本の形
hreflang="言語コード-地域コード" という形式で記述します。
例:アメリカ向けの英語ページの場合 hreflang="en-us" (en = 英語、us = アメリカ)
ルール1:言語コード(必須)
まず最初に「何語で書かれているか」を指定します。
これは「ISO 639-1」という国際規格に従います。
- 日本語:
ja(× jp ではありません!) - 英語:
en - 中国語:
zh - 韓国語:
ko
⚠️ よくある間違い:
日本だからといって hreflang="jp" と書くのは間違いです。
「jp」は国コード(日本という場所)であり、言語コード(日本語)ではないからです。
ルール2:地域コード(任意)
次に「どこの国のユーザー向けか」を指定します。
ハイフン(-)で繋ぎ、「ISO 3166-1 Alpha 2」という規格に従います。
- アメリカ:
us - イギリス:
gb(× uk ではありません!) - 日本:
jp
組み合わせ例:
en-us: アメリカ向けの英語en-gb: イギリス向けの英語en: 地域を指定しない、一般的な英語
5章:よくある記述ミスTOP3
Googleのジョン・ミューラー氏も「hreflangはSEOで最も複雑な要素の一つ」と認めるほど、設定ミスが多いタグです。
ミス1:自分自身への参照を忘れる
hreflangは「他の言語ページへのリンク」だと思われがちですが、「自分自身のページ」も必ず含める必要があります。
例えば、日本語ページ(A)と英語ページ(B)がある場合、
AのHTMLには「A(自分)とB」の2行を書き、
BのHTMLにも「AとB(自分)」の2行を書く必要があります。
ミス2:双方向リンクになっていない
「日本語ページから英語ページへ」のタグはあるのに、「英語ページから日本語ページへ」のタグがない場合(片思い状態)、Googleは「設定ミス」とみなして両方のタグを無視します。
必ず相互にタグを設置(両思い状態)しなければなりません。
ミス3:ドメインやプロトコルの不一致
href属性に書くURLは、必ず絶対パス(http://〜 または https://〜 から始まるフルURL)で記述してください。
相対パス(/en/page.html)はNGです。
また、サイトがSSL化されているなら、必ず https で統一しましょう。
(参考:サーバーとドメイン)
6章:実際の記述例(コピペ用)
日本語版(JP)と、アメリカ英語版(US)、イギリス英語版(GB)の3つがあるサイトの例です。
<!-- 全てのページの<head>内に記述 --> <link rel="alternate" hreflang="ja" href="https://example.com/jp/" /> <link rel="alternate" hreflang="en-us" href="https://example.com/us/" /> <link rel="alternate" hreflang="en-gb" href="https://example.com/uk/" />
この3行セットを、日本語ページ、アメリカページ、イギリスページの全てにそのまま貼り付けます。
(※URL部分はページごとに変わります)
次回の第3部では、このタグを「どこに書くべきか」という実装場所について解説します。
HTMLのヘッダーに書くのが一般的ですが、PDFファイルなどの場合はどうすればいいのか?
「HTMLヘッダー」「HTTPヘッダー」「XMLサイトマップ」の3つの実装パターンを比較します。
7章:hreflangを実装する3つの場所
Googleにhreflangの情報を伝える方法は、実はHTMLタグだけではありません。
サイトの規模やファイルの種類(PDFなど)に合わせて、以下の3つの場所から選ぶことができます。
- HTMLの <head> タグ内(一般的)
- HTTPヘッダー(非HTMLファイル向け)
- XMLサイトマップ(大規模サイト向け)
⚠️ 重要ルール:
これらを併用する必要はありません。どれか1つの方法で実装すればOKです。
逆に、複数箇所に書いて内容が矛盾すると、Googleが混乱して無視される原因になります。
8章:パターン1 HTMLタグ(小規模サイト向け)
最も基本的で導入しやすい方法です。
第2部で解説したタグを、各ページの <head> セクションに貼り付けるだけです。
<link rel="alternate" hreflang="en" href="http://example.com/en/" /> <link rel="alternate" hreflang="ja" href="http://example.com/ja/" />
メリット
- 設定が簡単で、ソースコードを見ればすぐに確認できる。
- WordPressなどのCMSプラグインで自動化しやすい。
デメリット
- 言語数が増えるとHTMLが肥大化し、表示速度に悪影響を与える(100言語あれば100行必要になる)。
- PDFなどのファイルには使えない。
9章:パターン2 HTTPヘッダー(PDF向け)
製品マニュアル(PDF)やその他の非HTMLファイルを多言語で提供している場合、HTMLタグを書くことができません。
この場合は、サーバーがファイルを送信する時の「HTTPヘッダー(レスポンスヘッダー)」に情報を埋め込みます。
記述例(.htaccessやサーバー設定):
Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
<http://example.com/de/file.pdf>; rel="alternate"; hreflang="de"
メリット
- PDFなどの非HTMLファイルでも多言語SEOができる。
デメリット
- サーバーの設定ファイルをいじる必要があり、技術的な難易度が高い。
10章:パターン3 XMLサイトマップ(大規模サイト向け)
ページ数が数千〜数万ある大規模なECサイトなどでは、全てのHTMLにタグを埋め込むと管理が大変です。
そこで、Googleに送信する「XMLサイトマップ(sitemap.xml)」の中にhreflang情報をまとめて記述する方法があります。
記述例(sitemap.xml):
<url> <loc>http://example.com/en/</loc> <xhtml:link rel="alternate" hreflang="de" href="http://example.com/de/" /> <xhtml:link rel="alternate" hreflang="en" href="http://example.com/en/" /> </url>
メリット
- HTMLを汚さずに済み、ページ表示速度への影響がない。
- 一箇所で集中管理できるため、システムでの自動生成に向いている。
デメリット
- サイトマップのファイルサイズが大きくなる。
- 記述ミスがあっても気付きにくい(目視確認が難しい)。
11章:どれを選ぶべき?
- ほとんどのサイト: パターン1(HTMLタグ)がおすすめ。
- PDFをSEOしたい場合: パターン2(HTTPヘッダー)を併用。
- 超大規模サイト: パターン3(XMLサイトマップ)を検討。
次回の第4部では、hreflang設定における「必須の呪文」とも言える重要な要素「x-default」について解説します。
これがないと、言語設定にマッチしないユーザー(例:フランス人が日・英サイトに来た場合)が路頭に迷ってしまいます。
また、効果をゼロにしてしまう「リターンタグの欠落」という致命的なミスについても触れます。
12章:魔法の呪文「x-default」とは?
日本語(ja)と英語(en)のページを用意しました。
では、フランス語圏や中国語圏の人があなたのサイトを検索したら、どちらが表示されるべきでしょうか?
Googleにその答えを教えるのが「x-default(エックス・デフォルト)」です。
これは、「指定した言語以外のユーザーには、とりあえずこのページを見せておいて」という指示を出します。
x-defaultの書き方
通常は、世界共通語である「英語ページ」か、言語選択ボタンがある「グローバルTOPページ」を指定します。
<!-- どの言語にも当てはまらない人は英語ページへ --> <link rel="alternate" hreflang="x-default" href="http://example.com/en/" />
これを設定しておかないと、Googleは勝手に「日本語ページ」をフランス人に表示してしまうかもしれません。
ホームページの集客機会を逃さないために、必ず「受け皿」を用意しておきましょう。
13章:最大の落とし穴「リターンタグ」の欠落
hreflangタグを設置したのに、Search Consoleで「リターンタグがありません(No return tags)」というエラーが出ることがあります。
これは、hreflangの「相互参照ルール」を破っているためです。
一方通行は認められない
hreflangは、ページ同士が「お互いを認め合っている」必要があります。
- OKな例(両思い):
ページAが「私の英語版はBです」と言い、ページBも「私の日本語版はAです」と言っている。
➡ Googleは「なるほど、AとBはペアなんだな」と理解します。 - NGな例(片思い):
ページAが「私の英語版はBです」と言っているのに、ページBにはhreflangタグが書かれていない(またはAへのリンクがない)。
➡ Googleは「Aが勝手に言ってるだけかもしれない」と疑い、タグの設定をすべて無効化します。
つまり、1ページでも設定漏れがあると、他のページの努力も水の泡になるのです。
必ず全ての言語ページに、全ての言語バージョンへのリンク(自分自身を含む)を記述してください。
14章:IPアドレスによる「強制転送」はNG?
「hreflangなんて面倒だ。アクセス元の国(IPアドレス)を判別して、自動的にその国のページに転送(リダイレクト)させればいいじゃないか」
と思うかもしれません。
しかし、これはGoogleが公式に非推奨としている手法です。
Googlebotはアメリカから来る
Googleのクローラー(ロボット)の多くは、アメリカのIPアドレスを使って巡回します。
もしあなたが「アメリカからのアクセスは強制的に英語ページへ飛ばす」という設定をしていたら、どうなるでしょうか?
クローラーは永遠に「英語ページ」しか見ることができず、「日本語ページ」や他の言語ページを発見・インデックスできなくなってしまいます。
強制リダイレクトではなく、あくまでhreflangで「推奨ページ」を伝え、ユーザー自身に選ばせるのが正解です。
次回の最終回(第5部)では、設定が正しく反映されているかを確認する方法について解説します。
Search Consoleの「インターナショナルターゲティング」レポート(※現在はレガシーツール)や、外部のチェックツールを使ったデバッグ手順とまとめをお届けします。
15章:公開前の最終チェック(無料ツール)
コードを書き終えたら、サイトにアップロードする前に(あるいはアップロード直後に)、必ず外部ツールを使ってエラーがないか診断しましょう。
目視では気づけない細かな記述ミスを発見できます。
おすすめツール:Hreflang Tags Testing Tool
URLを入力するだけで、そのページに設定されたhreflangタグを解析してくれる無料ツールがいくつか公開されています。
(例:Merkle社のツールなど)
チェック項目:
- リターンタグの有無:「Return Tag Missing」というエラーが出ていないか?
- 言語コードの正当性:「Unknown Language Code」になっていないか?
- 自分自身へのリンク:「Self-referencing hreflang tag」が含まれているか?
16章:公開後の監視(Search Console)
サイトを公開してしばらく経ったら、Google Search Consoleを確認しましょう。
以前は「インターナショナル ターゲティング」という専用レポートがありましたが、現在は廃止傾向にあります。
その代わり、通常の「カバレッジ(インデックス作成)」レポートや、URL検査ツールを使用します。
エラーが出た時の対処法
もしインデックス登録のステータスで「重複しています。ユーザーにより、正規ページとして選択されていません」などの警告が出た場合、hreflangが正しく認識されていない可能性があります。
- URL検査ツールで対象URLを検査する。
- 「参照元ページ」や「正規URL」の欄を確認する。
- Googleが意図した通りの言語ページを正規として選んでいるかチェックする。
17章:まとめ|言語の壁を超えるSEO
全5回にわたり、hreflang(多言語SEO)について解説してきました。
グローバルサイトの運営は、単に翻訳ページを作れば終わりではありません。
「どの国の」「何語を話す人」に、「どのページ」を見せるか。
この交通整理(hreflang)を正しく行うことで初めて、Googleはあなたのサイトを世界中のユーザーに適切に届けてくれます。
最初は難しく感じるかもしれませんが、一度設定してしまえば、あとは自動的に機能し続けます。
ぜひ本記事を参考に、世界への扉を大きく開いてください。
🌏 多言語サイトのSEO、相談できます
「hreflangの設定が合っているか不安…」
「海外からのアクセスが増えない」
OMNIWEBでは、越境ECやグローバルサイトのSEO診断を行っています。
タグの実装代行から、現地市場に合わせたキーワード戦略まで、海外展開を技術面からサポートします。