【ブログ運営】はてなブログの場合ってGoogle Search Consoleのサイトマップは何を送信すればいい?【サイトマップはてなブログ編】

スポンサーリンク

f:id:tsukumoshigemura:20191228135500p:plain
今回の記事はサイトマップ基礎編に続く
サイトマップはてなブログです。

とりわけ、はてなブログユーザーは
このサイトマップに悩まされることが多いイメージがあります。

Googleアドセンスの申請をした人に限るのでしょうが
Google Search Consoleサイトマップを送信しても
いつまでたっても読みこまれなかったり
サイトマップインデックスも複数ある情報があって
一体どれを登録したらいいのかわからない。

そんな経験をされた人、少なくないと思います。

そんな何者だかよくわからないサイトマップについて
基礎的な情報をまとめた記事が
サイトマップ基礎編
であり、
本記事ははてなブログユーザー向けに特化した
記事
としてまとめてみました。

途中から私の邪推も入ってはいますが
この記事を読むことによって
サイトマップで悩んでいるユーザーが
軽い気持ちでサイトマップと向き合えるようになれたら

という思いで書いています。
また、なるべく専門的になり過ぎないよう
心掛けたつもりです。

本記事は、はてなブログユーザーではない方にとって
あまり関係してこない内容が多いかもしれませんが
別の視点からの気づきがあったりするかもしれませんので
読んで頂きご意見等を頂けると非情に助かります。

また今回の記事を書くにあたっては
技術サイトのみからの情報を元にしています。
参考にしたサイトについては末尾にまとめていますので
興味持たれた方はそちらも参照してみてください。
では今回のお品書きはこちらです。

0.本記事を読むにあたっての注意事項とお願い

この記事は2019年12月21日時点での
サイトマップの技術的情報を元に記載した記事です。
前述の通り、参考にしたサイトのURLについては
本記事末尾に記載しています。

今後、サイトマップGoogleの仕様変更によって
本記事に記載の情報とは
マッチしない状態になる可能性はあります。
その都度見直しをかけて
記事の最新化をしたい気持ちはありますが
なにぶん趣味の範疇でのことなので
その時に置かれている状況によっては
更新が遅れたり、
最新の情報に気づかず、
不整合なまま放置した状態になるかもしれないこと、
ご承知おきください。

最新の情報との不整合に気づかれた方、
あるいは現状そもそも間違ってる箇所を見つけた方は
コメントやお問い合わせフォーム等で
ご連絡を頂けると助かります。

また、更新をかけた場合は、
本章に追記する形で
更新履歴を記載する予定です。

更新履歴

  • 2020年1月14日 はてなサポートからの回答内容を以下に反映
    ・「1.5.もう一つのサイトマップインデックスsitemap.xmlは何故存在するのか」に「はてなサポートからの回答」を追記
    ・「2.まとめ」冒頭に記載の要点、項番1を修正
  • 2019年12月22日 初版作成

1.はてなブログにおけるサイトマップ

サイトマップ基礎編の記事で
基本的な知識を得られたのではないでしょうか。
得られなかった場合は、
私の文章力の無さが原因です、すみません(笑)

まだサイトマップ基礎編を読まれていない方は
是非読んだ上で本記事を読みに戻ってきてください。
その方が内容の理解が早いと思います。
tsukumogatari.hatenablog.com
このサイトマップの記事を書くことにしたきっかけは
そもそもが、はてなブログにあります。

おそらくレンタルサーバーを借りて
ワードプレスなどでブログを書いてたりしたら
この記事を書くことはなかったでしょう。

サイトマップに関してトラブルがあるのは
はてなブログユーザーが多く、
ワードプレスでブログを書いているユーザーが
何か困っているっていう情報をあまり見聞きしていません。

実際に、私もGoogleアドセンス申請中の頃とかは
サイトマップはよくわからない得体のしれぬ者
といったイメージが強かったことは確かです。

1.1.はてなブログでのサイトマップの構造

はてなブログだからといって
サイトマップが特別っていうわけではありません。
ただし、例えばサイトマップのファイル名や
サイトマップの管理の仕方(サイトマップインデックスを使うかどうかなど)については
ブログサービス側の仕様によるところとなります。
だとしても、もちろんサイトマップの標準仕様に従ったものですけどね。

