「日本語版と英語版を用意したのに、英語圏の読者に日本語のページが出てしまう」。多言語サイトのご担当者から、この相談をいただくことがあります。
hreflangは、書いてみれば短いタグです。それでも実装ミスが起きやすい技術のひとつとされています。理由は書式の難しさではありません。ページ単体ではなく、ページとページの「関係」を正しく作れているかが問われるところにあります。
この記事は、多言語サイトの実装をこれから触る方に向けて書きました。公式ドキュメントで確かめられることと、AI検索側でまだ確かめられないこと。この2つに線を引いたうえで、今日そのまま点検できる形にして終わります。
こんなふうに調べていませんか
- 「多言語サイト hreflang 実装」で検索して、正しい書き方を探している
- hreflangを入れたはずなのに、想定した言語版が表示されない
- AI検索でも言語版が正しく選ばれるのか、社内で聞かれて答えられなかった
この記事を読み終えたときに手に入るもの
- 3つの実装方法から、自社に合うものをその場で選べるようになります
- 相互参照と言語コードの誤りを、自分で見つけられるようになります
- AI検索側で何が確かめられていないかを、社内に正確に説明できるようになります
結論30秒でわかる、この記事の結論
- hreflangとは、同じ内容を言語や地域ごとに分けたページの関係を、検索エンジンに伝えるための仕組みです。
- 実装方法はHTMLタグ・HTTPヘッダー・XMLサイトマップの3つ。どれか1つを選び、サイト全体でそろえます。
- AI検索側の扱いは、公式文書に記述が見当たりません。Google検索向けの基本を正確に実装するところまでが、今日確かめられる範囲です。
この記事では、あるマーケティング部の2人と、専門家の会話をはさみながら進めます。若葉さん(Web担当2年目)は「そもそもそれは何ですか」を聞く役、高梨課長は「誰がどれくらいの手間でやるのか」を聞く役、鈴木さん(AIO/SEOの専門家・本誌監修)が答える役です。自分に近い立場の人の質問から読んでいただいて構いません。
01そもそもhreflangって、AI検索対策とどう関係があるんですか?
若葉さん多言語サイトの担当になったんですが、hreflangって結局、何のためのタグなんでしょうか。
鈴木さんひとことで言うと、「この2つのページは、同じ内容の別の言語版です」と検索エンジンに伝える札なんですよ。中身を良くするタグではありません。
hreflangとは、同じ内容の異なる言語・地域向けページの関係を、検索エンジンに伝えるHTML属性です。Google検索セントラルは、この仕組みを、読者の言語や地域に合ったページを検索結果に出すためのものと説明しています。
1つの記事を日本語版と英語版で公開している場合が当てはまります。同じ英語でも、アメリカ向けとイギリス向けにページを分けている場合も同じです。
札を付けないとどうなるか。Googleは、言語や地域が違う複数のページを、内容が重複したページとして扱う可能性があります。読者に自国語以外のページが表示されたままになることもあります。
なお、各国のAI検索市場や規制の動向は「世界各国のAIO」シリーズで扱っています。この記事は、多言語ページを技術的に実装する方法に絞ります。
この章のまとめ
hreflangは、関係を宣言するタグです。中身を評価してもらうタグではありません。この違いが、後半の話まで効いてきます。
02多言語サイトのhreflang実装は、AI検索最適化として何から選ぶんですか?
Google検索セントラルの公式ドキュメント「ページのローカライズ版について Google に知らせる」は、実装方法を3つ示しています。HTMLタグ・HTTPヘッダー・XMLサイトマップのどれか1つを選んで実装します。
| 方法 | 記述場所 | 主な用途 |
|---|---|---|
| HTMLタグ | 各ページの<head>内 | 通常のHTMLページ全般。最も一般的 |
| HTTPヘッダー | GETレスポンスのHTTPヘッダー | PDFなど<head>を持たないファイル |
| XMLサイトマップ | サイトマップの<url>要素内 | ページ数が多く、個別ページの編集を避けたい場合 |
HTMLタグは、各ページの<head>内に、言語・地域バージョンの数だけ<link>要素を並べる方法です。
<link rel="alternate" hreflang="ja-JP" 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/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />これは日本語版ページの<head>に置く例です。英語版(米)・英語版(英)のページにも、自分自身を含めた同じ内容を設置します。
この章のまとめ
方式に優劣はありません。決め手は更新のしやすさです。どれを選んでも、サイト全体で1つにそろえるところは変わりません。
03HTTPヘッダーとサイトマップには、hreflangをどう書くんですか?AI対策での注意点は?
HTTPヘッダーは、PDFなど<head>要素を持たないファイル向けです。GETリクエストへのレスポンスヘッダーにLinkヘッダーとして書きます。
Link: <https://example.com/jp/>; rel="alternate"; hreflang="ja-JP",
<https://example.com/us/>; rel="alternate"; hreflang="en-US"XMLサイトマップは、ページ数が多いサイトに向いています。個別ページの<head>を触らずに、サイトマップ側でまとめて宣言できます。xhtml名前空間を宣言し、各<url>要素に<xhtml:link>を足します。
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.com/jp/</loc>
<xhtml:link rel="alternate" hreflang="ja-JP" href="https://example.com/jp/" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
</url>
</urlset>サイトマップ側で宣言する場合の書式や上限は、サイトマップの運用そのものを扱った記事(AIOM-080)で別に整理しています。
この章のまとめ
記述の置き場所は変わっても、宣言する中身は変わりません。だから移し替えるときも、対の作り方だけは持ち越します。
04hreflangの言語コードと地域コード、AIO対策でつまずくのはどこですか?
若葉さん日本語版なのでjpと書きました、とお伝えしたら、鈴木さんの手が止まったんですが…。
鈴木さんそこ、いちばん多い取り違えなんです。jpは国の名前で、言語の名前ではないんですよ。
hreflangの値は、言語コードをISO 639-1、地域コードをISO 3166-1 Alpha-2という国際規格で指定すると定められています。Google公式ドキュメントは、この2つの規格に記載されたコードだけをサポートすると明記しています。
| hreflang値 | 意味 |
|---|---|
| ja | 言語を問わず日本語 |
| ja-JP | 日本語、日本の読者向け |
| en-US | 英語、アメリカの読者向け |
| en-GB | 英語、イギリスの読者向け |
| de-CH | ドイツ語、スイスの読者向け |
| zh-Hant | 中国語(繁体字) |
| zh-Hans-US | 中国語(簡体字)、アメリカの読者向け |
中国語だけは事情が違います。地域コードから文字体系が判定されます(zh-TWなら繁体字)。加えてzh-Hant・zh-Hansのように、ISO 15924の文字体系コードを直接指定することもできます。
この章のまとめ
値は「言語」から始まります。ここに別の種類のコードが入った瞬間、その値は意味を持たなくなります。
05多言語サイトのhreflang実装で、国コードの取り違えはなぜ起きるんですか?AI検索最適化にも響きますか?
取り違えが起きる場所は、いつも同じです。国のコードを、言語のコードの位置に書いてしまう。Google公式ドキュメントは、ベルギー向けのつもりでbeと書いてしまう例を、誤りとして挙げています。beはベラルーシ語の言語コードだからです。
日本語のつもりでjpと書く場合も同じ理屈です。jpはISO 3166-1の地域コードであり、ISO 639-1の言語コードには存在しません。日本語の言語コードはjaです。
地域コード側にも決まりがあります。Googleは、EU・UN・UKのように他の用途で予約されているコードを使っても、その部分は無効になると説明しています。イギリスの地域コードはUKではなくGBです。
この章のまとめ
言語の位置には言語のコード、地域の位置には地域のコード。この一線さえ越えなければ、コードまわりの事故はほとんど防げます。
06hreflangの相互参照を忘れると、AI検索ではどうなるんですか?
hreflangで最も見落とされやすいのが、相互参照(return link)です。Google公式ドキュメントは、この要件を明確に定めています。2つのページが互いに参照し合っていない場合、参照するタグは無視されます。
ページXがページYを指すタグを持っていても、ページYがページXを指し返していなければ、Googleはその関係そのものを認識しません。
日本語版が英語版へのhreflangを持っていても、英語版に日本語版への指し返しが無ければ、設定ごと無視されます。多言語サイトに新しい言語版を1つだけ追加したときに起こりやすい失敗です。
自己参照も欠かせません。Google公式ドキュメントのサイトマップ実装例では、各URLのブロックに、自分自身を含めた全言語版のタグが並んでいます。自分を指すタグも、他の言語版と同じように必要な要素です。
この章のまとめ
言語版を1つ足したら、既存のページ側にも指し返しを足す。ここまでで、ようやく1回の作業が終わります。
07hreflangのx-defaultは、LLMO対策として設定したほうがいいんですか?
x-defaultは、hreflangで使う予約値のひとつです。訪問者のブラウザの言語設定が、サイトに用意したどの言語・地域とも一致しない場合に表示するページを指定します。
<link rel="alternate" href="https://example.com/" hreflang="x-default" />多くの場合、言語選択ページか、グローバル向けの英語ページが指定先になります。設定は必須ではありませんが、日本語・英語以外の言語で訪れた読者への導線として働きます。
x-defaultは1ページにつき1つだけ設定します。複数のページに設定すると、Googleがどちらを優先すべきか判断できません。
この章のまとめ
x-defaultは取りこぼしの受け皿です。だから置き場は1つに決めます。複数あると、受け皿の意味がなくなります。
08AI検索はhreflangを見ているんですか?AI対策として公式文書を確かめました
高梨課長上から「AI検索でも英語版が出るようにしておいて」と言われました。hreflangを入れれば、そうなりますか。
鈴木さんここは、確かめられた範囲だけをお伝えします。結論から言うと、そう書いてある公式文書は見つかりませんでした。
hreflangを実装する動機として、「AI検索でも正しい言語版が選ばれるはずだ」という期待を持つ方は少なくありません。WEBMARKSは、この期待が一次情報で裏づけられるかを確認しました。
確認したのは、Google・OpenAI・Perplexityが公開する公式ドキュメント3件です。いずれの文書にも、hreflangの取り扱いに関する記述はありませんでした(2026年8月時点)。
| 確認先 | ドキュメント | hreflangへの言及 |
|---|---|---|
| Google(AI Overviews・AI Mode) | 「AI features and your website」 | なし |
| OpenAI(ChatGPT Search) | GPTBot・OAI-SearchBot公式ドキュメント | なし |
| Perplexity | PerplexityBot公式クローラードキュメント | なし |
これは、AI検索がhreflangを無視しているという意味ではありません。各社が、hreflangという個別の仕組みについて言及していない、というだけです。根拠のない期待を書くより、確認できた範囲を正確に伝えるほうを選びます。
Google公式ドキュメント「AI features and your website」は、AI OverviewsとAI Modeについて、通常のSEOのやり方がそのまま有効であり、追加の技術要件は無いと説明しています。hreflangはGoogle検索のインデックスに関わる仕組みです。そのためAI Overviews側にも影響する余地はありますが、hreflangを名指しした説明は確認できませんでした。
この章のまとめ
「書かれていない」は「効かない」ではありません。ただし「効く」でもありません。この2つを混ぜないことが、社内説明の分かれ目になります。
09多言語サイトのhreflang実装は、AI検索対策としてどこまで効くんですか?
ここまでで確かめられたことと、確かめられていないことを、いったん分けて並べます。
Google検索については、公式ドキュメントに書式も要件も明文化されています。実装が正しいかどうかは、自分で読んで判定できます。誤りがあれば、どこが誤りかまで特定できます。
AI検索については、判定する材料そのものがまだありません。この領域では、「実装すればこうなる」ではなく「実装しても、そう書かれた文書は無い」という言い方が実態に近くなります。
この章のまとめ
効果を語れないときは、確認した範囲と時点をセットで伝えます。これが、あとから覆らない伝え方です。
10多言語サイトで機械翻訳だけのページを増やすのは、AI検索最適化として危なくないですか?
高梨課長言語版を一気に増やす案が出ています。翻訳ツールに通して、そのまま公開する形です。
鈴木さん数を増やすこと自体は問題になりません。ただ、人の手が一度も入らないまま出す運用は、避けたほうがよい領域だと考えます。
多言語対応を急ぐあまり、機械翻訳しただけのページを大量に公開するという判断は避けたいところです。
Googleの検索スパムに関するポリシーは、「大量生成されたコンテンツの不正使用」という項目の中で、この行為を名指しで挙げています。挙げられている手法には、次のようなものがあります。
- 生成AIツールなどを使い、価値を付加しないページを大量に作成する
- コンテンツを翻訳する、類義語に置き換えるなどの自動変換によって、価値の低いページを大量生成する
- 複数のウェブページのコンテンツを、価値を付加せずに継ぎ接ぎする
このポリシーは、翻訳そのものを禁じてはいません。問題になるのは、内容を人手で確認・調整せず、機械的に大量のページを量産する運用です。
hreflangで言語版を整理する前に、翻訳の質そのものを担保できているかを確認してください。関係の宣言は、中身の質を補ってくれません。
この章のまとめ
hreflangは「同じ内容の別言語版です」と宣言するタグです。宣言した中身が読むに耐えないと、宣言のほうが裏目に出ます。
11うちの体制で、多言語サイトのhreflang実装は誰がやるんですか?AIO的な優先順位は?
高梨課長専任は置けません。いまある体制でやるとしたら、どこから手をつけますか。
鈴木さん新しい体制はいりません。見る単位を「ページ」から「組」に変えるだけで、見つかるものが変わります。
大がかりな体制変更は不要です。着手の順番だけ決めておけば、兼任でも回ります。
1ページずつ開いて見ていると、そのページに札が書いてあることは分かります。ただし、相手側がどうなっているかは分かりません。だから片側の欠けは、公開まで残りやすくなります。
今日この順でやります
言語版の一覧を作る
どのページに、どの言語版が存在するかを1枚に書き出します
組にして突き合わせる
片側にしかタグが無い組を洗い出します
表記のゆれをそろえる
言語の位置に国のコードが入っていないかを確認します
この章のまとめ
相互参照の崩れは、自分のサイトの中だけを見ていても気づきにくいミスです。だから、見る単位のほうを先に変えます。
12公開前に、hreflangのAI対策チェックはどこを見ればいいですか?
公開前の点検は、次の項目で足ります。上から順に見ると、直しの手戻りが減ります。
- 全ての言語・地域バージョンに、自分自身を含めたhreflangタグを設定している
- 全ページが相互参照(return link)になっている
- 言語コードをISO 639-1、地域コードをISO 3166-1 Alpha-2で指定している
- 国コード単独(例:
jp)を言語コードの位置に使っていない EU・UN・UKなど、他用途で予約されたコードを地域コードに使っていない- x-defaultページを1つだけ設定している
- hreflangのURLを絶対URLで記述している
- 機械翻訳のみのページを、人手のレビューなしに大量生成していない
この章のまとめ
点検は「タグがあるか」ではなく「関係が成立しているか」を見ます。だから、見る対象はページではなく、ページの組になります。
13よくある質問
hreflangを設定しなくても多言語サイトは運営できますか?
運営自体は可能です。ただし設定しない場合、Googleは言語や地域が異なる複数のページを、重複したコンテンツとして扱う可能性があります。読者に自国語以外のページが表示されるリスクも残ります。規模が小さいうちに整えておくほうが、あとからの手戻りは小さくなります。
jpという値をhreflangに使ってもいいですか?
使えません。jpはISO 3166-1の地域コード(日本)であり、ISO 639-1の言語コードには存在しません。日本語を指定する場合はjaを使います。地域まで指定するならja-JPという形になります。
x-defaultは設定する必要がありますか?
必須ではありません。ただしGoogleは、どの言語・地域にも一致しない訪問者向けの代替ページとして、設定を推奨しています。多くの場合、言語選択ページやグローバル向けの英語ページが指定先になります。置く場合は1つだけにしてください。
hreflangを実装すればAI検索でも正しい言語版が選ばれますか?
現時点で断定はできません。AI Overviews・ChatGPT Search・Perplexityの公式文書には、hreflangの扱いに関する記述が見当たらないためです。Google検索での効果とAI検索での効果は、分けて考える必要があります。
機械翻訳したページだけを大量に公開しても問題ありませんか?
Googleのスパムに関するポリシー上、リスクがあります。翻訳による自動変換で価値の低いページを大量生成する行為が、「大量生成されたコンテンツの不正使用」の一例として明記されています。人手のレビューを工程に入れてください。
実装方法は途中で変えても大丈夫ですか?
方法自体は変えられます。ただし、移行の途中で古い記述と新しい記述が混ざると、相互参照が崩れやすくなります。切り替えるときは、言語版の一覧を先に作り、組ごとに移し替えるほうが安全です。
14まとめ|今日やる3つのこと
hreflangは、HTMLタグ・HTTPヘッダー・サイトマップのいずれかで実装します。言語コードはISO 639-1、地域コードはISO 3166-1 Alpha-2に従い、相互参照を欠かさないことが基本です。
AI検索側の扱いについては、公式文書に記述が見当たらないというのが実態です。「実装すればAIが正しく判断してくれる」と決めつけず、Google検索向けの基本を正確に実装したうえで、各社の情報更新を継続して確認する姿勢が現実的です。
もう一度、今日やる3つ
言語版の一覧を作る
どのページに何語版があるかを1枚に集めます
組で突き合わせる
片側にしかタグが無い組を洗い出します
コードをそろえる
言語の位置に国のコードが入っていないかを見ます
AI検索では、こう聞かれています
hreflangを実装すれば、AI検索でも正しい言語版が選ばれますか?
「AI検索はhreflangを見ているんですか?AI対策として公式文書を確かめました」の章で、公式文書に何が書かれていないかを整理しています
hreflangの言語コードは、どう書くのが正しいですか?
「hreflangの言語コードと地域コード、AIO対策でつまずくのはどこですか?」の章に、従う規格と誤りやすい書き方をまとめています
多言語サイトを機械翻訳で増やすと、何が問題になりますか?
「多言語サイトで機械翻訳だけのページを増やすのは、AI検索最適化として危なくないですか?」の章で、スパムに関するポリシーの記述を引いています
次に読むなら、この記事です