perlで気軽にsitemap.xmlを作る
sitemap.xmlとは、検索エンジンに対してクロールして欲しいURLを指定したり、その指定したURLの優先度を設定したりする事が出来るXML Formatの事です。
このXMLをサイト上に置いて、Google WebMaster Tool等で通知したり、robots.txtでSiteMapのLocationを指定する事によって、検索エンジンクローラが自動的にsitemap.xmlの場所を認識して、そのxmlファイルを参考にクロールしてくれるでしょう。
今回はこのsitemap.xmlをperlで動的に書く方法です。
いきなりですが結論です。
WWW::Google::SIteMapモジュールを使いましょう。
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Google::SiteMap;
use WWW::Google::SiteMap::URL;
my $map = WWW::Google::SiteMap->new();
$map->add(WWW::Google::SiteMap::URL->new(
loc => 'http://sample.com/',
priority => 1.0,
changefreq => 'daily',
));
print $map->xml;
こんな具合で簡単に出来てしまいます。例えばWebアプリケーションの場合だと複雑なクエリパラメータがついていたり、あるいはPATH_INFOをゴリゴリ弄ったりしてURL文字列を生成しているなんてケースもあるかと思いますので、WebアプリケーションでそのようなURL生成ルーチンがある場合は、動的に生成してしまった方が良いシーンもあるかと思います。
WWW::Google::SiteMap::URLモジュールのpodに各url要素に指定出来る値に相当するアクセサがありますので、詳細はそちらの方でご確認下さい。(ちなみに最終更新日にDateTimeモジュールが使えるようになってます。)
trackback
- trackback url
- trackback count
- 0
comment