ガラパゴスタ

楽する。楽しむ。生み出す。

Google は『はてなブログ』に対してはサイトマップインデックス 1 件分(記事100 件)までしか登録してくれないのかもしれない

Google に当はてなブログのすべてのページをインデックス登録させたくて、サイトマップ登録を試行錯誤していましたが、 どうも 100 件までしかインデックス登録してくれないのではないか という疑惑が出てきました。

sitemap.xml?page=N のうち、どれか一つ以外は「取得できませんでした」になる

僕のブログ 2 つで例を示します。

まずは当ブログ。

f:id:stakiran:20190206195302j:plain

page=1 は取得できてますが、page=2 はできてません。

続いて別ブログ stamemo

f:id:stakiran:20190206195313j:plain

今度は page=2 は取得できてますが、page=1 と page=2 は取得できてません。

「取得できませんでした」 ← いや、ちゃんと取得できるはずなんだけど

ここで「取得できませんでした」とはなんぞや、という話になります。これがよくわからないんですよね……。

当ブログの page=1 はちゃんと存在しています。

上記を開いてみると、サイトマップの中身が見れるはずです(スマホだと見れないかも?)。

同様に、もう一つの stamemo についても、

上記はどちらも開けます。 サイトマップのファイルはちゃんと存在している。取得できないなんてことはないはず。

また、念の為これら XML ファイルの中身もチェックしてみましたが、記述におかしい箇所はありませんでした。

「取得できませんでした」 ← このメッセージは不具合ではないか

情報収集の過程で、ふとひらめきました。

旧版の Search Console で見てみたら、どう表示されるのだろう?

というわけで早速試してみました。

※旧版の URL は https://www.google.com/webmasters/tools/sitemap-list です。

まずは当ブログ。

f:id:stakiran:20190206195448j:plain

続いて別ブログ。

f:id:stakiran:20190206195501j:plain

詳細ページも覗いてみます。

f:id:stakiran:20190206195533j:plain

保留しています、と出てますね。

まとめましょう。

  • 「取得できませんでした」というメッセージは見当たらない
  • 「保留しています」 と出ている
  • でも「型」列には 「?」 というなんとも怪しい値が……

でした。つまり 「取得できませんでした」は嘘で、実際は保留されている と言えそうです。

しかしながら「?」が気になりますね。「型 = ?」って何なんだ……

仮説:Google「はてなブログさんは、100 ページまで読んでやるよ」 ← たぶんこうなってる

ここまでを踏まえて、僕なりに仮説を立ててみました。

仮説:Google は、はてなブログについては、sitemap.xml?page=N を 1 つだけ(記事にして 100 件)インデックス登録するようにしている のではないか?

なぜそんなイジワルをするのか。順に見ていきます。

そもそもの前提: あらゆるサイトを登録するのは無理です

まず、そもそもの前提として、Google はあらゆるサイトのあらゆるページをインデックス登録するわけではありません。

公式のヘルプを見てみましょう。

英語ですが意訳すると、

Although we index billions of webpages and are constantly working to increase the number of pages we include, we don't guarantee that we'll crawl all of the pages of a particular site.

「ねぇ知ってる?ボクは現時点で何十億ってウェブページをクロールしてるし、ウェブページって今も増え続けてんだよ?全部辿ってます、と保証できると思う?無理ですわ」

It's perfectly normal for not all the pages on a site to be indexed.

「あるウェブサイトについて、インデックスされてないページがあるってのは普通のことなんです(だってボクがそうしてるんだもん)」

つまり あらゆるサイトのあらゆるページを読むのは無理ゲーだから、ある程度サボります ということです。

Google がいつ、どのようにサボっているかは不明

しかし、Google がいつ、どのようにサボっているかは不明です。公開されていません。

Google の検索アルゴリズムが公開されていないように、トップシークレットなのかもしれませんね。

僕のブログ 2 件の事例から「サボり方」を推測する

なので、他にできることと言えば、上記の僕のブログ事例から「サボり方」を推測することです。

もう一度、僕のブログ 2 つの状況をまとめておきます。

  • ブログは 2 つとも sitemap.xml?page=N のページ 1 つ分しかインデックス登録されていない
  • sitemap.xml?page=N ページ 1 つ分には最大 100 件の記事リンクが入っている
  • つまり 記事 100 件分しかインデックス登録されていない

ここから(非常に短絡的に)察するに、 Google さんは「はてなブログ」については 100 件まで、というルールでサボっているのではないか? と言えます。いや、本当に短絡的な暴論ですが。

おわりに

以上、最後は乱暴な推測になっていますが、はてなブログのサイトマップでは、記事 100 件分までしかインデックス登録されない のかもしれない、という見解を出してみました。

もし「100 件しか登録されなくて困っている」というはてなブロガーさんがいらっしゃったら、諦めた方がいいかもしれませんね……。

p.s. もし 100 件より多く登録されているはてなブロガーさん、いらっしゃったらぜひ情報提供を!(本当にいらっしゃったとしたら、「はてなブログは基本 100 件までだけど、老舗ブロガーは解禁してあげる」なんてルールの存在も考えられますね)

2019/02/07 追記

サイトマップとは関係ありませんが、 単にインデックス登録したい だけなら以下手段を利用できます。

手動かつ 1 URL ずつですが、Google にインデックス登録をリクエストできる手段を greenupf さんからコメントにて教えていただきました 。ありがとうございます!

リクエスト手順

  • Search Console > URL検査
  • インデックス登録したい記事 URL を入力して Enter
  • しばらくすると「URL検査」画面が開くので、「インデックス登録をリクエスト」リンクからリクエストする

本手順の使い道

本手順の使い道としては、以下の 2 つがあると思います。

  • (1) Google が勝手にインデックス登録する(僕のブログだと記事公開から数日後)よりも早く登録させたい
    • 具体的にどれだけ早くなるかは不明ですが、一般的に早くなるらしいです
  • (2) 既にインデックス登録されているが、あれから記事を更新したのでもう一度登録し直したい

特に (2) は、前回の登録が数ヶ月前のまま放置されていたりするケースもままあるので、内容更新をしたらこまめに行うべきなのかもしれません。

私もいくつかの記事について、早速 (2) を行ってみました。ちゃんと反映されるか、数日くらい観察してみたいと思います (2019/02/08 追記) 今日(つまり1日後)見てみたら、早速反映されていました!