多言語サイトを運用しているのに、異なる言語のページが誤ったユーザーに表示されてしまう——そうした検索エンジンとの「すれ違い」に悩む担当者は少なくありません。グローバル展開やインバウンド対応を進める企業ほど、こうした問題がSEO評価の足を引っ張る場面に遭遇します。
この問題の根本にあるのは、検索エンジンへの「地域・言語の意図宣言」が不足していることです。正しく設定すれば検索エンジンが各ユーザーに最適なページを届けられるようになります。本記事では、その仕組みを支える「hreflangタグ」の基礎から実装手順、よくある失敗パターンまでを一気通貫した視点で解説します。
こんな方にオススメ
- 多言語・多地域サイトを運用しており、言語別ページのSEO評価が安定しないと感じている方
- hreflangタグの設定方法を体系的に学びたいSEO担当者・Webマスターの方
- グローバル展開を検討中で、インターナショナルSEOの基礎を整理したいマーケ責任者の方
この記事を読むと···
- hreflangタグの役割と必要なケースが明確に理解できます
- HTMLヘッドタグ・HTTPヘッダー・サイトマップの3つの実装方法を習得できます
- 設定ミスによるSEOへの悪影響を防ぐチェックポイントを把握できます
目次
hreflangタグとは?基本的な意味と役割

hreflangタグとは、多言語・多地域サイトで言語や地域ごとの正規ページを検索エンジンに伝えるHTMLタグです。Googleをはじめとする検索エンジンに対し、「このページはどの言語・地域のユーザーに向けたものか」を明示する役割を担っています。
hreflangタグの定義と構文
hreflangタグは、HTMLの <head> 内に記述する <link> タグの一種です。rel=”alternate” 属性と組み合わせて使用し、言語コード(ISO 639-1)と地域コード(ISO 3166-1 alpha-2)を指定します。基本構文は以下のようになります。
<link rel="alternate" hreflang="ja" href="https://example.com/ja/" /> <link rel="alternate" hreflang="en" href="https://example.com/en/" /> <link rel="alternate" hreflang="en-US" href="https://example.com/en-us/" /> <link rel="alternate" hreflang="x-default" href="https://example.com/" />
言語コードのみ(例:ja)を指定した場合は「言語全般」を対象とし、地域コードを組み合わせた場合(例:en-US)は「特定国の特定言語」を対象とします。x-default は、指定した言語・地域に該当しないユーザーへのフォールバックページを示します。この値を正しく設定しておくことで、対象外の言語・地域ユーザーにも適切なページが提供できます。
hreflangタグはGoogleおよびYandexが公式にサポートしていますが、Bingは独自の content-language メタタグを参照します。そのため、グローバル対応を考える場合はBing向けの設定も合わせて検討することが情報収集が欠かせないポイントです。
なぜhreflangタグがSEOに重要なのか
多言語サイトを構築した際、日本語版・英語版・中国語版など複数のページが類似または同一のコンテンツを持つケースは珍しくありません。検索エンジンが適切なシグナルを受け取れない状態では、これらのページが重複コンテンツと判断され、それぞれのSEO評価が分散・低下するリスクがあります。
hreflangタグを正しく設定することで、検索エンジンは各ページが「同じ情報の別言語版」であると理解し、ユーザーの言語・地域設定に応じて最適なページを検索結果に表示します。これにより、言語別のSEO評価が適切に蓄積され、グローバルなオーガニック流入の増加につながります。
また、hreflangタグはページランクや評価指標を各言語版に分散させる機能も持っています。日本語版に集まったリンクの評価が英語版に影響を与えてしまう、あるいはその逆が起きるといった問題を防ぎ、それぞれの言語版が独立したSEO評価を持てるようになります。これは、コンテンツSEOを言語をまたいでスケールさせる際の生命線となる仕組みです。
hreflangタグとcanonicalタグの違い
hreflangタグと混同されやすいのが canonicalタグ(<link rel="canonical">)です。両者はどちらも重複コンテンツ問題に関連しますが、役割が異なります。
canonicalタグは「同一言語内での重複ページ」に対して正規URLを指定するために使います。一方、hreflangタグは「異なる言語・地域向けの関連ページ」をグループとして検索エンジンに伝えるためのものです。
多言語サイトでは、両方のタグを適切に組み合わせて使うことが推奨されます。各言語版ページのcanonicalタグは自分自身のURLを指すように設定し、その上でhreflangタグで言語間の関係性を宣言するのが正しいアプローチです。
Creative Drive
SEOで集めた読者を、商談まで引き上げられていますか?
PVが増えても問い合わせにならない——それはコンテンツが"集客止まり"だからです。Creative Driveはグロースハック視点でSEOコンテンツを設計し、潜在層を育成・商談化まで引き上げます。
あなたに関連しそうなCreative Driveの機能・サポート一覧
機能・サポート一覧を見る →hreflangタグが必要なケース

