• Googleウェブマスターツールのhreflangエラーは相互指定と言語コードを分けて直す

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ではありません。

エラーを直すときは、次の順で二つのページを照合します。

  1. 報告されたページAのHTMLで、ページBへの指定を探す。
  2. ページBのHTMLで、ページAへの指定を探す。
  3. 二つのhrefが、対応するページのURLと一致するか確かめる。
  4. 両ページで、言語と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を取得し、相互指定の不足か、属性値の誤りかを確定してからテンプレートを直してください。

戻る