クローラーに登録しようとして 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('/');
normalize
で glob
がとってきたパスを 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 では データを処理しています。数日後にもう一度ご確認ください
と表示されるので、おとなしく数日待ってみる予定。