多言語サイトはrel=”altrenate” hreflang=”x”で管理しよう
webサイトを多言語対応して運用されているウェブマスターやサイトオーナーもいらっしゃると思います。
今回は、そのようなサブドメインや、サブディレクトリなどURLが言語ごとに異なる方法で運用している多言語サイトを、言語・地域別に正しく検索結果に表示させる方法について解説していきます。
では、まずは地域別に意図したページをGoogleなどの検索結果に表示させるために必要な、rel=”alternate” hreflang=”x”というアノテーションタグからご説明していきます。
目次
hreflangタグとは?
はじめに「hreflangタグ」とは何かという点をご紹介させていただきます。
hreflangはエイチレフラングと読みますが、hreflangタグというのはページの言語や地域を指定するための属性となります。hreflangタグはhreflangアノテーションとも呼ばれる事があります。
hreflang属性によりページの言語やターゲットとする場所について、検索エンジンが正しいバージョンのページをインデックスするのを助ける役割があります。
もし多言語サイトで、別々の言語をターゲットとしたページにhreflang属性を設定していなければ、重複コンテンツと見なされる可能性があるので、SEO対策において注意が必要です。
また、日本ユーザー向けの日本語記事を英語ユーザー向けに英語に翻訳したページを作成する場合も同様にhreflangの設定が必要となります。
hreflangタグの必要性
Googleは、「多言語のウェブサイトの構築」という記事にもあるように、lang属性や公開文言語を信頼性に欠ける
といった理由から無視するため、別で多言語ページに使用している言語を指定してあげる必要があります。
多言語サイトの問題
例えば、別の国(アメリカとカナダ)でも扱う言語が同じ(英語)というページが別々であったとします。
この場合、カナダでの検索結果に意図しないアメリカ用のページが表示されてしまう可能性が考えられます。
その他にも、商品の型番など各国共通のワードで検索した場合に、その言語に合ったページが表示されない時があります。
こういった場合、rel=”alternate” hreflang=”x”というアノテーションタグをヘッダーに記述することで、検索結果に各言語・地域ごとに合ったページを表示することができます。
ちなみに「hreflang=”x”」というのは、言語は「x」とし、代替である事を伝えています。
「X」の部分に英語向けページなら「hreflang=”en”」、日本語向けページなら「hreflang=”ja”」など文字コードが入ります。
この記述がなければ極端な話、英語圏で検索した時に、日本語サイトが表示されてしまい、日本語で閲覧することを望まない英語圏のユーザーは決してクリックしません。
「hreflang=”x-default”」タグについて
「hreflang=”x”」について上述しましたが、「x-default」タグについても触れておきます。
「hreflang=”x-default”」は、どの言語・地域にもマッチしない場合にターゲットに表示されるページという意味でデフォルトのページを指定します。必ずしも「hreflang=”x-default”」を指定する必要はありませんが、Googleはトップページに対して「hreflang=”x-default”」を使用する事を推奨しています。
※下層ページに関してはトップページからリンクがあり、好みの言語を選択できる為、「hreflang=”x-default”」を使わない事が推奨されています。
記述例は次の通りです。
<link rel="alternate" href="https://example.com/index.html" hreflang="x-default" />
使い方としては、運用サイトに「英語」「日本語」に対応したページが存在するとします。
そのサイトに「英語」「日本語」以外の、例えば「フランス語」を使用する言語・地域からアクセスしたユーザーにはどのページを表示させるのかを「hreflang=”x-default”」で指定するという事になります。
\無料診断の活用で課題を明確に/
外部リンク、内部状況、コンテンツ状況からSEO対策の課題が見えてくる無料調査です。
「対策ページの弱点は何か...」などお悩みをお持ちの方は、一度「SEOパーソナル診断」をご利用ください。
hreflangタグの書き方
多言語で管理されているサイトは、対応しているページに下記のタグをヘッダーに記述します。
hrefで指定するドメインは同じドメインでも、異なるドメインでも指定可能です。
※ja.example.comは日本語ページ、en.example.comが英語対応のページとします。
<link rel="alternate" href="http://ja.example.com/" hreflang="ja" /> <link rel="alternate" href="http://en.example.com/" hreflang="en" />
ここでは、各言語ページへのURLと言語コードをISO 639-1という国際標準規格で定められているのでISO 639-1形式で記述します。
言語コードとは
言語コードというのは、言語を表す文字列となります。「ISO 639-1」という国際標準規格では凡そ180種類の言語に対応しており2文字で表します。「ISO 639-1」以外にも「ISO 639-2」「ISO 639-3」といった規格があり、こちらは3文字で表します。
「ISO 639-1(Codes for the representation of names of languages — Part 1)」の言語コードをいくつかご紹介します。
言語 | ISO 639-1言語コード |
---|---|
日本語 | ja |
英語 | en |
フランス語 | fr |
中国語 | zh |
韓国語 | ko |
ネパール語 | ne |
ポルトガル語 | pt |
地域コードとは
さらに、同じ言語を使っていても地域によってはカバーしきれない場合があります。
そのような地域が異なるケースには、指定した言語コードの後ろに地域コードを付ける事で細かな指定をする事ができます。
記載方法は、言語コードの後ろに-(ハイフン)を付けてISO 3166-1 alpha-2形式で地域を記述します。
下記の場合は、言語のみ指定の英語ページ( hreflang=”en” )と、カナダで話される英語ページ( hreflang=”en-CA” )を用意した場合です。
<link rel="alternate" href="http://ja.example.com/" hreflang="ja" /> <link rel="alternate" href="http://en.example.com/" hreflang="en" /> <link rel="alternate" href="http://en-ca.example.com/" hreflang="en-CA" />
地域コードをいくつかご紹介します。
地域 | 地域コード(Alpha-2 code) |
---|---|
カナダ | CA |
中国 | CN |
フランス | FR |
ネパール | NP |
ニュージーランド | NZ |
言語コードや地域コードは大文字?小文字?
言語コードと地域コードをいくつか例を挙げご紹介しましたが、言語コードを「小文字」、地域コードを「大文字」で記載しています。
言語コードと地域コードを合わせて記載する場合、大文字にしなければならないなどの厳密なルールは無いようですが、
BCP 47 (Best Current Practice 47)という規格に則って記載すると言語コードを「小文字」、地域コードを「大文字」で記載するというルールがあります。
一般的な記載方法は「en-CA」のように小文字と大文字で記載する方法となるので、こちらに合わせておくと間違いがないでしょう。
hreflangタグの注意点
注意点の1つめとして、このhreflangタグは多言語に対応しているページ全てに記述しなければいけないため、抜けなど間違いのないよう注意が必要です。
※該当ページや、日本語のページも省略することなく記述が必要です。
注意点2つ目は、検索エンジンに正しくURLを伝える為、URLは相対URLではなく絶対URLを設定しましょう。
<link rel="alternate" href="/en/example.html" hreflang="en">
上記は相対URLで指定した例です。
<link rel="alternate" href="https://en.example.com/en/example.html" hreflang="en">
このようにURLは、https からドメインも含めた絶対パスを指定する事を忘れないようにしましょう。
canonical(カノニカル)タグも併用する
hreflangを使い言語や地域によってページを設定する方法をご紹介しましたが、ターゲットとする国は別でも内容(言語)が同じものがあると、どうしても重複コンテンツとなってしまいます。
上記の例だと、カナダ以外の地域から英語で検索したユーザーに表示させたいページが重複してしまっています。
このため、hreflangをして検索結果に表示する言語・地域を紐づけた際には、canonicalタグを併用して記述するようにしましょう。
この場合、2種類の英語ページのヘッダーには下記のように記述します。
<link rel="canonical" href="http://en.example.com/" /> <link rel="alternate" href="http://ja.example.com/" hreflang="ja" /> <link rel="alternate" href="http://en.example.com/" hreflang="en" /> <link rel="alternate" href="http://en-ca.example.com/" hreflang="en-ca" />
これで、日本から英語検索した場合にhttp://en.example.com/が表示され、カナダから英語検索すると、http://en-ca.example.com/が表示されるはずです。
canonicalタグを設定する事によりどのページが正規ページかを検索エンジンに伝える事ができるので重複コンテンツを回避する事ができます。
\無料診断の活用で課題を明確に/
外部リンク、内部状況、コンテンツ状況からSEO対策の課題が見えてくる無料調査です。
「対策ページの弱点は何か...」などお悩みをお持ちの方は、一度「SEOパーソナル診断」をご利用ください。
多言語対応する際のドメイン「ccTLD」と「gTLD」について
ここでドメインについてですが、.jp(日本)や、.us(アメリカ)といった2文字からなるccTLD(国別コードトップレベルドメイン)は、すでに国が割り当てられているため、その国において検索エンジンや検索ユーザーに信頼感を抱きやすいといった特徴があります。
ccTLDの正式名称は「country code Top Level Domain」と言いますが、国により取得条件や難易度に差があります。
多言語を扱うサイト運用をする為には、各言語の独立したサイトを運用する必要がありますが日本語サイトと分離し地域ターゲティングがしやすいというメリットがあります。
各言語独立したサイト運用となるので、多言語ページを「ccTLD」で運用する場合は、アノテーションタグは必要ありません。
何故かというと、例えば、同じ英語コンテンツのあるサイトを2つの英語圏(A、B)地域のドメインを取得し公開する場合、Aで検索した場合はA向けの検索結果が表示され、Bで検索した場合はB向けの検索結果が表示されるというように重複コンテンツとはみなされません。
一方、.comや.netなどのgTLD(ジェネリックトップレベルドメイン)は、特定の国を対象としていないため、ディレクトリやサブドメインで運用して、ターゲットの国の対応をする為、上記のようなアノテーションタグを設置する必要があります。
gTLDの正式名称は「generic top-level domain」と言います。
ccTLDとgTLDについて上述したとおり、国や地域に限定されるドメインという違いがあると説明しましたが、
本来は地域に関係のあるドメインにもかかわらずGoogleには「gTLD」と見なされるドメインもあります。
以下に一例をあげます。
- .adアンドラ公国
- .aiイギリス領アンギラ
- .asアメリカ領サモア
- .bzベリーズ
- .ccオーストラリア領ココス(キーリング)諸島
- .cdコンゴ民主共和国
- .coコロンビア共和国
- .djジブチ
- .fmミクロネシア連邦
- .ioイギリス領インド洋地域
- .laラオス
- .meモンテネグロ
- .msモントセラト
- .nuニュージーランド領ニウエ島
- .scセーシェル共和国
- .srスリナム共和国
- .suソビエト連邦
- .tvツバル
- .tkトケラウ
- .wsサモア独立国(旧西サモア)
ドメインは.comだと特別な指定をしなければ、特定の国に限定される事無く認識される事となり、多言語サイトのドメインには「.com」ドメインがお勧めです。
多言語サイトを運用する際の方針などを考慮して決めましょう。
サーチコンソールやツールを利用し確認する
hreflangは下記画像のように、searchconsoleの「インターナショナルターゲティングレポート」でGoogleにどれくらい認識されているのか確認することができます。
デフォルトでは、「サイトに hreflang タグがありません。」と表示されているはずです。
※多言語に対応しない日本語のみのページの場合は、エラーが出ていても問題ありません。
※2022年8月にGoogleがサーチコンソールの「インターナショナルターゲティングレポート」の提供を2022年9月22日で終了する事が発表されました。
サーチコンソール以外でhreflangが正しく設定できているか確認する方法としては、
https://www.screamingfrog.co.uk/seo-spider/ や https://technicalseo.com/tools/hreflang/などのSEOツールを利用し確認するか、または目視で確認する方法となります。
\無料診断の活用で課題を明確に/
外部リンク、内部状況、コンテンツ状況からSEO対策の課題が見えてくる無料調査です。
「対策ページの弱点は何か...」などお悩みをお持ちの方は、一度「SEOパーソナル診断」をご利用ください。
多言語サイトの管理についてまとめ
以上のことから、多言語に対応するには、正しくページを指定する必要があります。
最近では、中国語や韓国語にも対応しているサイトも多いのではないでしょうか?
特に、ホテルサイトなども多言語に対応しているページも多いので、参考にしてみても良いかもしれません。
内部対策は、このようなテクニカルな要素も含まれますが、正しくSEO対策しておくことで、検索順位・集客や売上にも影響してきます。
多言語に対応したサイトを最大限活用するためにも、間違いなくrel=”altrenate” hreflang=”x”で管理するようにしましょう。