hreflangのx-defaultは言語や地域が一致しない利用者向けの既定URLを示す
公開日: 執筆:佐藤
hreflang="x-default"は、多言語・多地域サイトで、用意した言語や地域のどれにも一致しない利用者向けの既定URLをGoogleへ示します。国や言語を選ぶページ、または利用者の地域や言語に応じて内容を変える共通のホームページが指定先です。
x-defaultは、英語版や日本語版を表す言語コードではありません。また、利用者を転送する機能でもありません。en-gbやen-usなどの指定と並べ、どのURLにも一致しない場合の受け皿を一つ加えます。
x-defaultは特定の言語や地域を対象にしない
Googleのx-defaultに関する公式発表は、この値を、特定の言語や地域を対象にせず、ほかに適したページがない場合の既定ページを示すものと説明しています。
たとえば、英国、米国、オーストラリア向けの英語ページを別々に用意し、共通のホームページでは国を選べるようにしているサイトがあります。英語圏以外の利用者や、指定していない地域の利用者には、三つの英語ページから無理に一つを選ぶより、国を選べる共通ページを既定URLとして示せます。
対象とする言語や地域が決まっているページには、enやen-gbなどを使います。対象を決めない受け皿にx-defaultを使います。ページの表示言語が英語だからという理由だけで、英語ページをx-defaultと考えてはいけません。
既定URLは言語別URLの組へ一行加える
英国、米国、オーストラリア向けのページと、国を選ぶ共通ページがある場合は、次の組を各ページのhead要素へ記述します。
<link rel="alternate" href="http://www.example.com/en-gb/" hreflang="en-gb">
<link rel="alternate" href="http://www.example.com/en-us/" hreflang="en-us">
<link rel="alternate" href="http://www.example.com/en-au/" hreflang="en-au">
<link rel="alternate" href="http://www.example.com/" hreflang="x-default">
このURLと構成は、指定方法を説明する仮例です。実在するサイトの設定ではありません。
x-defaultの一行だけを共通ページへ置くのではなく、対応するページ群へ同じ組を置きます。言語別URLの相互指定に、既定URLを一つ加える形です。x-defaultを追加しても、en-gbやen-usなどの指定は残します。
一般の言語ページと既定ページを分ける
国を限定しない英語ページがあるなら、そのページはhreflang="en"で英語利用者を対象にできます。hreflang="x-default"は、英語利用者全般を表す値ではありません。サイトが用意した言語や地域の指定に一致しない場合の受け皿を表します。
| URLの役割 | hreflangの例 | 対象 |
|---|---|---|
| 英国向け英語ページ | en-gb |
英語を使う英国の利用者 |
| 国を限定しない英語ページ | en |
地域を限定しない英語利用者 |
| 国・言語の選択ページ | x-default |
ほかの指定に一致しない利用者 |
共通ページに英語の説明が含まれていても、役割が国・言語の選択であり、特定の言語や地域だけを対象にしないなら、x-defaultの指定先にできます。判断する基準は、画面に使った文字だけではなく、そのURLが誰の受け皿かです。
x-defaultと転送処理は別に設定する
hreflangは、Googleが検索結果に適したURLを選ぶための情報です。x-defaultを書いても、ブラウザが利用者を共通ページへ転送するわけではありません。地域による転送や、Accept-Languageに応じた表示変更が必要なら、サイト側で別に実装します。
公式発表は、地域情報やAccept-Languageを使って内容を変えるホームページにも、x-defaultを使えると説明しています。この場合も、x-defaultが表示変更を行うのではありません。共通URLの役割を検索エンジンへ示す指定と、利用者へ何を表示するかを決める処理を分けます。
自動転送を採用する場合も、利用者が自分で国や言語を選び直せる導線を共通ページに残します。判定を誤った利用者が、目的のページへ進める受け皿にするためです。
既定ページの内容と更新担当を先に決める
既定URLには、サイトに存在する国・言語の選択肢と、そのリンクを置きます。対応ページのない言語を選択肢に見せたり、すべての利用者を一つの地域ページへ送ったりすると、x-defaultの記述が正しくても受け皿として機能しません。
言語版を追加または削除するときは、言語別URLの組と共通ページの選択肢を一緒に更新します。各言語の担当者が別々にlink要素を書くと、一方にだけ古いURLが残ります。URLの対応表を一つ持ち、共通ページを管理する担当者が、各言語版への反映まで確認します。
最初は、国別ページがそろっている一組だけで確認してください。各ページに同じhreflangの組があり、x-defaultが共通ページを指し、その共通ページから利用者が各言語版へ進めることを確かめます。正しい一組を作ってから、ほかのページへ広げます。
関連記事

