# Perl で Sitemap 生成するモジュール WWW::Sitemap::Simple 書いた {{tag: perl, cpan}} Sitemap ファイル生成するとき、いつもリスト生成して、XML 適当に埋めてファイルに書いてってのを毎度やってたのだけど、もうだいぶめんどいのでモジュールにした。実は、Perl には Sitemap を扱うモジュールがいくつかあるのだけど、依存が激しかったりインターフェースがなんかよくわからなくて、自分が扱いたい感じじゃなかったのでさくっと書いた。 {{cpan: WWW::Sitemap::Simple}} use WWW::Sitemap::Simple; my $sm = WWW::Sitemap::Simple->new; $sm->add('http://example.com/'); # add with params $sm->add( 'http://example.com/foo' => { lastmod => '2005-01-01', changefreq => 'monthly', priority => '0.8', }, ); $sm->write('sitemap/file/path'); オブジェクトに url ばんばん `add` して最後に `write` すればOK。 `write` メソッドは何も渡さなければ STDOUT に吐き出すけれど、ファイル名を渡すでもいいしファイルハンドルを渡すでもいいし、ファイル名のケツを .gz にしとくと圧縮して出力とかしてくれる。 ちなみに自分は sitemap index は生ファイルで生成することが多い。URL 羅列するだけで良いので最も楽。sitemap 自体はいろいろ面倒だったんだけど、これでだいぶ楽になった。