メインコンテンツへスキップ
ガイド

Hreflang:多言語SEOの実践ガイド

Hreflang:多言語SEOの実践ガイド

ベトナムでブランドを検索すると、Googleが英語ページを開きます。米国のユーザーが、ときどきベトナム語のコンテンツに着地します。両ページはインデックスに登録され、canonicalも正しく見えます。この不一致はどこで起きているのでしょうか。

このようなときこそ、hreflangに注目すべきです。コンテンツを翻訳したり、それ自体でページの順位を上げたりするものではありません。どのURLが言語別・地域別の同等ページなのかをGoogleに伝え、各検索ユーザーに最適なバージョンが表示されるようにします。

Hreflangとは?

hreflangは、同じコンテンツの地域・言語別バージョンを結ぶ注釈です。ベトナム語と英語の記事なら、次のように指定できます。

<link rel="alternate" hreflang="vi"
      href="https://example.com/blog/huong-dan-seo">
<link rel="alternate" hreflang="en"
      href="https://example.com/en/blog/seo-guide">
<link rel="alternate" hreflang="x-default"
      href="https://example.com/blog/huong-dan-seo">

混同しやすい点は3つあります。

  • hreflangは正規化とは異なります。
  • Googleはページの言語検出をhreflangだけに依存していません。
  • /en/フォルダだけでは、バージョン間の関係は確立されません。

どのようなサイトにhreflangが必要ですか?

Hreflangは、次のような場合に役立ちます。

  • 同じテーマについて完全な翻訳がある場合。
  • en-USとen-GBのように、同じ言語でも地域によってコンテンツが異なる場合。
  • 主なコンテンツは似ていても、市場ごとにナビゲーションやサポートが異なる場合。
  • ECの価格、通貨、配送、在庫が国ごとに異なる場合。

単一言語のサイトに飾りとしてhreflangを追加しても、メリットはありません。まったく異なるテーマを扱うページは、代替バージョンではなく独立したページである可能性があります。

3つの実装方法

方法1:head内のHTMLタグ

HTMLサイトでは、読みやすくデバッグもしやすい方法です。各バージョンに、自分自身とその他すべてのバージョンを列挙する必要があります。

ベトナム語ページでは、次のように指定します。

<link rel="alternate" hreflang="vi" href="https://example.com/bai-viet">
<link rel="alternate" hreflang="en" href="https://example.com/en/article">

ENページにも、同じリンク一式が必要です。ENからVIへのリンクがあっても、VIからENへのリンクがなければ、相互参照が成立しません。

方法2:HTTPヘッダー

HTTPヘッダーは、PDFやHTMLのheadを持たないその他のドキュメントに使えます。

Link: <https://example.com/guide.pdf>; rel="alternate"; hreflang="vi",
      <https://example.com/en/guide.pdf>; rel="alternate"; hreflang="en"

方法3:XMLサイトマップ

各URLに、自分自身を含むすべてのバージョンを指定するxhtml:link子要素を含めます。数千ページまで対応できますが、ファイルを手作業で確認することは難しくなります。

Googleは、この3つの方法を同等として扱います。すべてを併用しても順位面での追加メリットはなく、データの不一致が起きるリスクが増えます。チームが最も確実に維持できる情報源を1つ選んでください。

言語コードと地域コードの正しい書き方

言語にはISO 639-1コードを使い、必要に応じて地域をISO 3166-1 Alpha 2コードで指定します。

  • vi:地域を限定しないベトナム語です。
  • en:英語全般です。
  • en-US:米国向けの英語です。
  • en-GB:英国向けの英語です。
  • fr-CA:カナダ向けのフランス語です。

USのような国コードだけを使わないでください。先頭の要素は必ず言語です。大文字・小文字は通常、問題の本質ではありませんが、言語を小文字、地域を大文字にすると設定を読みやすくできます。

X-defaultは何のために使いますか?

x-defaultは、どの言語版・地域版もユーザーに一致しない場合のフォールバックページです。特に、次のような用途に役立ちます。

  • 国の選択ページ。
  • ユーザーが言語を選べるホームページ。
  • 世界市場向けの既定バージョン。

VIとENだけの場合は、主要言語をx-defaultに指定できます。実際の言語注釈の代わりにx-defaultを使わないでください。これはviやenを補完するものです。

Canonicalとhreflangをどう組み合わせますか?

各言語版のcanonicalは、自分自身、または同じ言語の正規URLを指定するのが基本です。

