[レベル: 中級]
Googleマップの地図を埋め込んでいるページをSearch ConsoleのFetch as Googleで検証すると、取得できなかったリソースとしてレポートされます。
地図を生成するJavaScriptがrobots.txtによってブロックされているからです。
この状態はSEOにマイナスに影響するのでしょうか?
GoogleのJohn Mueller(ジョン・ミューラー)氏がオフィスアワーでこの質問に回答しています。
結論をごく簡単に言えば、次のようになります。
- 重要な情報がGoogleマップのなかに存在すれば問題になることがある
- Googleマップ自体がそのページの重要なコンテンツでないなら問題にはならない
ミューラー氏の回答に僕からの解説も加えて詳しく見ていきましょう。
GoogleマップをGooglebotはレンダリングできない
まず、Fetch as GoogleでGoogleマップがレンダリングされない状態を例示します。
下のキャプチャはFaber Companyの会社概要ページをFetch as Googleで「取得してレンダリング」した結果です。
右側は、人間のユーザーがブラウザでレンダリングした結果で、地図が正常に表示されています。
一方、左側は、Googlebotがレンダリングした結果で、地図が表示されていません。
原因は、Googleマップの地図を読み込むのに必要なAPIのJavaScriptがrobots.txtでブロックされているためです。
キャプチャの下方、青枠で囲んだ部分に関係するリソースがブロックされていることが示されています。
Googleマップのrobots.txtを編集する権限は僕たちにはないので、ブロックの解除は当然不可能です。
Googleマップのリソースブロックが問題になる場合
例で見たとおりリソースがブロックされているのでGooglebotはGoogleマップをクロール、インデックスすることができません。
たとえば、Googleマップの大きな地図だけを埋め込んだページをサイト内に公開していたとします。
全国に支店があり、マップ内の“ピン”で場所を示し、その支店の住所や営業時間などのビジネス情報をマップ内のピンとともに出現する枠のなかだけで提示しています。
そのページのHTMLコードにはこうしたビジネス情報を記述していません。
ブロックされていてGooglebotは地図をレンダリングできないので、ビジネス情報を取得できません。
したがって、ビジネス情報はインデックスされないということになります。
ユーザーがその支店の場所や営業時間を検索して調べても、適切なページが検索結果に出てこないかもしれません。
このように、Googleマップのなかに出現する情報が重要で、かつサイト内の他のページに存在しない情報であれば、SEOの視点から見ればGoogleマップのブロックは決して好ましい状態ではありません。
対処策
対処策はシンプルです。
マップ内に表示されるビジネス情報をそのページのなか、つまりHTMLコードのなかにも記載します。
こうすれば何の問題もなくGooglebotはビジネス情報をクロール、インデックスできます。
Googleマップのリソースブロックが問題にならない場合
反対に、Googleマップの地図をGooglebotがレンダリングできなくてもたいした問題にはならないケースもあります。
補助的なコンテンツの役割りを地図が担っている場合です。
インデックスされなかったとしてもマイナス影響が出るとは思えない情報だけがマップ内にあるのなら、ブロックされていても無視できます。
Googleマップの埋め込みがブロックされたリソースとしてレポートされることについての相談は、Googleの公式ヘルプフォーラムでも時々目にします。
回答するならこうなります。
地図内だけに重要な情報が載っているなら、問題になることがあります。
対処策は、その情報をページ内にHTMLとして記述することです。地図が補助的コンテンツであり、特に重要な情報が載っているわけではないなら気にする必要はありません。