プロダクトマネージャーあれこれ

PJMではなくPDMのPMです!

【徹底解説】はてなブログのsitemapがサーチコンソールに登録されない問題

サーチコンソールに登録するsitemapは何を登録すべきなのか解説します!

解説しようと思ったのは、私自身もうまく登録できておらず、困ってる人に伝えたいなぁと考えてのことです。

結論からいうと、「/sitemap.xml」でOKです!

ある時、はてなブログのsitemapと思われる「/sitemap.xml?page=1」をサーチコンソールに登録しても、投稿したブログ数が全く合っていないことに気づきました。

この問題に対処できたので、sitemap(サイトマップ)に関して徹底解説していきます!

サーチコンソールにsitemapを登録してもURLが増えない

sitemap(sitemap.xml?page=1)を送信してもページ数が初回のまま

初回は、記事数が4つのときにサーチコンソールに、sitemapを登録しました。

記事数4の時の結果
  • 記事数: 4
  • 登録したsitemap: 「sitemap.xml?page=1」
  • 送信されたURL: 6

この時までは順調でした。。

しかーし、

記事数を増やしてもURLが増えない! その後、着々とブログ記事を書いていったのですが、sitemapの送信されたURLというのが増えていきませんでした。。

記事数10の時の結果
  • 記事数: 10
  • 登録したsitemap: 「sitemap.xml?page=1」
  • 送信されたURL: 6

記事数よりも、送信されたURL数が少なかったのです。

色々試してみた

10記事に到達する間も、なぜだぁー!!!と思いながら、試行錯誤を繰り返しました。

よく分からず、、、 色々な情報を頼りに 「/feed」、「/rss」、「sitemap_index.xml」、「sitemap.xml」を追加登録しました。

追加登録した結果は散々でした。

保留のままのsitemap

「/feed」、「/rss」

成功されたが「最終読み込み日時」がsitemapを初回に送信した日時のままのsitemap

「sitemap_index.xml」、「sitemap.xml」

つまり、追加登録したsitemapを持ってしても惨敗状態でした。。 めちゃくちゃに登録してもダメってことですね。

よく分からないが解決した方法

結論からいうと、URLが記事数通りに増えていかなかった理由は分からないがこうしたら解決しましたという方法を共有します。

sitemapを全て削除して「sitemap.xml」だけ再登録してみた

この時、削除したsitemapは、「/feed」、「/rss」、「sitemap_index.xml」、「sitemap.xml?page=1」、「sitemap.xml」。

つまり、リセットするために全てのsitemapを削除しました。 その後、時間を空けずに、「/sitemap.xml」を登録すると

すると、なぜか解決しました!! ちなみに、この時は記事がすでに12個ある状態です。

sitemapを全て削除して「sitemap.xml」だけ再登録した結果
  • 記事数: 12
  • 登録したsitemap: 「/sitemap.xml」
  • 送信されたURL: 17

経験則として、次のことが言えるかと思います。 「余計なsitemapをポンポン送信すると、正しいsitemapが混じっていても、なぜか上手くURLが送信されない」

でも、私はこれでよしとしません!

あれっ、記事数よりも送信されたURLがなぜか多い???

と気付いてしまったのです!!

実は最初(記事数4の時代)からズレていたのですが、ここまでやってるとなぜだ?!と疑問に思う訳です。

なぜなら、記事数が12なのでこうなると思ってたんです。

期待する結果
  • 記事数: 12
  • 登録したsitemap: 「/sitemap.xml」
  • 送信されたURL: 12

でも、実際は記事数よりも送信されたURLが5つも多いんです。

実際の結果
  • 記事数: 12
  • 登録したsitemap: 「/sitemap.xml」
  • 送信されたURL: 17

5つ多いぞ!ってなった訳です。

調べたがりな性格なので、sitemapの中身を見てみることにしました!

はてなブログのsitemapの構造を完全理解!

調査結果を、本ブログである”プロダクトマネージャーあれこれ”のsitemapを例に説明しますね。

「/sitemap.xml」を調査

まずは、「https://www.pdm.tokyo/sitemap.xml」というsitemapから調査しました。 着目するポイントは、<loc>と</loc>で囲まれたところです。

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.pdm.tokyo/sitemap.xml?page=1</loc>
<lastmod>2019-02-01</lastmod>
</sitemap>
<sitemap>
<loc>https://www.pdm.tokyo/sitemap_page.xml</loc>
<lastmod>2019-02-01</lastmod>
</sitemap>
</sitemapindex>
sitemap.xmlにて<loc>と</loc>で囲まれたもの
  • https://www.pdm.tokyo/sitemap.xml?page=1
  • https://www.pdm.tokyo/sitemap_page.xml

「/sitemap_index.xml」を調査