正しい例です。

  • /bai-vietのcanonicalは/bai-vietを指定します。
  • /en/articleのcanonicalは/en/articleを指定します。
  • 両ページをhreflangで相互に関連付けます。

誤った例です。

  • /en/articleのcanonicalを/bai-vietに向けます。
  • 同時に、両URLを代替バージョンとして指定します。

CanonicalはENをVIに統合するようGoogleに求める一方、hreflangは言語別の配信のために両方を維持するよう求めています。

よくあるhreflangの7つの問題

1. 戻りリンクがない

AからBへのリンクはあるのに、BからAへのリンクがない状態です。各テンプレートに手書きするのではなく、同じデータソースから代替リンク一式を生成してください。

2. 代替URLがリダイレクトする、または404になる

Hreflangは、最終的な有効URLを指定する必要があります。移行後は、ルート、canonical、代替リンクをまとめて更新してください。

3. メニューだけを翻訳し、本文を翻訳していない

本文が元の言語のままだと、Googleは実際の翻訳ではなく重複コンテンツと判断する可能性があります。タイトル、見出し、本文、代替テキスト、重要なデータを翻訳してください。

4. ページごとにhreflangの組み合わせが異なる

VIページではVI/EN/JPを列挙しているのに、ENページではVI/ENしか列挙していないケースです。同じグループのすべてのバージョンで、同一の関係を指定する必要があります。

5. 相対URLを使う

Hreflangには、プロトコルとホスト名を含む完全な絶対URLを使うのが基本です。これにより、複数のドメインやサブドメインがあるサイトでも誤解を防げます。

6. noindexページを指定する

noindex、クロールブロック、別URLへのcanonicalが設定された代替ページは、検索結果への表示候補として適切ではありません。インデックス登録可能なURLだけを指定してください。

7. すべてのENページをVIのホームページに関連付ける

代替ページは、コンテンツが対応している必要があります。英語の商品ページは、ホームページや似たカテゴリではなく、同じ商品のベトナム語ページと組み合わせてください。

Hreflangを壊さないためのデータ設計

スラッグが異なる可能性があるなら、URL文字列の/en/を置換して翻訳版を推測しないでください。グループキーを保存する方が適切です。

translation_group locale slug
article_104 vi hreflang-la-gi
article_104 en what-is-hreflang

レンダリング時に、システムが同じグループの全レコードを取得して代替リンクを生成します。同じデータソースを、言語切り替え、サイトマップ、翻訳不足の確認にも使えます。

未翻訳の記事を、自動的にホームページへ関連付けないでください。実在し、インデックス登録可能なロケールだけを出力してください。

公開前の確認手順

HTMLソースを確認する

JavaScriptが生成したDOMだけでなく、ソース表示またはMeta Tag Checkerを使ってください。canonical、lang、すべての代替リンクを確認します。

双方向を確認する

グループ内の各URLを開いてください。すべてのページに、自分自身とその他の全ページを列挙する必要があります。3言語なら、3ページすべてに同じ3つの代替リンクを含め、使用する場合はx-defaultも追加します。

ステータスとインデックス登録可否を確認する

すべてのURLが200を返し、noindexがなく、クロール可能で、同じ言語のcanonicalを指定していることを確認します。URL移行後はRedirect Chain Checkerを使ってください。

コンテンツが実際に翻訳されているか確認する

タイトル、H1、本文、CTA、FAQは、正しい言語で記述する必要があります。テンプレートだけを翻訳して本文をそのままにしても、多言語の体験にはなりません。

Search Consoleで経過を確認する

公開後は、URL Inspectionと国別・ページ別のパフォーマンスを確認します。Hreflangは選択を助けますが、コンテンツやcanonicalのシグナルが矛盾していれば、Googleは別の判断をする可能性があります。

Hreflangは順位向上に役立ちますか?

「タグを追加すれば順位が上がる」というものではありません。Hreflangの価値は、ユーザーが異なる言語のページに迷い込むのを減らし、各バージョンのシグナルを適切に整理し、検索結果からの体験を改善することにあります。

内容の薄い英語ページは、優れたベトナム語記事と組み合わせるだけで権威性を得るわけではありません。各バージョンには、有用なコンテンツ、内部リンク、固有のメタデータが必要です。

サイト全体の問題を起こさずにhreflangを展開する

