
多言語SEOに必須!hreflangの役割と正しい書き方・実装方法
多言語SEOを実施するなら、「hreflang(エイチレフラング)」の知識は必須。
この記事では、hreflangの役割や多言語SEOへの効果、正しい記述方法をわかりやすく解説する。
hreflangを正しく使わなければ、せっかく多言語対応しても検索結果に表示されず、外国人観光客に見られないサイトになってしまう可能性がある。
これから多言語対応を考えている方や、既存の多言語サイトを見直したい方は、ぜひ一読してほしい。
なお、hreflangを正しく理解するためには、多言語SEO・SEOの基本知識も必要になる。
知識に不安がある方は、先に以下のページを読んでおこう。
hreflangが果たす役割
hreflangとは、Googleなどの検索エンジンに、自身のページも含め「複数の言語のページの存在を示す」ための属性だ。
htmlタグのひとつであり、「hreflang属性」「hreflangタグ」と表記されることもある。
決められたルールに従い、HTMLの<head>内、HTTPレスポンスヘッダー、XMLサイトマップに記述する。
Webサイト内に複数の言語のページがある場合、hreflangを正しく記述していないと、検索エンジンはどの言語のページを表示すべきか判断できない。
その結果、ユーザーに適さないページが検索結果に表示されてしまう可能性がある。
例えば、台湾のユーザーが「東京 景點(日本語訳:東京 観光)」と検索して中国語(繁体字)のページを探しているのに、日本語ページや中国語(簡体字)ページが表示されてしまうと、すぐに離脱されてしまう。
このようなミスマッチを防ぎ、検索エンジンに正しく情報を伝えるために、hreflangは多言語サイトにおいて重要な役割を果たす。

多言語SEOの観点から見るhreflangの効果
多言語SEOにおいてhreflangの実装は不可欠だが、直接的に検索順位を大きく押し上げるものではない。
ただ、次の2つの理由から、間接的に検索順位へ良い影響を与える可能性がある。
- ユーザーの直帰率が下がり、滞在時間が延びる
- 重複コンテンツとして判定されにくくなる
ユーザーの直帰率が下がり、滞在時間が延びる
検索したユーザーの使用言語に対応したページが表示されないと、すぐにページを離脱してしまい、直帰率は上がって滞在時間は短くなる。
直帰率と滞在時間は、ユーザーの満足度を測る指標のひとつだ。
検索エンジンは、ユーザーが満足するページを上位に表示しようとするため、直帰率と滞在時間が検索順位に影響している可能性は高い。
そのため、直帰率が低く滞在時間の長いページほど、上位表示されやすい傾向がある。
hreflangを適切に記述すれば、ユーザーの使用言語に合ったページが優先的に表示されるため、コンテンツに問題がなければ直帰率は下がり、滞在時間も延びるはず。
hreflangを正しく実装することが、結果的に検索順位を押し上げる要因となり得る。

重複コンテンツとして判定されにくくなる
hreflangは、同一内容の多言語ページを「別コンテンツ」としてGoogleに認識させる役割も果たす。
例えば、アメリカとイギリスはどちらも英語を公用語としているが、使用する単語や表現などが異なるため、
- アメリカ向けの英語ページ
- イギリス向けの英語ページ
を別々に用意するケースがある。
ただ、記載内容が変わらない場合、Googleから重複コンテンツとして判定される可能性がある。
このような場合でも、hreflangを適切に実装していれば、それぞれが異なる地域向けであることを検索エンジンに伝えられる。
注意しておきたいのが、hreflangを実装しているからといって、必ずしも
- アメリカで検索した時に「アメリカ向けの英語ページ」
- イギリスで検索した時に「イギリス向けの英語ページ」
が表示されるとは限らないということだ。
hreflangは、検索エンジンに「複数の言語のページの存在を示す」手段にすぎない。
検索エンジンはその他の内容も加味して、検索結果に表示するページを決める。
そのため、hreflangの実装だけでなく、国や地域ごとに合わせたローカライズ対応を行う必要がある。

hreflangを正しく使わないと機会損失に繋がる
ここからは多言語サイトを制作しても、hreflangを正しく実装していないことで起こる”もったいない”ケースを具体的に紹介しよう。
多言語ページを作ったのに外国人観光客に見てもらえない
あるレジャー施設のWebサイトは、日本語ページのみを公開していたが、外国人観光客の増加に伴い、英語・中国語(繁体字)・中国語(簡体字)ページも新たに作成した。
しかし、いつまでも経っても日本語以外の言語で施設名を検索しても、自社のWebサイトが検索結果に表示されない。
原因を調べたところ、その一因がhreflangを実装しておらず、Googleが日本語以外のページを正しく認識できていないことにあった。
このように、多言語対応しても訪日観光客に見られていないケースは少なくない。

