hreflangは順位を上げるタグではない|Googleが「言語判定には使わない」と明記する理由
「日本語版のページがあるのに、検索結果に英語版が表示される」「hreflangは実装したはずなのに、狙った版が出てこない」――多言語・多地域サイトを運用していると、こうした不一致に一度は行き当たります。この記事では、Google Search Central公式ドキュメント「Tell Google about localized versions of your page」の記載に基づいて、hreflangが実際には何をしているタグなのかを整理します。
30秒で要点
- hreflangは、Googleがページの言語を判定するために使う情報ではない。言語判定は別のアルゴリズムで行われる
- hreflangは「どの版を上位表示するか」ではなく「どの言語・地域のユーザーにどの版を見せるか」の対応表
- 指定した2ページが相互に指し合っていないと、そのアノテーション自体が無視される
- 実装方法は
<link>タグ・HTTPヘッダー・XMLサイトマップの3つが等価。併用しても検索上の利点はない - 言語コード・地域コードには規格外の値があり、
es-419のような表記や国コード単独指定は非対応
| 用語 | 意味 |
|---|---|
| hreflang | ページごとに「この内容はどの言語・地域向けの版か」をGoogleに伝える対応表(アノテーション) |
| 相互リンク(reciprocal annotation) | AページからBページへのhreflangと、BページからAページへのhreflangが、双方向に揃っている状態 |
| x-default | ユーザーの言語設定がどの版とも一致しないときのフォールバック先を示す予約値 |
なぜ「hreflang=順位を上げるタグ」だと誤解しやすいのか
多言語サイトを運用する担当者の多くは、canonicalタグやrobots.txtと同じ感覚でhreflangを捉えています。「タグとして明示的に指定するのだから、検索エンジンはそのとおりに動くはずだ」という前提です。さらにhreflangは「SEO(検索エンジン最適化)対策」の文脈で紹介されることが多く、実装すること自体が検索順位の改善策であるかのように語られがちです。
しかし、hreflangが解決しているのは「順位」の問題ではなく「出し分け」の問題です。同じ内容の記事が日本語版・英語版で存在するとき、Googleはどちらを検索結果に出すべきか、単独では判断できません。hreflangはこの曖昧さに対して「このURLは日本語話者向け、あのURLは英語話者向け」という対応関係を教える仕組みであり、どちらか一方の順位を押し上げる指示ではないのです。この違いを区別せずに「設定したのに効果が出ない」と感じるのは、そもそも効果の種類を取り違えていることが原因である場合があります。
Googleは言語判定にhreflangを使っていない
同ドキュメントは「Google doesn't use hreflang or the HTML lang attribute to detect the language of a page; instead, we use algorithms to determine the language.」と明記しています。つまり、そのページが何語で書かれているかをGoogleが判断する材料として、hreflang属性もHTMLのlang属性も使われていません。言語の判定自体は、Googleが別途保有するアルゴリズムが行っています。
この記述が示しているのは、hreflangの役割は「言語を教えること」ではなく「言語判定が終わったあとに、どの版をどの読者に提示するかを指定すること」だという点です。「hreflangを設定すれば、そのページの言語がGoogleに正しく認識される」という理解自体が前提として誤っています。
相互リンクが崩れると、静かに無効化される
同ドキュメントは「If two pages don't both point to each other, the tags will be ignored.」とも明記しています。日本語版ページに英語版へのhreflangを指定しても、英語版ページ側に日本語版を指すhreflangが無ければ、そのアノテーション全体が無視されます。
この性質が厄介なのは、エラーとして表面化しにくい点です。実装した瞬間は双方向にリンクが揃っていても、その後どちらか一方のページだけをリニューアルしたり、URLを変更したりすると、片側のhreflangだけが古いURLを指したままになります。エラー画面が出るわけでも、ビルドが失敗するわけでもなく、ただ静かにアノテーションが無視される状態になる――これが、運用が長期化したサイトほどhreflangの不整合に気づきにくい理由です。
3つの実装方法は等価で、併用しても優位性はない
hreflangの指定方法には、HTMLの<link>タグ・HTTPレスポンスヘッダー(Link:)・XMLサイトマップの3つがあります。同ドキュメントは「The three methods are equivalent from Google's perspective.」と明記しており、どれか1つが他より強い、あるいは検索上有利ということはありません。3つを同時に使うこと自体は可能ですが、それによって追加のメリットが生まれるわけではないとされています。
実務上は、静的なHTMLページなら<link>タグ、PDFなどHTMLを持たないファイルならHTTPヘッダー、URL数が膨大でHTMLへの個別実装が非現実的な大規模サイトならXMLサイトマップ、というように「サイトの構成上、実装しやすい方法」を選べばよいという位置づけです。
言語コード・地域コードの落とし穴
同ドキュメントは、hreflangで使える値の規格を厳密に定めています。言語コードはISO 639-1、地域コードはISO 3166-1 Alpha 2のみが対応しており、それ以外のコードは非対応です。例えばes-419(ラテンアメリカ向けスペイン語を意図した表記)はこの2つの規格に含まれないため使えません。
さらに見落としやすいのが、国コード単独では指定できないという制約です。「ベルギー向けページだからbe」という発想は自然に見えますが、beは言語コードとしては「ベラルーシ語」と解釈されます。ベルギー向けに複数言語を出し分けたい場合は、fr-be(ベルギー・フランス語)・___es-4190___(ベルギー・オランダ語)・___es-4191___(ベルギー・ドイツ語)のように、言語コードと地域コードを組み合わせて指定する必要があります。同様に___es-4192___・___es-4193___・___es-4194___をhreflangに使っても、Google検索には効果がないと明記されています。
x-defaultは「優先版」ではなくフォールバック
x-defaultは、ユーザーのブラウザ言語設定がどの言語版とも一致しなかったときに表示する版を指定する予約値です。「一番見せたい版」という優先順位の指定ではなく、「どれにも当てはまらなかった場合の受け皿」という位置づけです。同ドキュメントでは、言語セレクタページや、アクセス元に応じて自動的にリダイレクトするトップページなどでの利用が想定されています。
重複コンテンツとして扱われるのは「未翻訳」のときだけ
多言語ページを運用していると、「同じ内容の別言語版があること自体が重複コンテンツとして評価を下げるのではないか」という不安を持つこともあります。この点について同ドキュメントは「Localized versions of a page are only considered duplicates if the main content of the page remains untranslated.」と明記しています。つまり、主要コンテンツがきちんと翻訳されていれば、言語違いのページ群は重複とはみなされません。重複として扱われるのは、コピーだけ差し替えて本文が未翻訳のまま放置されているようなケースに限られます。
判断軸の提示
hreflangまわりの不具合を疑うときは、「タグを入れたかどうか」ではなく「相互リンクが崩れていないか」を最初に確認すること。言語判定に使われていない以上、hreflangを入れること自体に順位を上げる効果は期待できません。一方で、相互リンクの欠落は実装後のサイト更新で発生しやすく、かつエラーとして表面化しないため、定期的な点検が実質的に唯一の防御策になります。新しく言語版を増やすときも、既存版のhreflangに新URLを追加し忘れていないかを、追加した側からだけでなく既存側からも確認する必要があります。
確かなことと、まだ確かではないこと
確かなこと: Google Search Central公式ドキュメントが、hreflangは言語判定に使われないこと、相互リンクが欠けるとタグが無視されること、3つの実装方法が等価であること、非対応の言語・地域コードが存在すること、x-defaultの用途、重複コンテンツとみなされる条件を、それぞれ明記していること。
まだ確かではないこと: hreflangが正しく機能している場合に、実際の検索結果でどの程度の頻度・タイミングで版の出し分けが反映されるか(インデックスの更新速度や、地域・言語による表示の揺れ)は、公式ドキュメントでは具体的な数値や保証として示されていません。
自分でも試せる、最小の検証
自社サイトの多言語ページを1組(例: 日本語版と英語版)選び、日本語版のソースに含まれるhreflangが英語版のURLを正しく指しているか、そして英語版のソースにも日本語版を指すhreflangが存在するかを、両方向で確認してみてください。どちらか一方にしかhreflangが無い、あるいはURLが古いまま更新されていない場合、それがそのままGoogleに無視されている対応関係です。
この記事で扱ったような判断を、自社の状況に照らして整理したい場合は、無料診断ツールで状況を言語化するところから始めることができます。
状況を整理する(15分)