MoinMoinのコンテンツをsitemapにする方法

sitemap アクション

MoinMoin には action パラ メータがいくつか定義されている。そのなかに sitemap アクションがある。 適当なページの URL に

 ?action=sitemap

というパラメータを付けてやると Google sitemap プロトコルに対応したサイトマップデータ(XML文書)が出力される。ただしネームスペースが Google sitemap のバージョンなので、sitemaps.org が提唱するプロトコルに対応させるには xmlns を変更しなければならない。

MoinMoin に標準で付属する sitemap の action スクリプト MoinMoin/action/sitemap.py をベースに新たな action プラグインを作成して sitemaps.org に対応したサイトマップデータを出力できるようにした。

sitemapsorg.py というファイル名でプラグイン ディレクトリにコピーする。

cp $PYTHONPATH/MoinMoin/action/sitemap.py $INSTALLED_DATA_DIR/plugin/action/sitemaporg.py

xmlns の行を sitemaps.org のものに変更する。

5c5
<     Generate a URL list of all your pages (using sitemaps.org's sitemap XML format).
---
>     Generate a URL list of all your pages (using google's sitemap XML format).
74c74
<     result.append("""<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n""")
---
>     result.append("""<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">\n""")

sitemaps.py をサーバーにアップロードしたら、?action=sitemapsorg というパラメータを付けた URL にアクセスすると sitemaps.org プロトコル対応のサイトマップが出力される。このデータおよび URL は Google sitemaps でも Yahoo! Site Explorer でも使える。