ユーザーの使用言語とのミスマッチが起こる
中国語には繁体字と簡体字と2種類あり、台湾や香港では繁体字、中国大陸では簡体字が主に使用されている。
ある宿泊施設では、日本語・英語・中国語(繁体字・簡体字)のページを用意していたが、hreflangを実装していなかった。
その結果、台湾から「東京 住宿(日本語訳:東京 ホテル)」と繁体字で検索しても、検索結果に表示されたのは中国大陸向けの簡体字ページ。
台湾のユーザーにとって、簡体字は「読めなくはないが、違和感があり読みづらい文字」であるため、ページの離脱率が高く滞在時間も短くなってしまった。
また、簡体字ページには中国大陸向けのキャンペーンが掲載されていたため、地域に最適化された情報提供もできていなかった。
その結果、台湾・香港、中国大陸いずれの外国人観光客からの宿泊予約は思うように伸びなかった。
多言語対応の目的である、インバウンド集客の成果を得るためにも、hreflangを正しく実装することは重要だ。

hreflangの書き方と基本ルール
hreflangは、正しく記述しなければSEOに悪影響を及ぼす可能性がある。
これから紹介する、hreflangの書き方と基本ルールを守って記述しよう。
hreflangの書き方
hreflangは、以下の構文で記述する必要がある。
<link rel="alternate" hreflang="ja-JP" href="https://example.com/ja/" />
この構文は、次の3つの要素から成り立っている。
- link rel ="alternate"
- このページには別ページ(代替ページ)があることを示す。
- hreflang="ja-JP"
- 対象の言語と地域を示す(例では日本語・日本)
- href="URL"
- 対象のページURLを指定する
つまり、上記の例では「https://example.com/ja/」が、日本向けの日本語で書かれたページで、その他の代替ページもあることを検索エンジンに伝えている。
hreflangを記述する際に守るべき基本ルール
hreflangを記述する際、これから紹介する基本的なルールを守らないと、検索エンジンに正しくそのページの情報を伝えられない。
1. 言語と国・地域の指定は決められたコードを使う
例の「hreflang="ja-JP"」では、
- ja=日本語(言語)
- JP=日本(国・地域)
であることを示している。
言語は「ISO 639-1」、国や地域は「ISO 3166-1 alpha-2」のコードを使用するのが基本ルールだ。
以下にその一例を記載する。
ISO 639-1言語コードの一例
言語 | ISO 639-1の言語コード |
---|---|
日本語 | ja |
英語 | en |
中国語(繁体字) | zh-Hant |
中国語(簡体字) | zh-Hans |
韓国語 | ko |
ISO 3166-1 alpha-2 国・地域コードの一例
言語 | ISO 3166-1 alpha-2の国・地域コード |
---|---|
日本 | JP |
アメリカ | US |
中国大陸 | CN |
台湾 | TW |
韓国語 | KR |
各コードの使用例
例えば、
- アメリカ向けの英語ページの場合はhreflang="en-US"
- 韓国向けの韓国語ページの場合はhreflang="ko-KR"
となる。
以下のように国・地域を指定せず、言語のみ指定することも可能だ。
- 英語ページの場合はhreflang="en"
- 韓国語ページの場合はhreflang="ko "
ただ、国・地域だけを指定することはできないため、注意してほしい。

2. 各ページに対応している全言語のhreflangを記述する
日本語・英語・中国語(繁体字・簡体字)のページがある場合、全てのページにhreflangを入れるのも基本ルールのひとつだ。
例えば、日本語ページに記述するhreflangは、
<link rel="alternate" hreflang="ja" href="https://example.com/ja/" />
だけではNG。
以下のように、その他の言語ページも含めたタグを入れることで、検索エンジンにその関係性が正しく伝わるようになる。
<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-hant" href="https://example.com/zh-hant/" />
<link rel="alternate" hreflang="zh-hans" href="https://example.com/zh-hans/" />
3. x-defaultも記述する
hreflang="x-default" は、どの言語・地域にも該当しないユーザー向けに表示する「デフォルトページ」を指定するための属性。
日本語と英語に対応しているサイトの場合は、ページに以下の記述をすることで、日本語と英語以外の言語を使用して検索すると、英語ページが優先的に評価・表示されるようになる。
<link rel="alternate" hreflang="ja" href="https://example.com/ja/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />
hreflang="x-default"は必須ではないが、Googleは使用を推奨している。
多言語SEOを意識する場合は、hreflang="x-default"も忘れずに記述しておこう。

