目次

,

/sitemap.xml が要求される

つらつらとログを眺めていると、/sitemap.xml を要求する bot さんが多いんですよね。/robots.txt に sitemap: って定義してるんだからそこ見てよ。そんぐらいしてくれないなら、キミはクロールしてくれなくてもいいよ……とか思わないでもなくもないんですけどね。

nginx の設定でどうにかする

単純に、こんな定義を nginx.conf に切ってあげればいいんですよね。

location ^~ /dokuwiki/sitemap.xml {
        rewrite
                /dokuwiki/sitemap.xml$
                /dokuwiki/doku.php?do=sitemap last;
}

うちの設定だと、reverse proxy の / はバックエンドの /dokuwiki/ に proxy されているので、バックエンド側でこんな設定を入れてみました。ただ、単にこれだけ設定すると応答で返すのが sitemap.xml.gz になっちゃうんですよね。ngx_http_gunzip_module モジュール組み込んで gunzip on; とか色々試したんですが、dokuwiki は Content-Encoding: gzip を設定してくれないのでスルーされてるっぽいです。

……gzip ぐらいは展開して読んでくれよとか思わないでもなくもn(ry どうなんでしょうね? これ gzip のまま送りつけても、世の bot さんは読んでくれるんですかね?

dokuwiki の設定でどうにかする

サイトの管理→高度な設定に「アーカイブの圧縮方法」なんてのがあるので、そこを「圧縮しない」にすれば sitemap.xml は圧縮されずに response されます。されますが……ん~スマートじゃないなぁ。どうにかならないものか。

結局のところ……

とりあえず gzip のまま投げ返してみることにしました。まぁ bot さん gzip ぐらいうまいこと捌いてよということで。