こんにちは、SEO分析ツール「アナトミー」開発チームの江頭です。
多言語サイトのSEO対策では、各地域や国に合わせたページが正しく検索結果に表示されることが大切です。そのための重要な記述がlinkタグのhreflang属性です。
hreflang属性はページの言語や地域を指定する役割を持ちます。
この記事では、地域ターゲティングに必要な<link rel="alternate">
タグやhreflang属性の書き方について詳しく説明します。
hreflang属性とは?
hreflang属性は、Webページがどの国の言語向けに作られているのかを示すために使う属性です。href属性で指定したURLについての言語情報を提供します。
hreflang属性は、a要素、area要素もしくはlink要素で使用します。主な用途は以下の通りです。
要素 | hreflang属性の用途 |
---|---|
a要素 | アンカーのリンク先ページの言語情報を提供する。 |
area要素 | イメージマップのリンク先ページの言語情報を提供する。 |
link要素 | <link rel="alternate"> タグのhref属性で指定した関連ページについての言語情報を提供する。検索エンジンが利用するため、多言語サイトのSEOとして重要。 |
多言語サイトSEO対策の観点では、alternate linkタグで指定するhreflang属性が大切です。
なお、hreflang属性は、ページの言語(英語・日本語・フランス語など)を示すので、日本語ページしかない日本向けサイトでは利用する必要はありません。
hreflang属性が多言語SEOに必要な理由
Googleの検索エンジンは、Webページの内容から、自動的に言語を判断しています。
Google では、ページの表示内容からその言語を判断します。lang 属性のようなコードレベルの言語情報や、URL は使用しません。
多地域、多言語のサイトの管理 – Search Console ヘルプ
そのため、hreflang
属性は多言語サイトでも不要に思えるかもしれません。
しかし、ある特定の地域に合わせたページを作成しても、「地域ターゲティング」を行わなければ、その地域におけるページランキングを向上させることはできません。検索エンジンから特定地域での評価を受けるには、hreflang
属性を使い、どの地域・どの言語をターゲットとしたページなのかを明確にする必要があるのです。
hreflang
属性が多言語SEO対策として重要になるのは、この「地域ターゲティング」を行うためです。
- 関連記事:SEO(検索エンジン最適化)の基本
SEOの基本・Googleの評価基準については定期開催のオンラインセミナーで解説しています。セミナーではGoogle公式のSEOガイドであるGoogle検索セントラルの「Google検索の仕組み」と「スターターガイド」の内容を分かり易く解説します。これからSEOを始めようと考えている方は是非ご参加ください。
hreflang属性の書き方
地域ターゲティングを行うためのhreflang
属性の書き方は以下の通りです。
<link rel="alternate" hreflang="【言語・地域コード】" href="【URL】">
属性 | 説明 |
---|---|
rel | alternate 固定。 |
hreflang | 「言語コード」もしくは「言語コード-国コード」がよく使われる。 たとえば、英語の場合はen、アメリカ英語の場合はen-USとなる。 その他、「言語コード-文字体系」を使うこともある(後述)。 |
href | 各言語・地域向けページの絶対URL。 |
<link rel="alternate">
タグは、そのページに対する代替ページを示すときに使われるタグです。rel属性の値 alternate は、英語で「別の」「代わりの」を表します。alternate linkタグは、PC用ページでスマホ用ページのURLを指定したり、多言語サイトで他の地域・言語用ページのURLを指定したりする役割があります。
ただし、<link rel="alternate">
タグを1つだけ記述することは通常ありません。Googleでは、以下の3種類のURLを<link rel="alternate">
タグで指定することを推奨しています。
- 他言語版ページのURL(1つ以上)
- 当該ページのURL(1つだけ)
- デフォルト言語ページのURL(1つだけ)
たとえば、英語と日本語の2か国語に対応したページの場合は、次のように英語ページのURL、日本語ページのURL、デフォルトのURLの3つのURLを記述します。
<link rel="alternate" hreflang="en" href="https://example.com/en/">
<link rel="alternate" hreflang="ja" href="https://example.com/ja/">
<link rel="alternate" hreflang="x-default" href="https://example.com/en/">
上記の<link rel="alternate">
タグは、href属性で指定したページ全てに埋め込む必要があります。つまり、https://example.com/en/ と https://example.com/ja/ の両方に上記3つのalternateタグを設置する必要があります。
hreflang=”x-default”の役割
<link rel="alternate">
タグでは、hreflang=”x-default”というリンクタグも1つ記述します。hreflang=”x-default”は、どの言語・地域にもマッチしないターゲットのことを指します。
たとえば、以下の<link rel="alternate">
タグが記述されたページでは、フランス語ユーザーがGoogle検索すると、x-defaultで指定された英語ページ(https://example.com/en/)が表示されます。
<link rel="alternate" hreflang="en" href="https://example.com/en/">
<link rel="alternate" hreflang="ja" href="https://example.com/ja/">
<link rel="alternate" hreflang="x-default" href="https://example.com/en/">
hreflang属性で指定する言語コード
hreflang属性に指定する言語コードのうち、よく使用される言語をリストアップしました。
言語コード | 言語名称 |
---|---|
en | 英語 |
fr | フランス語 |
es | スペイン語 |
it | イタリア語 |
de | ドイツ語 |
pt | ポルトガル語 |
ru | ロシア語 |
ja | 日本語 |
ko | 韓国語 |
zh | 中国語 |
ar | アラビア語 |
その他の言語コードについては、以下を参照してください。
hreflang属性で指定する地域コード
hreflang属性は、ハイフンに続けて地域コードを指定することができます。地域によって単語や表現が異なる言語のときには、地域コードが重宝します。
たとえば、hreflang="en-us"
はアメリカ向けの英語、hreflang="en-gb"
はイギリス向けの英語、hreflang="en-au"
はオーストラリア向けの英語を指します。
地域コード | 国 |
---|---|
us | アメリカ合衆国 |
ca | カナダ |
mx | メキシコ |
br | ブラジル |
gb | イギリス |
fr | フランス |
it | イタリア |
de | ドイツ |
es | スペイン |
ch | スイス |
eu | EU |
jp | 日本 |
tw | 台湾 |
kr | 韓国 |
cn | 中国 |
hk | 香港 |
sg | シンガポール |
ru | ロシア連邦 |
au | オーストラリア |
ae | アラブ首長国連邦 |
その他の地域コードについては、以下を参照してください。
hreflang属性で簡体字・繁体字を指定する
中国語には、簡体字と繁体字があり、地域によって利用される字体が異なります。
文字体系 | 地域 |
---|---|
簡体字 | 中国、シンガポール、マレーシア |
繁体字 | 台湾、香港、マカオ |
次のように、6つの地域ごとに適したhreflangを指定する方法もありますが、少々面倒です。
<!-- 簡体字 -->
<link rel="alternate" hreflang="zh-cn" href="https://example.com/cn/">
<link rel="alternate" hreflang="zh-sg" href="https://example.com/cn/">
<link rel="alternate" hreflang="zh-my" href="https://example.com/cn/">
<!-- 繁体字 -->
<link rel="alternate" hreflang="zh-tw" href="https://example.com/tw/">
<link rel="alternate" hreflang="zh-hk" href="https://example.com/tw/">
<link rel="alternate" hreflang="zh-mo" href="https://example.com/tw/">
hreflangには、言語体系を表す4桁のコード(ISO 15924)を指定することもできます。この方がすっきり記述できます。
<!-- 簡体字 -->
<link rel="alternate" hreflang="zh-Hans" href="https://example.com/cn/">
<!-- 繁体字 -->
<link rel="alternate" hreflang="zh-Hant" href="https://example.com/tw/">
hreflang属性のよくある間違い
href属性ページで相対URLを指定している
hreflang属性で地域ターゲティングを行う場合、href属性は絶対URL(https://から始まるURL)で記述します。
誤
<link rel="alternate" hreflang="en" href="/en/">
<link rel="alternate" hreflang="en" href="//example.com/en/">
正
<link rel="alternate" hreflang="en" href="https://example.com/en/">
双方向にlinkタグを設置していない
<link rel="alternate">
タグは、各言語ごとのページ全ての配置する必要があります。
たとえば、英語と日本語に対応したページの場合、英語ページに日本語版のURLを記載するだけでなく、日本語ページにも英語版のURLを記載します。
下層ページで各地域TOPページを指定している
<link rel="alternate">
で指定するURLは、当該ページの他言語版URLです。TOPページなら他言語版のTOPページのURLを指定しますが、下層ページなら他言語版の下層ページのURLを指定します。
(例)https://example.com/en/about-us ページのalternate linkタグ
誤
<link rel="alternate" hreflang="en" href="https://example.com/en/">
<link rel="alternate" hreflang="ja" href="https://example.com/ja/">
<link rel="alternate" hreflang="x-default" href="https://example.com/en/">
正
<link rel="alternate" hreflang="en" href="https://example.com/en/about-us">
<link rel="alternate" hreflang="ja" href="https://example.com/ja/about-us">
<link rel="alternate" hreflang="x-default" href="https://example.com/en/about-us">
hreflang属性の動作確認
Googleサーチコンソールのインターナショナル ターゲティング
公開されたサイトに対して網羅的なチェックを行うには、Googleサーチコンソールが便利です。
Googleサーチコンソールで、[以前のツールとレポート]-[インターナショナルターゲティング]メニューを選択します。
Googleが検出したURL全てに対して、<link rel="alternate">
タグのチェックを行った結果を確認できます。
ドメインプロパティの場合、インターナショナルターゲティングの分析が使えません。Googleサーチコンソールに、URLプレフィックスタイプのプロパティを追加してください。
Browserling
海外からGoogle検索したとき、適切なサイトが表示されるのかをチェックするのに利用できます。Browserlingのサーバーはカナダにあるので、hreflang="en"
や hreflang="en-CA"
の動作がチェックできます。
各言語ページへの自動リダイレクトは非推奨
ユーザーの言語設定や地域を判断し、自動的に各言語ページにリダイレクトさせることは技術的に可能ですが、Googleは推奨していません。
各言語ページへの自動リダイレクトを非推奨としている理由には、以下の2つがあります。
- 検索エンジンのクローリングへの影響:自動リダイレクトにより、各国版のWebページをクローリングできない可能性がある。GoogleはAccept-Languageヘッダを送信しません。
- ユーザーへの影響:自動リダイレクトにより、他言語バージョンのコンテンツが表示できない可能性がある。
海外では、Googleだけでなく、YANDEXや百度などのクローラーからも正しくインデックスさせる必要があることも考えると、検索エンジンに影響が出ないよう、十分な配慮を行った方が良いでしょう。
- 関連記事:検索エンジンの国別シェア【2020年版】
hreflangのまとめ
以上、hreflang属性の書き方と注意点をまとめました。
地域ターゲティングは、サイトマップやHTTPヘッダでも指定することができます。大規模な多言語サイトやECサイトなどの動的サイトでは、alternate linkタグ以外の方法でも検討してみてください。
シンメトリックが定期開催している無料SEOセミナーでは、Google検索の仕組みやSEOについてわかりやすく解説しています。セミナーではGoogle公式のSEOガイドであるGoogle検索セントラルの「Google検索の仕組み」と「スターターガイド」の内容を読み解くことで正しいSEO基礎知識のスタート地点を受講者に提供することを目指しています。
「SEOの何から学べばいいか分からない」「SEOに関する情報は何が正しいのか分からない」このようなお悩みをお持ちの方は是非ご参加ください!
最後に弊社ではサーチコンソールとGA4データを1つにまとめて分析ができる「SEO分析ツール アナトミー」 を提供しております。運用しているサイトのSEOチェックを行うのに必要な機能が揃ったダッシュボードプランは全て無料でずっとご利用いただけます。是非、アナトミーに無料登録してサイトのSEOチェックをしてみてください。