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モジュールが使えるようになってます。)

comment

Comment Form
remember info

trackback

trackback url
trackback count
0
Recent Entries
  1. Pathtraq API のページカウンタで複数のURLが指定出来るようになりました
  2. perlで気軽にsitemap.xmlを作る
  3. XULでCanvasエディターを作ってみた
  4. nsIObserverServiceを使って複数のobserverに通知を行う
  5. CGI::Application::Plugin::Cache::Adaptive Release
  6. Gearmanを使ってみた
  7. 「正しくHTMLを書こうと心がけている人に5つの質問」の回答
  8. Modules in Games-Nintendo-Wii-Mii
  9. Module-Starterのカスタマイズ
  10. JSON::DWIW vs JSON::Syck vs JSON
Archives
  1. 2008年08月 (1)
  2. 2008年02月 (1)
  3. 2007年06月 (2)
  4. 2007年05月 (1)
  5. 2007年04月 (4)
  6. 2007年03月 (2)

all

categories
RSS/Atom Feed
license
Creative Commons License
Powered by