Googleウェブマスターツールのhreflangエラーは相互指定と言語コードを分けて直す
公開日: 執筆:佐藤
GoogleウェブマスターツールのInternational Targetingにhreflangのエラーが出たら、件数だけを減らそうとせず、Missing return linksとIncorrect hreflang valuesを分けます。前者は二つのURLの相互指定、後者は一つの属性値を調べるエラーです。
最初に報告されたURL、指定先URL、検出日を控えます。そのうえで、管理画面の入力値ではなく、両URLが返すHTMLを照合してください。
Language Targetingでは二種類のエラーを分けて調べる
Googleは2014年7月14日、International TargetingのLanguage Targetingでhreflangを調べる機能をGoogleウェブマスターツールへ追加しました。この画面では、よくある問題を次の二種類に分けて報告します。
| エラー | 調べる対象 | 最初に開くもの |
|---|---|---|
| Missing return links | URL間の指定が往復しているか | 報告URLと戻りリンクを求められたURL |
| Incorrect hreflang values | hreflangの言語と国の書式 |
例として示されたURLの出力HTML |
二つを同じ修正にまとめると、原因を見失います。戻りリンクが足りないページで言語コードだけを変えても、URL間の関係は直りません。言語コードが誤っているページへリンクを足しても、属性値の書式は直りません。
Missing return linksは二つのURLを一組で直す
ページAがページBを言語別URLとして指定するなら、ページBからページAへの指定も必要です。Googleは、この戻りの指定がない場合、hreflangを正しく解釈できない可能性があると説明しています。
日本語版と英語版のサービス案内を想定すると、Googleが2012年に示した相互指定の例と同じように、両ページのhead要素へ次の組を出力します。
<link rel="alternate" hreflang="ja" href="http://www.example.com/ja/service/">
<link rel="alternate" hreflang="en" href="http://www.example.com/en/service/">
これはHTML構造を示す仮例です。実在するサイトのURLではありません。
エラーを直すときは、次の順で二つのページを照合します。
- 報告されたページAのHTMLで、ページBへの指定を探す。
- ページBのHTMLで、ページAへの指定を探す。
- 二つの
hrefが、対応するページのURLと一致するか確かめる。 - 両ページで、言語とURLの組が同じか確かめる。
テンプレートへ指定を書いた事実ではなく、公開URLから取得したHTMLを確認します。キャッシュや条件分岐によって、管理画面の設定と出力結果が違う場合があるためです。
Incorrect hreflang valuesは言語と国の順を確認する
hreflangの値には、ISO 639-1形式の言語コードを使います。地域まで分ける場合は、言語コードのあとへハイフンを置き、ISO 3166-1 Alpha 2形式の国コードを続けます。
| 指定したい範囲 | 形式 | 例 |
|---|---|---|
| 言語だけ | 言語コード | es |
| 言語と国 | 言語コード、ハイフン、国コード | es-AR |
国コードだけでは、どの言語のページかを示せません。大文字と小文字の見た目だけを直す前に、言語と国のどちらを書いた値なのかを確認します。
Language Targetingは、書式に合わない言語コードまたは国コードを検出すると、修正対象を探せるように例のURLを示します。共通テンプレートが誤った値を出している場合は、一つのURLだけを直さず、同じ出力処理を使う範囲も調べてください。
エラー件数と公開作業の記録を同じ日付で残す
Missing return linksでは、Googleウェブマスターツールが問題を検出した場所と日時、戻りリンクを期待する場所を確認できます。検出日、修正したURL、公開日、変更したテンプレートを一つの記録へ残します。
制作を外部へ委託しても、International Targetingを確認できる権限と、言語別URLの対応表はサイト所有者側にも残してください。エラー画面だけを見られても、どのURLを一組として管理しているか分からなければ、修正内容を判断できません。
まず、一件のエラーについて、報告URLと相手URLを左右へ並べます。両方の出力HTMLを取得し、相互指定の不足か、属性値の誤りかを確定してからテンプレートを直してください。
関連記事

