サイトマップとかクローラーの登録

October 28, 2018 2 min read

クローラーに登録しようとして robots.txt を書いているときに、サイトマップを作ってないことに気づいた… サイトマップは、どんなページがあるとか書いたサイト内の地図みたいなもの。

クローラーは、検索エンジンが情報を収集するためのロボットのことだが、これを忘れると Google 検索とかで出てこないので注意。ただ、外部からのリンクを貼ってれば自動的に巡回してくれるらしい?( Github のプロフィールに書くなど)

サイトマップを作るにあたり、できるだけ省力化し(サボり)たかったので、とりあえず gg る。 nextjs generate sitemap で検索すると evantahler 氏の buildSitemap.js が引っかかったのでそれを使う。ただ、これは生の Nextjs 用だったのでちょっと書き換えた。

書き換えたスクリプトは 49 行もあったので gist においておく。

主に書き換えたのはグローバル変数系 (SOURCE とか)と、 Windows の path 対応。( glob モジュールは win 対応していないため。)

page = path.normalize(page);

page = page.split(path.sep).join('/');

normalizeglob がとってきたパスを windows 形式に書き換え。パスを操作したあとに、いつもの split+join で unix 形式に戻しているだけ。

肝心のクローラーへの登録は Google Search Console で行える。自分がサイト所有者だと証明するためにいくつかの方法から選ばなければいけないが、このサイトに関しては、 Gtag をつけていたので何も操作せず登録できた。

あと、一応 robots.txt にも sitemap.xml を記述。

User-agent : *
Disallow :
Sitemap : https://nshun.net/static/sitemap.xml

Google Search Console では データを処理しています。数日後にもう一度ご確認ください と表示されるので、おとなしく数日待ってみる予定。


Written by Shun Nishimura.

© Copyright 2020 Shun Nishimura - All Rights Reserved