hreflangだけでなくcanonicalも併用しよう
「同じ内容のページが複数あるときに、正規ページを示す」タグであるcanonicalは、hreflangとの併用も可能だ。
この2つを組み合わせることで、検索エンジンに対してページ間の関係性をより正確に伝えられる。
例えば、日本語と英語に対応しているサイトの日本語トップページでは、以下のように記述することで、「https://example.com/ja/」が日本語ページであることがより明確になる。
<link rel="canonical" href="https://example.com/ja/" />
<link rel="alternate" hreflang="ja" href="https://example.com/ja/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
hreflangの実装方法
hreflangの実装方法には、以下3つのパターンがある。
- HTMLの<head>に記述
- HTTPレスポンスヘッダーに記述
- XMLサイトマップに記述
それぞれの実装方法を簡単に紹介していこう。
HTMLの<head>に記述
最も簡単で手軽なのが、各ページの<head>内にhreflangを記述する方法だ。
<head>内であれば、記述する位置に厳密な決まりはない。
例えば、日本語・英語・中国語(繁体字)の3言語に対応したサイトの場合、日本語ページの<head>内には、以下のように記述する。
<head>
<meta charset="UTF-8" />
<title>サイトタイトル</title>
<link rel="alternate" hreflang="ja" href="https://example.com/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="zh-Hant" href="https://example.com/zh-hant/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />
</head>
他の実装方法が難しくても、最低限この実装方法だけは実施してほしい

HTTPレスポンスヘッダーに記述
HTML以外の静的ファイル(PDFや画像など)には、<head>が存在しないため、hreflangを記述できない。
その場合は、サーバーのHTTPレスポンスヘッダーで指定する必要がある。
例えば、英語で書かれたPDF資料の場合は、サーバーの設定ファイルに以下のように記述する。
Link: <https://example.com/en/guide.pdf>; rel="alternate"; hreflang="en"
静的ファイルでも多言語対応が必要なときは、この方法を活用しよう。

XMLサイトマップに記述
多言語対応ページが数百〜数千ページ規模になるサイトでは、各ページの<head>内にhreflangを記述するだけでなく、XMLサイトマップにもhreflangを記述しておくのが望ましい。
例えば、日本語・英語・中国語(繁体字)の3言語に対応したサイトの場合、XMLサイトマップには、以下のように記述する。
<?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="zh-Hant" href="https://example.com/zh-hant/" />
</url>
</urlset>
hreflangの記述順に厳密なルールはないが、全ページに対して繰り返し記述する必要があるため、言語の並び順を統一しておくとミスを防ぎやすくなる。

言語切り替えリンクにもhreflangの指定を忘れずに
<head>内だけでなく、<body>に設置するリンクにもhreflangを指定できる。
多言語サイトなら、言語を切り替えるためのリンクを設置するはずだ。
言語切り替えリンクにもhreflangを指定することで、検索エンジンにより正しく「このページは〇〇語・〇〇地域向け」と伝えられるので、忘れずに指定しておこう。
以下が言語切り替えリンクでhreflangを指定する際の例だ。
<ul class="rl-items">
<li><a href="/ja/article/item/20183/" hreflang="ja"><span>日本語</span></a></li>
<li><a href="/zh-hant/article/item/20183/" hreflang="zh-TW"><span>繁體中文</span></a></li>
<li><a href="/zh-hans/article/item/20183/" hreflang="zh-CN"><span>简体中文</span></a></li>
<li><a href="/en/article/item/20183/" hreflang="en"><span>ENGLISH</span></a></li>
<li><a href="/th/" hreflang="th"><span>ภาษาไทย</span></a></li>
<li><a href="/ko/" hreflang="ko"><span>한국어</span></a></li>
</ul>
多言語SEOが難しいと感じたらインバウンドメディアの活用も検討
多言語SEOで成果を出すためには、ここまで紹介してきたhreflangを正しく実装するだけでなく、その他にも様々な施策が必要となる。
もし自社での対策が難しいと感じたら、多言語SEOに強いインバウンドメディア「GOOD LUCK TRIP」への出稿も検討してほしい。
「GOOD LUCK TRIP」は、多言語SEOの豊富なノウハウを持ち、Googleからも高く評価されている。
そのため、施設やお店などを紹介する記事でも、希望するキーワードで上位表示できる可能性が高い。
さらに、既に多くのアクセスを集めている記事から、自社の施設やお店を紹介する記事へ誘導して、外国人にあまり知られていない施設やお店でも効果的にPRすることも可能だ。
「GOOD LUCK TRIP」に興味がある人は、サービス内容を紹介している、こちらのページもチェックしてみよう。
まとめ
多言語SEOで必須のhreflangの役割と正しい書き方、実装方法を紹介してきた。
記事の内容を参考に、自社サイトにはhreflangが実装されているか、基本ルールを守れているのかを確認してみよう。
この他にも、多言語SEOならではの施策は多い。多言語SEOに取り組みたい方は、以下の記事もぜひ参考にしてほしい。