またサイトマップの中身の記述については
どのブログサイトであろうと記述方法に変わりはないので
その辺について触れることはありません。
ここでは、はてなブログでのサイトマップおよびサイトマップインデックスが
どのようなファイル構成になっているのかを見ていきます。

そしてはてなブログの場合は
基本的に利用者がサイトマップを作ることはありません。
自動で作られる仕組みになっています。
クローラーサイトマップを指定するrobots.txtも同様です。

ではまずrobots.txtを確認して
サイトマップまたはサイトマップインデックスに
何が指定されているかを見てみましょう。

以下は私のサイトのrobots.txtの内容です。

User-agent: *
Sitemap: https://tsukumogatari.hatenablog.com/sitemap_index.xml
Disallow: /api/
Disallow: /draft/
Disallow: /preview

User-agent: Mediapartners-Google
Disallow: /draft/
Disallow: /preview

「Sitemap:」にはサイトマップインデックスの
sitemap_index.xmlが指定されています。
つまりGoogleクローラーには
このサイトマップインデックスを参照してくださいね
と言ってるわけですね。

そして実際にこのサイトマップインデックスに記述されているのがこちら。

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://tsukumogatari.hatenablog.com/sitemap.xml?page=1</loc>
    <lastmod>2019-12-20T13:00:05+09:00</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://tsukumogatari.hatenablog.com/sitemap.xml?page=2</loc>
    <lastmod>2019-12-20T13:00:05+09:00</lastmod>
  </sitemap>
</sitemapindex>

ここでもしかしたら
サイトマップの基礎編を読んだ方の中には
違和感を覚える、
あるいは何かに気づくかもしれませんが
とりあえずそれには触れずに話を進めます。

以上を踏まえた上ではてなブログにおける
サイトマップインデックスと
サイトマップの構成はこちらの図のような
イメージになります。
f:id:tsukumoshigemura:20191222161817p:plain
サイトマップインデックスのsitemap_index.xmlでは
大きな括りでいうと、
通常記事のURLを管理するsitemap.xml?page=n
固定ページを管理するsitemap_page.xml
2種類のサイトマップを管理しています。

固定ページははてなブログProで使えるページ
お問い合わせだったりプライバシーポリシーだったり
普遍的に変わらない内容のページを記述するためのものです。
従って、私のようにはてなブログ無料版を利用している方の場合には
sitemap_page.xmlは存在しない
のです。
※ただし中身がないだけで実はsitemap_page.xmlにはアクセスできるんですが
それはちょっとまた別の話です。

通常記事を管理するサイトマップsitemap.xml?page=nの"n"は
1から始まる整数であり、
サイトマップ1ファイルで管理する記事数が100件を超えると
nに1が加えられたサイトマップファイルが増える
のだと思います。

つまり記事が100件を超えていないブログの場合、
sitemap.xml?page=1の1ファイルのみのはずです。

そして、このsitemap.xml?page=1には
必ずトップページのURLとaboutページはてなブログの自己紹介的ページ)
含まれています。

この2つの記事は記事数の上限値には含められていないようで、
実際にはsitemap.xml?page=1に記述されているURLの数は102件になり、
sitemap.xml?page=2からは100件となります。

私のサイトだとまだ記事数が200件超えていませんが
他の方のブログで記事が200件を超えるサイトマップで確認済みです。
ついでに言うと、最新記事はn=1になります。
nが大きくなればなるほど古い記事のURLが管理される
という仕様のようです。

これではてなブログでのサイトマップインデックスと
サイトマップの構造については理解できたと思います。

1.2.はてなブログには何故か2つサイトマップインデックスが存在

ところがここで一つ疑問が沸いてくる方はいますか?
私はサイトマップの基礎編のところで見せた
サイトマップインデックスはsitemap.xmlでした。

しかし、今回はrobots.txtに記載のあるsitemap_index.xml
見てもらっていますね。
実は、sitemap.xmlもsitemap_index.xml
内容は同一のサイトマップインデックスなんです。