hreflangタグが必要かどうかは、サイトの構成や対象ユーザーによって変わります。すべての多言語サイトに必須というわけではなく、特定の条件を満たすサイトで効果を発揮します。自社サイトの状況に照らして確認しましょう。
複数言語・複数地域を対象とするサイト
最も典型的なケースは、日本語・英語・中国語など複数の言語バージョンを持つサイトです。例えば、BtoB SaaSのグローバル展開や、製造業の海外向け製品情報サイト、インバウンド対応の観光・宿泊サービスサイトなどが該当します。
また、同じ英語でも米国(en-US)、英国(en-GB)、オーストラリア(en-AU)向けにコンテンツを分けているケースも、hreflangタグが必要な場面です。価格・通貨・法規制・文化的背景によってコンテンツを地域別に出し分けるサイトでは、適切な地域コードの設定が検索品質に直結します。
一般的に、言語・地域の組み合わせが2パターン以上あればhreflangタグの設定を検討すべきといえます。特にコンテンツが類似している言語版が存在する場合は、重複コンテンツ判定リスクを避けるためにも設定が推奨されます。
同一言語で地域が異なるサイト
英語圏だけを対象にした場合でも、米国・英国・カナダ・オーストラリアなど複数の地域向けページが存在するなら、hreflangタグによる地域分けが有効です。たとえば、英国向けページで「colour」「labour」といったスペリングを使い、米国向けページでは「color」「labor」を使う場合、検索エンジンがどちらのページをどの地域ユーザーに見せるべきかを判断するための手がかりになります。
同一言語でも地域によって商品ラインナップ・価格・送料・カスタマーサポートの情報が異なるECサイトなどでは、こうした地域分けの設定がユーザー体験とSEO評価の両方に好影響をもたらします。人材紹介・派遣サービスのように求人情報が都市・地域ごとに異なる業態でも、この設定が有効に機能するケースがあります。
hreflangが不要なケース
一方で、以下のようなケースではhreflangタグが不要、あるいは設定しても効果が薄いことがあります。
- サイトが単一言語・単一地域のみを対象としている場合
- 言語版が存在するが、URLが完全に別ドメインで運営されており、クロールさせたくない場合
- 自動リダイレクトでユーザーを振り分けているが、各言語版のURLが検索エンジンにインデックスされていない場合
重要なのは、hreflangタグは検索エンジンへの「宣言」であって「強制」ではないという点です。ユーザーの自動リダイレクトとは独立した仕組みであるため、リダイレクト設定とhreflangの設定は別々に考える必要があります。
hreflangタグの記述方法(コード例)