Hreflangは、テンプレートの装飾ではなくデータ移行として扱ってください。すべての翻訳が完成し、編集上のレビューも済んでいるコンテンツグループ1つから始めます。翻訳グループのキーが意図したURLに解決されることを検証し、そのグループを公開してから対象を広げます。

安全な展開には4つの段階があります。

  1. 棚卸し: インデックス登録可能な全URL、ロケール、canonical、ステータス、翻訳グループのキーを一覧にします。
  2. 完全性: 翻訳が不足しているグループや、同じロケールのレコードが重複しているグループを検出します。
  3. 試験導入: 安定したセクション1つに注釈を公開し、すべての構成ページをクロールします。
  4. 拡大: 戻りリンクとSearch Consoleの挙動に問題がないことを確認してから、セクションを追加します。

データソースに対する自動チェックを用意してください。1つのグループに英語URLが2つある場合、代替URLがリダイレクトを返す場合、地域・言語別ページのcanonicalが別言語を指す場合は、デプロイを失敗させるべきです。Googleがクロールした後に問題を発見するよりも確実です。

コンテンツのライフサイクルも計画してください。ベトナム語の記事を更新して英訳が未完了の場合、両方が引き続き有用か判断します。Hreflangは逐語的な一致を求めませんが、ページは同等の回答である必要があります。一方が古くなったら、グループのすべてのページからそのバージョンを除外し、適切なステータスまたはリダイレクトを返してください。

言語切り替えにも同じ対応付けを使うべきです。言語切り替えがユーザーを送るURLと、hreflangがクローラーに示すURLが異なるなら、データモデルはすでに分裂しています。言語切り替え、headタグ、サイトマップ出力で翻訳データソースを統一すれば、このずれを抑えられます。

最後に、グループ単位で経過を確認してください。試験導入したセクションの表示回数、誤った言語への着地、選択されたcanonicalを比較します。数週間にわたる安定した挙動は、構文バリデーターだけよりも有力な証拠です。

ユーザーの言語選択を尊重する

Hreflangは検索エンジンによる着地ページの選択を助けますが、サイトには使いやすい言語切り替えも必要です。IPアドレスだけを基準に、すべてのユーザーを特定のロケールへ強制的に誘導しないでください。海外旅行中のベトナム語話者はベトナム語を希望するかもしれませんし、ベトナムにいる英語話者の顧客は英語を希望するかもしれません。

自動検出を使う場合は、元に戻せないリダイレクトではなく、候補を提示してください。すべての地域・言語別URLに直接アクセスできるようにし、国と言語の判定ロジック間でリダイレクトループが起きないようにします。また、適切なCookieでユーザーの明示的な選択を記憶してください。

言語切り替えは、単に各言語のホームページではなく、対応するページへリンクする必要があります。翻訳がない場合は、その旨を伝えるか、明確な代替先を提示し、ホームページが同じリソースであるかのように扱わないでください。ユーザーの信頼を守り、hreflangの対応付けも正確に保てます。

新しいブラウザーセッションで言語別 URL を開き、実際のリダイレクト、canonical、hreflang を確認します。公開 Cloudflare チェックでは Cookie 設定や Accept-Language の各条件を再現できません。

新たな市場へ進出する前に: 無料SEO監査を実施し、VI/ENのルート全体でcanonical、インデックス登録可否、メタデータを確認してください。

まとめ

Hreflangが機能するのは、翻訳がデータ上でグループ化され、各URLが自己参照し、ページ間に戻りリンクがあり、canonicalが矛盾していない場合です。正しい設定はほとんど目立ちませんが、適切なコンテンツが誤った相手に届くという、非常に目立つ問題を防ぎます。

参考資料:Google Search Central:ローカライズ版。

広告

よくある質問

HTMLとサイトマップの両方にhreflangを設定する必要はありますか?
いいえ。GoogleはHTML、HTTPヘッダー、サイトマップを同等の方法として扱います。データの競合を防ぐため、最も維持しやすい方法を1つ選んでください。
英語ページのcanonicalをベトナム語ページに向けるべきですか?
インデックス登録が必要な独立した翻訳ページであれば、設定すべきではありません。各言語のcanonicalは同じ言語のURLを指定し、他の言語版とはhreflangで関連付けます。
Hreflangのx-defaultは必須ですか?
必須ではありませんが、国の選択ページや、指定した言語に一致しないユーザー向けのフォールバックページに役立ちます。
#テクニカルSEO #オンページSEO

ウェブサイトを無料でチェック

SEO監査を実行したり、トラフィック品質をチェックしたりできます。登録は不要です。