はてなブログをご利用している方は
実際にご自分のサイトマップインデックスを
見比べてもらえば一目瞭然です。
ファイル名が違うだけで、中の記述は一緒なんです。
※大事なことなので2回同じことを言ってます(笑)

でも私はサイトマップ基礎編のところで
Googleクローラーrobots.txtに記載のサイトマップインデックスを参照する」
みたいなこと書いていましたよね?
であるならば、sitemap_index.xmlが正規なサイトマップインデックス
と考えられます。
そしたらsitemap.xmlってなんなの?って話です。

1.3.はてなブログで管理すべきサイトマップはどちらなのか

そもそも
なんで2つのサイトマップインデックスが
存在してしまっているのかは
よくわからないところですが
あるものは仕方ありません。
はてなブログ側の仕様として考えるしかありません。
では、一体どちらを正規なサイトマップインデックスとして
扱えばいいんでしょうか。

とりあえずまずは私のサイトマップインデックスの状態を
Google Search Consoleで見てみましょう。
f:id:tsukumoshigemura:20191222161636p:plain
いずれのファイルもステータスは「成功しました」
となっていますが、
sitemap_index.xmlの方は
検出されたURLが0件です。
一方で、sitemap.xmlの方は
サイトマップインデックスを読み込んだ際のサイトマップ
記述されていた検出されたURLの総件数と一致しています。

すなわち、
sitemap.xml?page=1の検出されたURLが102件、
sitemap.xml?page=2の検出されたURLが40件、
よってサイトマップに定義されている件数は142件であり、
sitemap.xmlの検出されたURLはその合計値142件になっていますね。

ということは、サイトマップインデックスは
sitemap.xmlが正しい??

しかし、私は本来正規なサイトマップインデックスは
robots.txtに記載されている
sitemap_index.xmlでなければならない
と考えています。
robots.txtの仕様とクローラーの仕様を考えると
理論的に正しいのはsitemap_index.xmlのはずです。

それにファイル名もサイトマップインデックスであることが
わかりやすい名称ですよね。
そしてsitemap.xmlの方はその名の通り
本来サイトマップとしての役割を持つファイルなんだと思います。

しかし、なんでsitemap_index.xml
一度読みこんだ形跡があるのにも関わらず
その後送信しても正常に読み込めないんでしょうか。

この辺りからは私の推測がかなり入ってきますので
そこは承知で読み進めてください。
簡単に検証ができないので、
現状ではエビデンスもなく根拠の薄い推論となっています(笑)

1.4.sitemap_index.xmlが正常に読み込まれない理由の推測

この状態になっているのは
Googleアドセンス申請時に
どこかのサイトでこのサイトマップもあのサイトマップ
登録した方がいいといった情報を見つけて
片っ端からサイトマップまたはサイトマップインデックスを
登録してしまったことが原因のような
気がしています。
特に一番最初に私がGoogleアドセンスの申請した時は
2記事しか書いてない状態で申請しています。
tsukumogatari.hatenablog.com
かなり舐めています(笑)
つまり、サイトマップについての知識もですが
Googleアドセンスについてほぼ無知な状態で
たいした努力をせず他力本願で対処した結果、
このようなよくわからない状態になっているのではと
考えています。

ちなみに私の場合はsitemap_index.xml
最終読み込み日時が古いままで
それ以降読み込んでくれていない状態
ですが
逆のケース、つまり
sitemap.xmlの方が検出されたURL0件になっているケースも
見たことがあります。

基本的にsitemap_index.xmlもsitemap.xml
サイトマップインデックスとしての定義は
構文的に間違っていません。
いずれにサイトマップインデックスも
最新のファイルが読み込まれたら
正常にURLが検出されないとおかしい
です。
実際、検索エンジンbingの場合は
両方のサイトマップインデックスを正しく読み込み
URLも正常に検出しています。

じゃぁなんでGoogleの場合は
片方のサイトマップインデックスしか
読み込まれないのか。