hreflangタグの実装方法は主に3種類あります。HTMLのheadに記述する方法、HTTPヘッダーで設定する方法、そしてXMLサイトマップで設定する方法です。それぞれに特性があり、サイトの構造や運用体制に合わせて選択することが実践的なアプローチとなります。
HTMLのheadに記述する方法
最も一般的で、多くのWebサイトで採用されている方法です。各ページの <head> タグ内に <link rel="alternate" hreflang="..."> を記述します。
重要なのは、相互参照(双方向リンク)が必要な点です。日本語ページには英語版・日本語版への参照を、英語ページにも英語版・日本語版への参照を両方記述しなければなりません。
<!-- 日本語ページ(/ja/)に記述する例 --> <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="zh-TW" href="https://example.com/zh-tw/" /> <link rel="alternate" hreflang="x-default" href="https://example.com/" /> </head>
このコードは日本語ページに記述されたものですが、英語ページ(/en/)や繁体字中国語ページ(/zh-tw/)にも同じ4行のhreflangタグ群を記述します。自分自身のURLを含めて全言語版を参照することが正しい形式です。
WordPressを使用している場合は、プラグイン(WPML・Polylangなど)が自動でこのタグを生成してくれます。カスタム開発のサイトであれば、テンプレートエンジンで言語一覧をループして動的に生成する実装が一般的です。ページ数が多いサイトでは、この方法だと各ページのHTMLサイズが増加する点に注意が必要です。
HTTPヘッダーで設定する方法
PDFファイルや動画コンテンツなど、HTMLのheadタグを持たない非HTMLコンテンツに対してhreflangを設定したい場合は、HTTPレスポンスヘッダーを使います。サーバー(ApacheやNginx)の設定ファイルでレスポンスヘッダーにLinkフィールドを追加します。
# Apacheの場合(.htaccessまたはhttpd.conf) <FilesMatch "document\.pdf$"> Header add Link "<https://example.com/ja/document.pdf>; rel=alternate; hreflang=ja" Header add Link "<https://example.com/en/document.pdf>; rel=alternate; hreflang=en" Header add Link "<https://example.com/>; rel=alternate; hreflang=x-default" </FilesMatch>
HTMLページに対してもHTTPヘッダーでhreflangを設定することは技術的に可能ですが、管理が煩雑になることが多く、一般的にはHTMLのheadへの記述が推奨されます。ただし、サーバーサイドレンダリングを採用しているシステムや、CMS側でheadタグを自由に編集できない場合には有効な手段です。
HTTPヘッダーでの設定はサーバー管理者またはインフラエンジニアとの連携が必要になるため、実装前の関係者調整が欠かせません。設定後はブラウザの開発者ツールやcurlコマンドでレスポンスヘッダーを確認し、正しく反映されているかを検証しましょう。
XMLサイトマップで設定する方法
ページ数が多い大規模サイトでは、XMLサイトマップにhreflang情報を含める方法が管理しやすくなります。各ページのHTMLを修正することなく、サイトマップファイルの一元管理でhreflangを設定できます。Googleはこの方法も正式にサポートしています。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<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/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/"/>
</url>
<url>
<loc>https://example.com/en/</loc>
<xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/"/>
</url>
</urlset>
サイトマップにhreflangを記述する場合も、HTML記述と同様に相互参照が必要です。日本語ページの <url> ブロックの中に全言語版へのxhtml:linkを記述し、英語ページの <url> ブロックにも同様に全言語版へのリンクを記述します。この相互参照が欠けると、Googleがhreflangを正しく認識できないことがあります。
サイトマップ方式は、一つのファイルを修正するだけで全ページのhreflang設定を管理できるため、数千〜数万ページを持つ大規模サイトでの運用に向いています。ただし、サイトマップファイルのサイズが大きくなる点と、HTMLとサイトマップで設定が食い違った場合に混乱が生じる点には注意が必要です。
hreflangタグのURL設計と言語コード一覧

