本文へスキップ
hreflangの設定方法と、ページ単位の確認手順
投稿日:
2026年08月19日
更新日:
2026年09月15日

hreflangの設定方法と、ページ単位の確認手順

最終更新日時
2026年09月15日
publishedAt
2026年08月20日
ogImage
author
戸部
description
言語コード、地域・文字体系の指定、自己参照と相互参照、HTML・HTTPヘッダー・サイトマップでの設定を説明します。canonicalとの役割の違いも確認します。
作成日時
2026年08月20日
category
実装・運用
status
公開
テキスト
slug
hreflang-complete-guide
タグ
hreflangは、同じ内容の言語版や地域版があることをGoogleに伝えるための指定です。検索結果で適切な版を案内する手がかりになります。ただし、希望する言語が検索結果に表示されない原因が、必ずhreflangにあるとは限りません。本文の内容、取得状況、正規URLなども確認します。

言語版の指定と、検索への登録を混同しない

hreflangは、翻訳された本文を作成したり、ページを検索に登録したりする機能ではありません。設定がなくてもGoogleが別の言語版を見つける場合がありますが、対応関係を明示することが推奨されています。
また、本文が翻訳されたページは、言語が異なるという理由だけで重複コンテンツとして扱われるわけではありません。メニューだけを翻訳して本文が同じ場合や、同じ言語で地域差だけがある場合とは分けて考えます。Googleの言語版の説明を参照してください。

言語・地域・文字体系は、実際の対象に合わせる

日本語はja、英語はen、中国語はzh、韓国語はkoを使います。jpやcnは言語コードではありません。地域を含める場合は、言語と地域を組み合わせ、en-USやen-GBのように指定します。地域だけの指定はできません。
広く英語で読む人に向けたページならenを、特定の地域向けに案内するページなら地域を含めた指定を検討します。同じ言語で複数の地域版がある場合は、それ以外の地域に向けた汎用の言語版も検討します。
中国語は、簡体字・繁体字を区別するzh-Hans・zh-Hantや、地域を指定するzh-CN・zh-TWなどを使用できます。文字体系での指定だけが正しいというわけではありません。文字と地域のどちらを対象にしているかに合わせて判断します。

HTMLでは、各ページから自分自身と相手を指定する

同じ製品の日本語版と英語版を用意した場合、両方のページのheadに次の組み合わせを出力します。URLは説明用の例です。
<link rel="alternate" hreflang="ja" href="https://example.com/ja/product/" /> <link rel="alternate" hreflang="en" href="https://example.com/en/product/" />
自分自身への指定が自己参照、相手のページから戻る指定が相互参照です。相互参照がない組み合わせはGoogleに無視されます。完全な言語の組み合わせを保つのが基本ですが、すべての相互参照を維持するのが難しい場合でも、相互に参照している組み合わせは処理されます。新しい言語版を追加する場合は、元の主要な言語版との対応を確保します。
各URLは、httpsなどの方式を含む完全なURLで指定します。記事の言語版なら、その記事に対応するURLを使います。すべての記事でトップページを指定しないようにしてください。

HTTPヘッダーやサイトマップでも指定できる

HTMLに記述できないPDFなどでは、HTTPのLinkヘッダーを使用できます。日本語と英語のPDFを対応させる例は次のとおりです。
Link: <https://example.com/report-ja.pdf>; rel="alternate"; hreflang="ja", <https://example.com/report-en.pdf>; rel="alternate"; hreflang="en"
XMLサイトマップでは、各URLの項目に、自己参照を含む言語版のURLを記載します。日本語版と英語版なら、それぞれのURLの項目に同じ対応関係を記述します。xhtmlの名前空間も必要です。
<?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/product/</loc> <xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/product/" /> <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/product/" /> </url> <url> <loc>https://example.com/en/product/</loc> <xhtml:link rel="alternate" hreflang="ja" href="https://example.com/ja/product/" /> <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/product/" /> </url> </urlset>
HTML、HTTPヘッダー、サイトマップは、Googleでは同等の方法として扱われます。併用しても検索上の追加の利点はないため、更新を維持しやすい方法を選びます。

x-defaultは、一致しない言語への案内先として検討する

x-defaultは、指定した言語や地域のいずれにも一致しない利用者向けのページを示します。言語選択ページや、既定として案内したいページを指定する方法があります。必須の値ではありません。
特定の言語版を既定にする場合は、そのURLを言語コードとx-defaultの両方から参照できます。原文の言語だからといって必ず既定にするのではなく、利用者をどこへ案内したいかで判断します。

canonicalとの矛盾を確認する

canonicalは、重複または非常によく似たページの正規URLを示すための指定です。hreflangとは役割が異なり、常に両方が揃っていなければ機能しないわけではありません。
独立して検索結果に表示させたい英語ページから日本語ページへcanonicalを固定している場合は、設定の意図を見直します。Googleが選ぶ正規URLは複数の情報に基づいて判断されるため、タグの指定だけで必ず一つに決まるわけではありません。Googleの正規URLの説明を参照してください。

トップページだけでなく、記事や製品ページを点検する

公開後は、設定を出力している場所を確認します。HTMLならhead、HTTPヘッダーなら応答、サイトマップならXMLを調べます。参照先のページを開き、同じ内容であるか、戻る参照があるかを確かめます。
検査では、自己参照、言語コード、URLのパス、応答状態、noindex、canonicalの不整合を確認します。言語切り替えボタンが動くことは、hreflangが正しいことの証明にはなりません。
Search ConsoleのURL検査は、取得やインデックスの状態を確認するために使います。旧インターナショナルターゲティングレポートは廃止されているため、専用の一覧レポートがあることを前提にしないでください。廃止はGoogleの2022年の更新情報で確認できます。
ページ数が多い場合は、ページの追加や削除に合わせて対応関係を生成し、誤ったパスや相互参照の欠落を自動で検査する方法を検討します。変更後には、実際の出力も確認します。関連する設定の点検は多言語サイトのSEO実装ガイドで説明しています。