つらつらとログを眺めていると、/sitemap.xml を要求する bot さんが多いんですよね。/robots.txt に sitemap:
って定義してるんだからそこ見てよ。そんぐらいしてくれないなら、キミはクロールしてくれなくてもいいよ……とか思わないでもなくもないんですけどね。
単純に、こんな定義を 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 さんは読んでくれるんですかね?
サイトの管理→高度な設定に「アーカイブの圧縮方法」なんてのがあるので、そこを「圧縮しない」にすれば sitemap.xml は圧縮されずに response されます。されますが……ん~スマートじゃないなぁ。どうにかならないものか。
とりあえず gzip のまま投げ返してみることにしました。まぁ bot さん gzip ぐらいうまいこと捌いてよということで。