はてなブログを定点観測と次の打ち手
前回、サイトマップインデックスがsitemap_index.xml
だと分かりましたが、それをGoogle Search Consoleに登録したところで、何も変わっていません。
まったく、どうなってるんや。
ということで、2020年6月はサイトマップを個別にバラバラに登録する大作戦に変えて、様子をみることにします。
サイトマップの実態とは
前回もちょっと触れましたが、サイトマップには、
- サイトマップがどこにあるかを示すファイル(sitemap_index)
- 記事がどこにあるかを示すサイトマップ(sitemap)
この2つがあります。サイトマップの実態の把握するには、sitemap_index.xml
をみれば分かります。
<loc>
タグの中身が、sitemap
の実態(記事ごとのURLが書いてあるファイル)です。
<sitemap> <loc>https://kanaxx.hatenablog.jp/sitemap_common.xml</loc> <lastmod>2020-05-30T11:03:19+09:00</lastmod> </sitemap>
<sitemap>
のかたまりがサイトマップの数だけあります。
ここに載っているURLをひとつずつコピーして、Google Search Consoleのサイトマップに登録すればいいだけです。
はてなブログのサイトマップは、月ごとに分割されているのでブログの運営日数により数が変わります。うちはまだ6個くらいなのでコピペで対応できますが、歴史が長いブログだと50個くらいでてきそうですね。やればできる!
がんばりましょう
スクリプト化しよう
(この先は、簡単なやり方が書いてあるだけです。この通りにやらなくてもSearch Consoleのサイトマップに登録さえすれば問題ありません)
といっても、年月ごとに分割したURLがサイトマップファイルがたくさんあるとコピペも大変なので、ちょっとでも簡単にする方法を考えました。
こんなjavascriptのファイルを作りました。
//自分のURLに変える let sitemap ='https://kanaxx.hatenablog.jp/sitemap_index.xml'; fetch(sitemap).then(function(response) { return response.text(); }) .then(function(xml) { let parser = new DOMParser(); let dom = parser.parseFromString(xml, 'text/xml'); let locs = dom.getElementsByTagName('loc'); let ans = ""; for(let i=0; i<locs.length; i++){ let loc = locs[i].textContent; console.log(loc); ans = ans + loc.split('/').pop() + "\n"; } console.log(ans); });
このコードの先頭部分にサイトマップインデックスへのURLがありますので、自分のサイトマップインデックスのURLに変えて下さい。
使いかた
ChromeでF12を押し、Console
を開きます。
Consoleに何か文字が書いてあるときは、×マークでクリアします。
コードを貼り付けて、enterを押すのだ!
Consoleの下のほうに、サイトマップのファイル名だけが抜き出されて表示されます。
あとは、このURLをGoogle Search Consoleに1つずつコピーして入れていきます。
ここは手作業をするしかないです。面倒ですけど1回やれば終わりますので頑張りましょう。全部入れたスクショがこれです。エラーであることに変わりはないですね。
一括で突っ込めるといいんですけどねぇ。それはサイトマップインデックスの仕事なので、あきらめましょう。
注意
月が替わると1つできる仕組みなので、新しい月を迎えたらサイトマップ登録する作業をしましょう。
1日早いけど6月分も入れておきました。どうせ見つけてくれないから同じでしょ!
まとめ
サイトマップインデックスでサイトマップ登録を終わらせようと思ったのですが、うまくいかないのでバラバラに登録する方法を試してみました。結果は半月後くらいですかね。
サイトマップインデックスがちゃんと機能すれば、こんな作業は必要ないのですよ。やらないよりはましかもな、くらいでやってみてください。 個別に登録したからといって、Googleがサイトマップを認識してドキュメントを拾ってくれるわけではないので、過剰な期待はしないほうがいいです。
その後
手作業では面倒なので、サイトマップを一括で登録するPHPのプログラムを作りました
kanaxx.hatenablog.jp