それはサイトマップインデックスは
一つでいいからだと考えています。
Google側のシステムが
実際どういうアルゴリズムでそれを決定しているかは不明ですが、
複数のサイトマップインデックスが存在している場合、
どちらか先に読み込んで正常に取り込めれば
それを正しいサイトマップインデックスとして処理を完了し、
他にも存在したサイトマップインデックスは
無視するのでは
ないかと考えています。

だってそれで事足りますからね、仕様上。

サイトマップインデックスが複数あることは想定もしてないと思います。
サイトマップの仕様にありませんから。
そしてさらに考えられるのは、
1つのサイトマップインデックスの処理を完了したら、
他にあるサイトマップインデックスの情報は
クリアしてしまう可能性がある
ことです。
そもそも仕様にない想定もしていない状態なので
充分ありうると思います。

ここで私のサイトのsitemap_index.xmlのレポートを
もう一度Google Search Consoleで見てみましょう。
f:id:tsukumoshigemura:20191222161357p:plain
最終読み込み日時が2019/6/11になっていますから
この日に取り込んだサイトマップインデックスに定義されている
サイトマップには6/10までに投稿した4記事のURLが
含まれていたはず
です。
でもそれが検出されなかったかのようになっています。
私がクリアしてしまう可能性があると述べた理由がこれです。

複数のサイトマップインデックスがある場合も
処理対象として全て含めるものの
1つのサイトマップインデックスで
URLを正常に検出してしまえばそこで処理をやめてしまい
未処理のサイトマップインデックスの情報が
不完全な情報で残ってしまう。

これが、このおかしなレポート状況になっている原因ではと
推測しています。

1.5.もう一つのサイトマップインデックスsitemap.xmlは何故存在するのか

これに関しては正直わかりません。
完全にはてなブログ仕様だと思うんですが、
私は何かしらの過去の不具合の対処で
このsitemap.xmlも作るようにしまった結果、
直せなくなったんじゃ?とか邪推しています。
これは本当に邪推です(笑)
実際は何か意味があるのかもしれません。
一応この件については
はてなブログ側に質問を送ってみていますが
明確な回答はないかもしれませんね。
あんまり期待はしていません。

それと、sitemap.xmlについては
サイトマップの生成含めて考えていることはあるんですが
ちょっと説明が難しくなっちゃうので
今回の記事ではやめておきます。
もしも興味がある方はTwitterのDMにでも連絡してください(笑)

はてなサポートからの回答
2020年1月9日にサイトマップに関する質問の回答がありました。
以下は、メール回答の引用です。

2つのサイトマップインデックスが存在しているのは過去に sitemap.xml を提供していた経緯によるものとなります。
この古いサイトマップインデックスをユーザー様が何らかのサイトに登録している可能性も考え現在も残している状態です。

ご指摘の通り robots.txtにてサイトマップインデックスに sitemap_index.xml を指定しており、特に問題のない状態であると考えております。

要するに、現状はてなブログ側で正規のサイトマップインデックスとして扱っているのは
sitemap_index.xmlということですね。
robots.txtで指定している時点で明らかではありますが
一応運営側とも認識が一致したという意味でこちらの回答も本記事に載せました。
ちなみにメールの回答内容を記事で公開することについては、はてなサポート側から許可を頂いています。

1.6.Googleアドセンスの不承認理由「サイトの停止または利用不可」との関係性

これも全く持って根拠が薄い推測になるんですが
サイトマップインデックスが複数存在することが
Googleアドセンスの不承認理由「サイトの停止または利用不可」に
影響しているのではないか
と懸念しています。

Googleアドセンスの不承認理由で
はてなブログ利用者が最も苦しめらるのが
「サイトの停止または利用不可」かも
しれません。
それに関連した内容の記事もこちらで書かせて頂きました。
tsukumogatari.hatenablog.com
※この時の結論は結局わかりません、でしたけど(笑)

このあんまり根拠がない推論を書いていくと
専門的な情報を説明していく作業も必要になるので
今回の記事では詳しくは書きませんが、
はてなブログの場合だけ
やけに「サイトの停止または利用不可」が頻繁に返ってくるのって、
やっぱり他と違うところがあるからだと思うんですよね。
そう考えると、サイトマップインデックスが複数あることが
ネックになっているのも考えられるのかなと。
インフラ周りの問題もあるのかもしれませんが。

