診断ツール

hreflangチェッカー

URLを入力すると、ページ上のすべてのhreflang注釈を読み取り、言語コードと地域コードを1つずつ確認します。さらに代替ページも取得し、リンクが返されているかを確かめます。

入力したページとその代替URL(最大10件)を当社のサーバーが取得してブラウザに返し、チェックはブラウザ内で実行されます。内容は一切保存されません。

hreflangチェッカーのしくみ

Googleはhreflang注釈を3か所から読み取ります。HTMLのhead内のlink要素、HTTPのLinkレスポンスヘッダー、そしてXMLサイトマップです。このチェッカーは入力されたページを取得し、前の2つを読み取ります。サイトマップ方式の場合は、サイトマップファイル内のxhtml:linkエントリーを確認してください。

各値は、Googleが定める形式に照らしてチェックします。形式は、言語コードに任意のスクリプトと任意の地域コードを続けたもの、または予約値のx-defaultです。各URLは完全修飾URLでなければならず、HTMLのlink要素はhead内に置く必要があります。

続いて、ページが指定している代替URLを最大10件取得し、その注釈も読み取ります。Googleによれば、各言語版は他のすべての言語版に加えて自分自身も列挙しなければならず、2つのページが互いを指していない場合、タグは無視されます。このリターンリンクの確認は、多くのツールが省いているチェックです。

hreflangのルール早わかり

以下の各ルールは、Google検索セントラルのローカライズ版に関するページの記述に基づいており、それぞれがツールのチェック項目に対応しています。

言語コードISO 639-1(en、de、jaなど)。地域だけを指定することはできません。
地域コード任意。ISO 3166-1 alpha-2(GB、MXなど)。es-419のような規格外のコードはサポートされていません。EU、UN、UKは効果がありません。
スクリプト任意。ISO 15924(繁体字中国語のzh-Hant、簡体字中国語のzh-Hansなど)。
大文字と小文字値は大文字と小文字を区別しないため、en-gbとen-GBは同じ意味です。
x-defaultユーザーのブラウザ設定に一致する言語や地域が他にない場合のための予約値です。言語選択ページ向けに設計されています。
自己参照各バージョンは、他のすべてのバージョンに加えて自分自身も列挙します。
リターンリンクページXがページYにリンクしているなら、ページYもページXにリンクを返す必要があります。そうでないと、注釈が無視されることがあります。
URLhttpまたはhttpsを含む完全修飾URL。//example.com/fooや/fooは不可です。代替ページが同じドメインにある必要はありません。
配置HTMLでは、link要素を正しい形式のheadセクション内に置く必要があります。

ルールはGoogleのドキュメントに照らして確認しています: Tell Google about localized versions of your page

チェッカーがレポートする内容

  • HTMLのheadとHTTPのLinkヘッダーから見つかった、ページ上のすべてのhreflang注釈
  • ISO 639-1ではない言語コード、ISO 3166-1 alpha-2ではない地域コード、地域コードだけの指定、予約済みのEU、UN、UKコード
  • Googleが受け付けない相対URLやプロトコル相対URL
  • チェックしたページ自体を指す注釈がない、自己参照の欠落
  • 同じコードの重複指定と、head外に置かれたlink要素
  • 最大10件の代替ページについて:リンクが返されているか、リダイレクトやエラーを返していないか、注釈のセットがこのページと一致しているか

多言語SEOを壊すhreflangの間違い10選

壊れたhreflang設定のほぼすべての原因となる10の間違いを、症状と直し方とあわせて解説します。

hreflangガイドを読む

ブログの最新記事

すべてのガイド →

Frequently asked questions

hreflangチェッカーは何をテストしますか?
ページ上のhreflang注釈を読み取り、Googleのルールに照らしてチェックします。有効なISO 639-1の言語コードとISO 3166-1 alpha-2の地域コード、完全修飾URL、自己参照、そしてすべての代替ページからのリターンリンクです。このツールは、コードの重複やhead外のlink要素もレポートします。
en-UKは有効なhreflangの値ですか?
いいえ。ISO 3166-1 alpha-2での英国の地域コードはGBなので、en-GBと書きます。GoogleはUKを、EUやUNとともに、hreflang注釈では効果のないコードとして挙げています。言語部分は有効なままですが、地域部分は何の働きもしません。
x-defaultは必要ですか?
Googleは必須とはしていません。予約値のx-defaultは、ユーザーのブラウザ設定に一致する言語や地域が他にない場合に、どのページを使うかをGoogleに伝えます。言語選択ページ向けに設計されていますが、どのページでも使えます。チェッカーは、x-defaultがない場合にその旨を表示します。
なぜチェッカーは他のページも取得するのですか?
hreflangはペアでしか機能しないからです。Googleによれば、2つのページが互いを指していない場合、タグは無視されます。それを確かめる唯一の方法は、各代替ページを開いて注釈を読むことなので、チェッカーは最大10件についてまさにそれを行います。
hreflangはページの言語をGoogleに伝えますか?
いいえ。Googleは、ページの言語の判定にhreflangやHTMLのlang属性は使わず、独自のアルゴリズムを使うとしています。hreflangがGoogleに伝えるのは、そのページに他のどのバージョンがあり、それぞれが誰向けなのかです。