はてなブログのサイトマップをGoogle Search Consoleに登録した際、ステータスが "取得できませんでした" になる問題を、ついに解消することができました。
手順を紹介します。
はじめに
こんにちは、@bioerrorlogです。
はてなブログ上で本ブログを開設して2年が経とうとしていますが、Google Search Consoleにサイトマップを正しく送信できていない状態がずっと続いていました。
はてなブログにこのようなサイトマップ送信の不具合があるのはよく知られた話でしたが、今回この長年の問題を解消できました。
次のように、全てのサイトマップのステータスを "成功しました" にすることができています。
本記事では、このように全サイトマップが正しく送信されるまでに至った手順を説明します。
同様の問題を抱える方々に対して再現性があるかは分かりませんが、少しでも参考になれば幸いです。
サイトマップの"取得できませんでした"状態を解消する
結論としては、以下の4つの手順を実行しました:
- サイトマップを送信する
- "取得できませんでした"該当月の記事を更新する
- 更新した記事のURLで"インデックス登録をリクエスト"する
- 該当月のサイトマップを再送信する
以降、これら一つ一つの手順を解説します。
1. サイトマップを送信する
まずは、サイトマップをGoogle Search Consoleに送信します。
送信したサイトマップは以下の3種類です。
/sitemap.xml
/sitemap_index.xml
/sitemap_periodical.xml?year=[yyyy]&month=[mm]
/sitemap.xml
は他のサイトマップが内包された一番上流のサイトマップです。
/sitemap_index.xml
も同様の中身になっています。
そして /sitemap_periodical.xml?year=[yyyy]&month=[mm]
は、実際のブログ記事URLが月ごとに記載されたサイトマップです。
例えば /sitemap_periodical.xml?year=2020&month=12
のように、 記事の投稿があった月分のサイトマップが生成されています。
上記3種のサイトマップを、まずは全てGoogle Search Consoleに送信しました。
2. "取得できませんでした"該当月の記事を更新する
サイトマップを送信しても、最初は上手く認識されません。 半数ほどが、ステータス:"取得できませんでした"の状態にありました。
そこで次に行ったのが、過去記事の更新です。
ステータス:"取得できませんでした" の状態になっている /sitemap_periodical.xml?year=[yyyy]&month=[mm]
の該当月の記事をどれか一つ更新しました。
あまり大きな更新をしたわけではありません。 読み返しながら言葉遣いを直したり、章立てを変更したりした程度です。
3. 更新した記事のURLで"インデックス登録をリクエスト"する
続いて、更新した記事をGoogle Search Consoleからインデックス再登録します。
Google Search Consoleの"URLを検査"ボックスから該当記事のURLを送信し、 "インデックス登録をリクエスト" をクリックします。
この操作が完了すれば、多くの場合で該当月のサイトマップ /sitemap_periodical.xml?year=[yyyy]&month=[mm]
が正しく登録されるようになりました。
まだ上手くいかない場合は、次のステップに進みます。
4. 該当月のサイトマップを再送信する
単体記事のURLを再リクエストしてもサイトマップの登録状況が改善しない場合、該当月のサイトマップ/sitemap_periodical.xml?year=[yyyy]&month=[mm]
を再送信します。
再送信してからしばらく経過すると、サイトマップが正しく登録されていました。
以上の操作を、正しく登録されていないサイトマップ分繰り返すことで、全てのサイトマップを登録させることができました。
おわりに
今回は、はてなブログのサイトマップをGoogle Search Consoleに正しく登録させる手順を書きました。
それほど実害は感じられないものの、ずっとサイトマップが正しく読み込まれていない状態だったのは気掛かりでした。 この問題を解消できたことで、心残りが晴れてスッキリしました。
再現性は保証できませんが、同じ問題に遭遇している方のお役に立てば幸いです。
[関連記事]