サイトマッププロトコルにしたがったXML形式のサイトマップを作成できるモジュールです。インストールもコーディングも簡単です。サイトマップの作成は、アプリケーションやホームページなどさまざまなサイトを更新する際に行う作業ですので、このモジュールを使うことで運用が楽になるでしょう。

WWW-Sitemap-Simple の特徴

1) モジュールの依存関係が少なくインストールが簡単

依存するモジュールは次の通りで、比較的少ないと言えます。

Carp
Class::Accessor::Lite
Compress::Zlib
Digest::MD5
IO::File
IO::Zlib

2) コーディングは簡単

サンプルコードは次の通りです。url を追加する時にパラメータも一緒に定義するコードと、後で追加するコードとなります。write メソッドで指定するパラメータは、ファイル名でもファイルハンドルでも構いません。何も指定しなければ標準出力に出力します。

use WWW::Sitemap::Simple;

my $sm = WWW::Sitemap::Simple->new;
 
# simple way
$sm->add('http://example.com/');
 
# with params
$sm->add(
    'http://example.com/foo' => {
        lastmod    => '2005-01-01',
        changefreq => 'monthly',
        priority   => '0.8',
    },
);

# set params later
my $key = $sm->add('http://example.com/foo/bar');
$sm->add_params(
    $key => {
        lastmod    => '2005-01-01',
        changefreq => 'monthly',
        priority   => '0.8',
    },
);
$sm->write('./example.xml');

実行結果は次の通りです。

< ?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://example.com/</loc>
    </url>
    <url>
        <loc>http://example.com/foo</loc>
        <lastmod>2005-01-01</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>http://example.com/foo/bar</loc>
        <lastmod>2005-01-01</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
</urlset>

3) ファイル名の末尾を .gz とすると圧縮して出力する

ファイル名に拡張子 .gz を付けることで、自動的に圧縮して出力します。

$sm->write('./example.xml.gz');

WWW-Sitemap-Simple のインストール

次の通り cpanm を使います。

sudo cpanm WWW::Sitemap::Simple

繰り返し行う作業はくたびれますし、間違いの元になります。時間を無駄にせず、楽をして品質を向上に集中できるでしょう。

WWW-Sitemap-Simple は Perl製のオープンソース・ソフトウェア(Perl License)です。

WWW::Sitemap::Simple - simple sitemap builder

source code