はてなブログで書いた記事が、Google にうまくインデックスされない

はてなダイアリーからはてなブログへ移行した話の続き。

ブログタイトルの変更や、新しく書いた記事が、Google の検索結果になかなか反映されない。

ブログタイトルの変更が反映されない

はてなダイアリーでは「sardineの日記」だったのを、はてなブログへ移転して独自ドメイン toyfish.blog を取得したのに合わせて、ブログタイトルも「toyfish.blog」にした。

ところが。Google の検索結果を見ると、トップページのタイトルが「sardine」になっている。なんでやねん。

再度クロールしてもらえば直るかと思って、Google Search Console でトップページの再クロールを要求したら、なぜか、はてなダイアリー時代のタイトルになった。なんでだよ!!

f:id:sardine:20181007192655p:plain

調べてみると、Google は「このページタイトル、あんまり有益じゃないな」と判断したら、勝手に別のページタイトルを付ける仕様なのだそうだ。

有益かどうかは、検索クエリも見て判断するそうで、実際、うちのトップページも、「toyfish」で検索して出てくるときには、ちゃんと本来のタイトルが表示される。

f:id:sardine:20181007192650p:plain

つまりこういうことだ。はてなブログでは、トップページではブログタイトルがそのままページタイトルになるが、うちの場合はドメイン名そのままのように見える。

そこで、Google 陛下は「これはタイトルの付け忘れに相違ない。余が書き換えてやろう。そうだな、過去の情報から適当に付けてやろう。これで文句あるまい」と決めてしまう。

ちなみに、今の時点でも、日別の記事一覧ページは、部分的に書き換えられている。ページタイトルの末尾にある、ブログタイトルの部分だけ「sardine」だけになっているようだ。なんじゃこりゃ……。

f:id:sardine:20181007195134p:plain

新しく書いた記事がインデックスされない

はてなブログには、サイトマップの自動生成機能が組み込まれている。

そのため、サイトマップの URL である <ブログの URL>/sitemap.xmlGoogle Search Console に登録すればいいらしい。

実は記事 URL は 9 つのファイルに分割して記載されている。sitemap.xml はそれらのファイルの目次にあたるもので、これだけを登録すれば、Google が自分で辿って 9 つのファイルにアクセスしてくれるという。

ところが、実際やってみても、サイトマップの一部の情報が読み込まれなかった。

  • Google Search Console で状況を確認すると、分割された 9 ファイルのうち一部が、HTTP エラーになっていた
  • sitemap.xml を再送信してみたが、やはり反映されなかった
  • 分割された 9 ファイルの方を、それぞれ Google Search Console に登録したら成功したという情報も見たので、同じことを試してみたけど、やはり HTTP エラーが発生したりしなかったり

この不安定な動作のせいか、Google 検索しても、ここ最近新しく書いた記事がまったく出てこない。

とりあえず、最近 (過去 1 ヶ月くらい) の記事について、Google Search Console で 1 ページずつクロールを要求したら、数分後には検索結果に出てくるようになった。

ネットで調べると、同様の現象が起きて「数日待ったら反映された」という情報もあるし、「翌々月になっても反映されなかった」という情報もある。解消した人の報告も、人によって何をしたら反映されたのかが異なり、確実な情報がない。

とりあえず、新しい記事については、こうすることにした。

  • Google Search Console では、実はフィードもサイトマップの代わりとして扱えるそうなので、<ブログの URL>/feed を追加しておいた
  • それでもインデックスされなかったら、新しい記事を書く度に、Google Search Console に行って手動でクロールを要求する

手動でやるのは面倒なので、フィードが効いてくれるといいんだけど。しばらく様子を見てみるつもり。