続いては、「https://www.pdm.tokyo/sitemap_index.xml」を見ていきます。 着目するポイントも同じく<loc>と</loc>で囲まれたところです。

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.pdm.tokyo/sitemap.xml?page=1</loc>
<lastmod>2019-02-01</lastmod>
</sitemap>
<sitemap>
<loc>https://www.pdm.tokyo/sitemap_page.xml</loc>
<lastmod>2019-02-01</lastmod>
</sitemap>
</sitemapindex>
sitemap_index.xmlにて<loc>と</loc>で囲まれたもの
  • https://www.pdm.tokyo/sitemap.xml?page=1
  • https://www.pdm.tokyo/sitemap_page.xml

このことから、「https://www.pdm.tokyo/sitemap.xml」と「https://www.pdm.tokyo/sitemap_index.xml」は、中身が一緒ということが分かりました。 つまり、「/sitemap.xml」と「/sitemap_index.xml」は同じなんです!!!

続いては「/sitemap.xml」と「/sitemap_index.xml」の<loc>と</loc>で囲まれた下記のURLに着目します。

  • https://www.pdm.tokyo/sitemap.xml?page=1
  • https://www.pdm.tokyo/sitemap_page.xml

「sitemap.xml?page=1」を調査

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.pdm.tokyo/</loc>
<lastmod>2019-02-01</lastmod>
</url>
<url>
<loc>https://www.pdm.tokyo/about</loc>
<lastmod>2019-02-01</lastmod>
</url>
<url>
<loc>
https://www.pdm.tokyo/entry/201901/news-ntt-taishoku
</loc>
<lastmod>2019-01-29</lastmod>
</url>
以下省略
「/sitemap.xml?page=1」にて<loc>と</loc>で囲まれたもの
  • トップページのhttps://www.pdm.tokyo/
  • aboutページ(はてなブログの場合はデフォルトで用意されている)のhttps://www.pdm.tokyo/about
  • 書いてきたブログ記事の全て
https://www.pdm.tokyo/sitemap.xml?page=1」の正体

「/sitemap.xml?page=1」は、はてなブログのブログ記事のsitemapである。

「/sitemap_page.xml」を調査

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.pdm.tokyo/contact</loc>
<lastmod>2019-01-25</lastmod>
</url>
<url>
<loc>https://www.pdm.tokyo/about-site</loc>
<lastmod>2019-01-25</lastmod>
</url>
<url>
<loc>https://www.pdm.tokyo/privacy</loc>
<lastmod>2019-01-25</lastmod>
</url>
</urlset>
「/sitemap_page.xml」にて<loc>と</loc>で囲まれたもの
  • 固定ページで作成したものすべて
    • お問い合わせフォーム
    • 本ブログについて
    • プライバシーポリシー
https://www.pdm.tokyo/sitemap_page.xml」の正体

「/sitemap_page.xml」は、はてなブログのの固定ページのsitemapである。

「sitemap.xml」だと実際の記事数よりも登録URLが多い理由

ここまで来てやっと親子関係に気づきました。 「/sitemap.xml」は親sitemapであり、その下に子sitemapとして、ブログ記事のsitemap(/sitemap.xml?page=1)と固定ページのsitemap(/sitemap_page.xml)があるということを。

つまり!!

「sitemap.xmlの登録」 = 「/sitemap.xml?page=1 と /sitemap_page.xmlの2つの登録」を意味するんです!!!

本ブログの冒頭で述べた結論の通り、はてなブログのsitemapを登録したければ「sitemap.xml」を1つ登録すればよいということなんです。 「/sitemap.xml?page=1」だけ登録しても、ブログ記事のみの登録で、固定ページは登録されないということなんです。

次の章でまとめます!

【まとめ】はてなブログのsitemap構造

絵で理解するsitemap構造

f:id:pm-pdm:20190201224140p:plain
はてなブログのsitemap(サイトマップ)構造図

「/sitemap.xml」の正体は、「親sitemap = サイトマップインデックス」

この親sitemapのことをサイトマップインデックスというようです! 恥ずかしながら、親子関係を理解した後に、こういう命名がされていることが分かりました。

「/sitemap_index.xml」の正体は、「親sitemap = サイトマップインデックス」

これは、「/sitemap.xml」と全く一緒です。 そのため、このsitemapもサイトマップインデックスになります。 「/sitemap.xml」と全く一緒なので、「/sitemap.xml」を利用すればOKです。

「/sitemap.xml?page=1」の正体は、「子sitemap(ブログ記事のサイトマップ)」

1つのsitemapには、最大で50,000URLまで対応しているとのこと。 だから、50,001URL以降は、「/sitemap.xml?page=2」になるのではと想定。 ブログ記事だけなら、このsitemapで良い気もしますが、50,000以上の記事を作成する場合には、さらに子sitemap(/sitemap.xml?page=2)を送信しなくてはいけないので、親sitemapである「sitemap.xml」を送信するのが無難と結論を出しました。

「/sitemap_page.xml」の正体は、「子sitemap(固定ページのサイトマップ)」

これは、はてなブログの固定ページのsitemapです。 あくまでも、親sitemapである「sitemap.xml」に含まれるsitemapなので、別々に登録する必要はありません。 親sitemapである「sitemap.xml」を送信すればOKです。

sitemapが登録されない問題で悩んでいる方のお力になれたら幸いです。