ガラパゴスタ

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

はてなブログのサイトマップの中身がいつ、どのように更新されるのかを調べてみた

f:id:stakiran:20190313194011j:plain

はてなブログのサイトマップ(sitemap.xml, sitemap_page.xml, sitemap.xml?page=1 や page=2)がいつ、どのように更新されるのかを調べてみました。Google 側の話ではなく、はてな側の話です。「はてな側が、はてなブログのサイトマップの中身を、いつ、どのように更新するか」という話です。

前提

今回調べたサイトマップ

今回の調査使ったサイトマップは以下のとおりです。当ブログのサイトマップです。

調べ方と調査内容の品質について

調べ方は以下二つです。

  • ある時点でのサイトマップファイルを採取し、差分を取った
  • 手作業でブログを更新した後、サイトマップファイルを覗いてみる……といった原始的なやり方で調べた

しかしながら調べ方は正直甘いです。サイトマップファイル全体のうち、一部分だけ簡単に確認してみただけですし、あらゆる観点で厳密に調べたわけでもない。よって、この記事の見解が正しいとは限りません。軽い参考程度に見ていただければと思います。

本記事で使う用語

最終更新日:

  • サイトマップファイル中に記載されている <lastmod> のこと

サイトマップデータ:

  • サイトマップファイル中に記載されている <sitemap> または <url> のこと

サイトマップファイル:

  • sitemap.xml とか sitemap.xml?page=1 とかのこと。XMLファイルのこと

page=N:

  • サイトマップファイル sitemap.xml?page=N のこと(長ったらしいので略して書く)

本記事の対象読者

サイトマップについてある程度理解していること を前提とさせてください。

たとえば、

  • サイトマップとは何か
  • なぜサイトマップが必要なのか
  • 自分のブログのサイトマップを見るためにはどうすればよいか

などは既に知っていることを前提とします。この記事ではサイトマップ自体の解説はしません。

ここからまとめ

早速調査内容をまとめていきます。

sitemap.xml はちゃんとつくられている

はてなブログは sitemap.xml をちゃんとつくります。

つまり sitemap.xml から全ページ(about ページ、固定ページ、各記事)を辿れるように、はてな側が常に上手くつくってくれます。

具体的には、以下の二つを行ってくれます。

  • 記事が追加されたタイミングで新しくサイトマップデータを追加する
  • 記事が更新されたタイミングで、当該記事のサイトマップデータの最終更新日(lastmod)を、その更新日に修正する

最終更新日の更新タイミング

トップページと about ページ:

  • → 何らかの記事を追加また編集したら

固定ページ:

  • → 当該ページを新規したら
  • → 当該ページを編集したら

各記事:

  • → 当該記事を新規したら
  • → 当該記事を編集したら

page=N について

  • page=1 には最近投稿した記事 1~100 件が並ぶ
  • page=1 の先頭には「トップページ」と「aboutページ」が並ぶ
    • つまり page=1 は最大 102 件のサイトマップデータを持つ
  • page=2 には最近投稿した記事 101~200 件が並ぶ
  • page=3 には最近投稿した記事 201~300 件が並ぶ
  • ……

page=N への新規ページ追加順序について

  • (1) 新しく投稿した記事は、page=1 の一番上に配置される
  • (2) 1 の結果、page=1 が 100 件からあぶれてしまう場合、101 件目のデータ(101番目に新しく投稿した記事)は次の page である page=2 に移される
    • page=2 が存在しなければ作成される

page=2、page=3 についても同様の働きをする。つまり page 一つに 100 件ずつサイトマップデータが並ぶイメージ。

page=N に記載されているページを編集した場合

  • 当該ページの最終更新日(lastmod) が、編集した時の日付に更新される
  • page=N の中で記載順序が変わることはない
    • 記載順序が変わるのは新しく記事が追加された時のみ

ページや記事の「編集」とは具体的にどんな操作か?

最終更新日が変化する契機となる操作を本記事では「編集」と書きましたが、では、この編集とは具体的にどんな操作を指すのでしょうか。

本ブログで確かめたのは(ほんのちょっとですが)以下です。

  • 本文を編集した
  • カテゴリーを変えた
    • これには カテゴリーの名前を変えたことにより、結果的に記事のカテゴリー名が変化した場合も含みます(※1)

他にも色んな契機があると思います(タイトルを変えたとか、アイキャッチ画像を変えたとか、コメントが付いたとか……でもコメントは他人が書くものなので契機じゃないかもしれない)。

※1 たとえばカテゴリー XXXX に記事が 10 件あるとして、このカテゴリー名を YYYY に変更した場合、10 件の記事についてはカテゴリー名が XXXX から YYYY に変わったとみなされ、サイトマップデータの最終更新日が更新されます(この場合はデータ 10 個分が更新される)。

おわりに

素人の手抜き調べの上、かなり五月雨式な書き方になってしまいましたが、はてなブログが自身のサイトマップファイルをどう更新するのか、についてのまとめでした。

この「はてなブログはサイトマップをどう更新してんだ?」という点は、個人的に気になっていたことで、今回調べてみてハッキリわかったのですっきりしました。