1.7.まとめる前に検出されたURLについて補足

私のサイトマップインデックスから検出されたURLは
前述のとおり142件ですが、
最新の件数はトップページとaboutページも含めると144件です。
サイトマップの記事2件を投稿する前の件数です。

全然数違うじゃん
て思うかもしれませんが、合っているんです。
なんで合っているかを
もう一度、Google Search Consoleを見ながら
確認してみましょう。
f:id:tsukumoshigemura:20191222161144p:plain
読み込まれたsitemap.xml?page=1とsitemap.xml?page=2の
最終読み込み日時を見てください。
sitemap.xml?page=1が2019/11/26
sitemap.xml?page=2が2019/11/25です。
つまり、ここで検出しているURLは
この日時で読み込んだ際のサイトマップの情報なので
このサイトマップを読み込んだ時までに
投稿された記事のURLが対象になります。

実際に件数まで確認するのはちょっと手間がいるので
そこまで確認はしていませんが、
幸い私は面倒くさがって記事の投稿URLを
西暦年日時分からなるデフォルトのURLで生成しているため(笑)、
2019/11/26前後に投稿した記事を確認し、
Google Search Console上のカバレッジ
「すべての送信済みページ」のレポートと比較して
正しそうなことを確認しています。

なのでGoogle Search Console上で
サイトマップインデックスの検出されたURLが
『記事もっと書いてるのに少なすぎない?』
なんて思った時は読み込み日時を確認してみてください。
おそらく読み込み日時が直近の日付ではないはずです。

2.まとめ

ここまでツラツラと書いてきましたが
今回の記事の要点は以下のようになります。
※2019年1月9日のはてなサポート回答内容を踏まえて項番2を修正しました。

  1. はてなブログサイトマップインデックスはrobots.txtに記載されているsitemap_index.xmlが正規のもの
    ※sitemap.xmlは過去に提供していたものであり無視して構わない
  2. はてなブログサイトマップsitemap.xml?page=nsitemap_page.xmlの2種類ある
  3. sitemap.xml?page=nの"n"は1から始まる整数でURLが100件超えるとnに1が加えられたサイトマップが追加される
  4. sitemap.xmlサイトマップインデックスとして存在するがGoogle Search Consoleなどで送信しない方がいい

4番目に関しては真偽定かではありませんが、
余計な情報は余計な不具合を生み出す元でもあるので
必要な分だけで十分だと思います。

そしてサイトマップの基礎編も含めたまとめがこちらです。

サイトマップが読み込まれなくても
Googleはクロールしてくれるから
そこまで気にする必要なし!
インデックス登録も
記事個別にサチコ(Google Search Console)で申請しちゃった方が速い!

Googleアドセンスの審査との関連性はあるのかどうか
現状なんともいえないところでもあるので
こちらについてはもう少し考察とデータが必要です。
また、はてなブログ運営に確認中の質問が3件ほどあるので
そちらの回答が届いたら
本記事の内容をもう一度精査するかもしれません。

では最後に宣伝をして〆させて頂きます。

普段は歴史人物の記事を主戦場としつつ
15分で文章をまとめる15分ライティング
ブログ運営Amazon関係の記事も書いたりしているので
こちらのカテゴリーの記事もご覧頂けますと幸いです。
tsukumogatari.hatenablog.com
tsukumogatari.hatenablog.com
tsukumogatari.hatenablog.com
tsukumogatari.hatenablog.com
tsukumogatari.hatenablog.com

では今回はこの辺で。
ここまで読んでいただきありがとうございました!

参考資料

今回の記事を書く上で参考にしたサイトの一覧は以下になります。
さらに深く内容を知りたい方は
こちらのサイトも確認してみてくださいね。

サイトマップについて - Search Console ヘルプ
sitemaps.org - Home
Sitemaps - Wikipedia
クローラ - Wikipedia
Google 検索の仕組み - Search Console ヘルプ
Robots.txt の仕様  |  Google 検索デベロッパー ガイド  |  Google Developers