hreflangタグを正しく機能させるためには、URLの構造と言語コードの選択が重要です。どのようなURL設計を採用するかによって、実装の手間や管理のしやすさが大きく変わります。以下では、主要なURL設計パターンと言語コードの使い分けを整理します。
多言語サイトのURL設計パターン
多言語サイトのURL設計は主に3パターンに分けられます。それぞれの特徴を理解した上でhreflangタグの設定方針を決めることが重要です。
| 方式 | URL例 | メリット | デメリット |
|---|---|---|---|
| ccTLD | example.co.jp / example.com | 地域シグナルが最強 | ドメイン取得・管理コスト、評価分散 |
| サブドメイン | ja.example.com / en.example.com | 設定柔軟性が高い | サブドメイン間の評価移転が不完全なケースあり |
| サブディレクトリ | example.com/ja/ / example.com/en/ | ドメイン評価の最大活用・管理が容易 | 地域シグナルはccTLDより弱い |
新規にグローバルサイトを構築する場合は、サブディレクトリ方式が管理コストとSEO効果のバランスが良くGoogleも推奨しています。既存のccTLDドメイン構成を変更することはリスクが伴うため、既存ドメイン構成を維持しながらhreflangで関係性を宣言する方法を取るのが現実的です。
主要言語コード・地域コード一覧
hreflangタグで使用する言語コード(ISO 639-1)と地域コード(ISO 3166-1 alpha-2)の組み合わせを正確に指定することが、設定ミスを防ぐ基本です。よく使われる組み合わせを以下にまとめます。
| hreflang値 | 対象 | 備考 |
|---|---|---|
ja |
日本語(地域不問) | 日本在住の日本語ユーザー全般 |
en |
英語(地域不問) | 英語ユーザー全般へのフォールバックに使用 |
en-US |
英語・アメリカ | 米国向けコンテンツに特化 |
en-GB |
英語・イギリス | 英国向けスペリング・表記に対応 |
zh-TW |
中国語繁体字・台湾 | 台湾・香港向け |
zh-CN |
中国語簡体字・中国 | 中国本土向け |
de |
ドイツ語(地域不問) | ドイツ・オーストリア・スイス共通 |
x-default |
デフォルト(言語不問) | 言語設定が一致しない全ユーザーへのフォールバック |
言語コードは大文字・小文字どちらでも問題ありませんが、Googleのドキュメントに合わせて言語コードは小文字(ja)、地域コードは大文字(JP)という形式(例:ja-JP)にすることを推奨します。一貫性のある表記がミスの防止につながります。
x-defaultの正しい使い方
x-default は、対象外の言語・地域ユーザーに表示するデフォルトページを指定するための特別な値です。設定しなくてもhreflangは機能しますが、設定することでユーザー体験の向上とSEO上の安全策になります。
一般的なユースケースとして、言語選択ページ(「どの言語版を見ますか?」という選択画面)に x-default を割り当てるパターンがあります。また、英語版をデフォルトとして扱いたい場合は、x-default と hreflang="en" を同じURLに設定することも可能です。ただし、その場合は英語版が非英語ユーザーにも表示されることになる点を考慮した上で判断してください。
hreflangタグ設定時によくある失敗と対策
hreflangタグの設定は技術的にシンプルに見えますが、実際の運用では多くの落とし穴があります。設定ミスは検索順位の低下や誤ったページの表示につながるため、典型的な失敗パターンを事前に把握しておくことが重要です。
- 相互参照の欠落:hreflangタグの最も頻繁なミスは、片方のページにしかタグを設定しないことです。日本語ページに英語版へのhreflangを書いても、英語ページに日本語版へのhreflangが書かれていなければ、Googleはその設定を信頼しません。必ず全言語版の全ページに、全言語版へのhreflangを相互参照の形で記述してください。
- 誤った言語コード・地域コード:存在しない言語コードや地域コードを使用した場合、Googleはhreflangを無視します。「jp」は国コードであり言語コードではないため、日本語は「ja」が正解です。「zh」は中国語全般を指しますが、「zh-CN(簡体字)」「zh-TW(繁体字)」を区別して使うほうが精度が上がります。
- 自己参照の欠落:各ページのhreflangタグには、自分自身のURLを指す参照も含める必要があります。日本語ページには
hreflang="ja"で自分のURLを、英語ページにはhreflang="en"で自分のURLを含めてください。 - 相対URLの使用:hreflangのhref属性には必ず絶対URL(https://example.com/ja/)を使用してください。相対URL(/ja/)は正しく認識されない場合があります。
- canonicalタグとの矛盾:あるページのcanonicalタグが別のURLを指している場合、そのページはGoogleに「正規ページではない」と見なされます。この状態でhreflangを設定しても、canonicalで指定されたURL側にしか評価が渡らないため、hreflangが機能しません。各言語版ページのcanonicalは必ず自己参照(自分のURLを指す)にしてください。
Google Search Consoleでの確認方法
hreflangタグを設定した後は、Google Search Consoleで正しく認識されているかを確認しましょう。Search Consoleの「インデックス作成」→「サイトマップ」セクションでサイトマップにエラーがないか確認できます。また、「URL検査ツール」を使って特定ページのhreflang設定が正しく読み込まれているかを確認することも可能です。
サードパーティツールを活用する方法もあります。Screaming Frogなどのクローラーツールは、hreflangの相互参照ミスや無効な言語コードを自動検出してくれます。
大規模サイトでは手動確認が難しいため、こうしたツールを定期的に実行することが推奨されます。なお、サーバーエラーやクロールエラーが発生している場合、hreflangタグが正しく設定されていてもGoogleがページを認識できないことがある点にも注意が必要です。
hreflangの設定変更後にGoogleが新しい設定を認識するまでには、通常数日〜数週間かかります。変更後すぐに効果が現れないからといって設定を誤りと判断しないよう、十分な検証期間を設けることが大切です。
動的ページ・JavaScriptサイトでの注意点
SPAやJavaScriptでレンダリングされるページでは、hreflangタグが <head> に静的に含まれていない場合があります。Googleのクローラーはある程度JavaScriptを処理できますが、クロール遅延やレンダリング失敗のリスクを避けるためにも、hreflangタグはサーバーサイドレンダリング(SSR)または静的生成(SSG)で出力することを強く推奨します。
Next.jsやNuxt.jsなどのフレームワークを使っている場合、<Head> コンポーネントを通じてhreflangを設定するのが一般的です。各ページコンポーネントで言語情報を動的に受け取り、対応する全言語版のURLをlinkタグとして出力する実装パターンが推奨されます。このアプローチはAIO・LLMO対策とも相性が良く、AI検索への最適化を考える際にも静的HTMLの出力が重要な要素になります。
CreativeDriveのインターナショナルSEOアプローチ
hreflangタグの技術的な正確さは前提条件に過ぎません。多言語SEOで継続的な成果を出すには、タグ設定だけでなく、コンテンツ戦略・データ分析・自動化の仕組みを掛け合わせて新しい価値を生む必要があります。弊社CreativeDriveでは、このアプローチを体系化しています。
多言語コンテンツの品質管理と量産設計
hreflangタグを正しく設定しても、各言語版コンテンツの品質が低ければ検索評価は上がりません。Googleは「機械翻訳のみの低品質コンテンツ」を検出する能力を年々高めており、単純な翻訳では多言語SEOの効果が限定的になります。
弊社が実践しているのは、AIによるコンテンツ生成と人間レビューの組み合わせです。コアとなる情報構造・見出し構成・訴求軸を人間が設計し、そこから各言語版の草稿をAIで生成してネイティブチェックをかける流れが効率的かつ品質の高い多言語コンテンツ制作につながります。詳しいアプローチについてはAIによるコンテンツ生成の品質管理手法もあわせてご覧ください。
月50本規模でコンテンツを量産する場合でも、hreflangの設定・更新・サイトマップ反映のプロセスを自動化パイプラインに組み込むことで、管理コストを大幅に抑えることが可能です。弊社のAIエージェント支援では、こうした技術的SEOの自動化と潜在顧客育成の仕組みを一気通貫した体制で構築することを得意としています。
データドリブンな多言語SEO改善サイクル
多言語SEOは設定して終わりではなく、継続的なモニタリングと改善が必要です。弊社では以下のサイクルを推奨しています。
| 月次レポート | Google Search Consoleで言語・地域別の表示回数・クリック率・掲載順位を確認 |
| hreflangエラー検知 | Screaming FrogやSearch Consoleのカバレッジレポートで相互参照エラーや無効URLを月1回チェック |
| コンテンツギャップ分析 | 日本語版で順位が高いキーワードを他言語版でも対策しているか確認し、コンテンツの翻訳・新規作成優先順位を決定 |
| 新規ページ追加時の自動hreflang設定 | CMSやヘッドレスアーキテクチャと連携して、新規ページ公開と同時にhreflangが正しく設定される仕組みを整備 |
このサイクルを回し続けることで、多言語オーガニック流入の安定した積み上げと、潜在顧客の早期トラッキングが可能になります。CreativeDriveが提供するコンテンツSEO・AIグロースハック支援は、こうした継続的な改善サイクルの設計と実行を含めてトータルでサポートします。
インターナショナルSEOとリードナーチャリングの掛け合わせ
多言語SEOの真の目的は、オーガニック流入を増やすことだけではありません。各言語・地域のユーザーが情報収集フェーズのどの段階にいるかを把握し、適切なタイミングで適切なコンテンツを届けることで、問い合わせや商談化につなげることが最終目標です。
弊社CreativeDriveでは、hreflangを正しく設定した多言語コンテンツ基盤の上に、動的CTA・業種別キーワードマップ・リードスコアリングを組み合わせた潜在顧客育成の仕組みを構築しています。検索流入ユーザーの行動データを14ヶ月単位で追跡し、顕在化のタイミングで最適な問い合わせ導線を自動生成するアプローチは、BtoB企業の多言語グロース戦略における情報収集が欠かせない武器となっています。
まとめ:hreflang設定の実装チェックリストと次のステップ
hreflangタグは、多言語・多地域サイトで検索エンジンに正確な言語・地域シグナルを伝え、重複コンテンツ問題を回避しながら各言語版のSEO評価を適切に蓄積するための重要な仕組みです。設定方法はHTMLのhead、HTTPヘッダー、XMLサイトマップの3つがあり、サイト規模や構成に応じて選択します。
実装上の生命線は「相互参照の徹底」と「正確な言語・地域コードの使用」です。設定後はSearch Consoleとクローラーツールを使って定期的に検証し、エラーが出た場合には迅速に対処する運用フローを整えましょう。
多言語SEOの成果を最大化するには、hreflangの技術設定だけでなく、コンテンツ品質・量産体制・データ分析の掛け合わせが必要です。弊社CreativeDriveでは、AIを活用したコンテンツ量産とインターナショナルSEOの基盤構築を一気通貫して支援しています。
以下のチェックリストを参考に、自社サイトのhreflang設定状況を確認してみてください。
| 確認項目 | チェック |
|---|---|
| 全言語版ページに相互参照のhreflangが設定されているか | □ |
| 各ページのhreflangに自己参照URLが含まれているか | □ |
| 正しい言語コード・地域コード(ISO 639-1 / ISO 3166-1)を使用しているか | □ |
| href属性に絶対URLを使用しているか(相対URLでないか) | □ |
| x-defaultが適切なフォールバックページを指しているか | □ |
| 各言語版のcanonicalタグが自己参照になっているか | □ |
| Search Consoleでhreflangエラーが出ていないか | □ |
| 新規ページ追加時にhreflangも自動更新される仕組みがあるか | □ |


