はてなブログのサイトマップ、うまくいかないですね。
サイトマップの話をいくつかしてきましたけど、サイトマップも言ってしまえばGoogleにコンテンツの位置(URL)を知ってもらうための施策なわけで、どんな方法だろうと知ってもらえばいいわけです。
ということで、今回はサーチコンソールでコンテンツの位置を直接Googleに知らせる方法を試してみます。
意外な発見がありました
検索エンジンの仕組みの話
まったく新規に生み出されたコンテンツの存在をGoogleが知るのかというと
- コンテンツからのリンクで知る
- サイトが作るサイトマップ(sitemap.xml)で伝える
- Google Search Consoleで伝える
- Indexing APIを使って、直接教える
この4つです。 普通のサイトがあまり工夫しないでできるのは、上の2つです。両方とも基本的には待ちの姿勢です。
Indexing APIはプログラミングが必要でかなりハードルが高いので、ここでは触れません。 ということで、残った3番目、Google Search Consoleを使ってみます。
用語の整理
- クローラー
- GoogleがHTMLを取りに来るロボットのこと。Google以外でも定期的にサイトに訪れるロボットのことをクローラーと呼ぶことが多いです。
- クロール
- クローラーがサイトにやってくること。クローラーがきた=クロールされたと言います。
- インデックス(検索インデックス)
- クローラーがクロールしたHTMLや画像を、検索しやすいように処理をした結果すること、もしくは処理した結果で作られるデータのこと。クロールされてもインデックスが作られるまでは、キーワードで検索できるようになりません
- キャッシュ
- ある一時点のデータを保存したデータのことをキャッシュといいます。キャッシュを作るとか、コンテンツがキャッシュされたと使います。検索用のインデックスに入っているのは自分のサイトのコンテンツのキャッシュです
クローラーがクロールしてコンテンツをキャッシュすると、そのコンテンツに含まれる文字で検索が可能になります。
クロール後にサイトを書き換える(間違えていたり、追記したり)と、Googleが持っているキャッシュと自分のコンテンツが不一致になります。
再度クロールされ新しいデータを持って行ってもらわないと、Googleの内部にあるインデックスは更新されず、新しい分で検索が可能になりません。
とういことで、どれくらいの頻度でGoogleのクローラーがやってきているのかが大事なのです。 (この説明、いるかな)
当ブログのトップページのキャッシュ
当ブログのトップページのキャッシュの状態を調べてみました。
なんと1か月以上前の状態がキャッシュされていました。4/30が最後のクロールで、その後は来てもらえていませんでした。
定期的に見に来てくれるはずなので、もうちょっとテンポよくクロールしてくれると思っていましたけど。そうでもないんですね。
自分のコンテンツがGoogleにキャッシュされているか確認する
頻度よくクロールされることが大事なのですが、そもそも1回目のクロールがないとキャッシュがないわけです。
まずは、自分のサイトのコンテンツがどれくらいGoogleの検索エンジンに入っているのかを確認しましょう。
これは、過去に1回でもGoogleにクロールされ、GoogleにURLを把握されているコンテンツという意味です。
Google検索で見てみる
Googleのトップページでキーワードで、
site:ドメイン名
で検索すると、指定のドメイン内のコンテンツの全量がわかります。
138件のページがキャッシュされてますね。
小さい▼をクリックして出てくる「キャッシュ」を押すと、Googleが持っているコンテンツのコピーが見ることもできます。
サーチコンソールで確認する
サーチコンソールだと「カバレッジ」タグの有効の件数をみれば分かります。
微妙な件数の差は気にしないことにしましょう
サーチコンソールで手動で登録する
基本的には、待ってればGoogleのクローラーは来てくれるわけですが、いつくるか分からないですね。ブログのトップページでさえ1か月も放置されていましたので。
なので、コンテンツがここにあるから見に来てよ、というお願いをしてみます。お願いしたところで、いつ見に来てくれるかは保証はありませんし見に来るかも分かりません。まぁ、やらないよりはましです。
ということで、自分でGoogleにお願いしましょう。カモーン、Googleクローラー!
キャッシュされているか確認する
サーチコンソールの一番上にあるテキストボックスにURLを入力して、そのURLをGoogleが把握しているかを確認します
ちょっと待たされますが。。。
クロール済みであれば、データが出てきます。
まだGoogleにクロールされていない場合は、このような表示です。この状態はよくないです。一生、検索されません、だってGoogleは知らないのですから。
登録をリクエストする
すでにキャッシュがある場合も、まだない場合も「インデックス登録をリクエスト」が押せる状態になります。これを押すことでGoogleに早く来てよとお願いできます。
2020年5月31日18時頃にリクエストしました。 リクエスト済みになりましたね。
リクエストしたところで、Googleのクローラーが来るとは分かりませんし、Googleが来たとしてもキャッシュが作られるかも分かりません。おまじないみたいなもの(だと思ってました)
登録を確認する
まぁ、待ちましょう。どうせ、こないでしょうね。。。
・
・
・
・
・
・
と思ったら、意外と早く見に来てくれました。たぶん15分くらいで来てくれたような気がします。
Googleのサイトからキャッシュを確認
サーチコンソールだけでは不安なので、ちゃんと見てみましょうか。確かにありました。時間は18時14分。
まとめ
サーチコンソールから手動でリクエストするのなんて、気休めくらいかなと思っていたのですけど、意外と早くやってきてキャッシュしてくれました。これはちょっと驚きの結果です。過去の思い込みが覆った瞬間でした。
コンテンツ経由の自動クロールやサイトマップ経由のクロールはあまり信用ならないので、こまめに手動で実行したほうがよさそうですね。特に新規で記事を書いたときは特に。
※6月時点の実験結果ですので、同じ結果が出ることを保証するものではありません。
参考に
Google Indexing API クイックスタート
https://developers.google.com/search/apis/indexing-api/v3/quickstart?hl=ja