静的HTMLファイル用のGoogle Sitemap生成

Linux前提の力技ですが、手作業でやるよりは圧倒的に早い。

動的ページでも、応用は出来るかもしれません。。。

手順:

  1. findでhtmlファイルをリスト抽出
    1. $ find . -type f | grep .html | grep -v .svn > sitemap.xml
  2. ファイル名をURLへ置換
    1. vimのコマンドラインで、^./をURLへ置換する
    2. 「%s!^./!http://www.thekyo.jp/manual/!g」
  3. URLをGoogle Sitemapの<url>フィールドの形式に置換
    1. vimのコマンドラインでURLを置換する
    2. 「%s!^\(.*\)$!<url>\r<loc>\1</loc>\r<lastmod>2011-05-13T00:00:00+00:00</lastmod>\r<priority:    >1.0000</priority>\r</url>\r!g」
  4. ヘッダ、フッタを付けて完了

 

完成例:


&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;urlset xmlns="http://www.google.com/schemas/sitemap/0.84"&gt;

&lt;url&gt;

&lt;loc&gt;http://www.thekyo.jp/manual/pear/core.ppm.pear-validate.validversion.html&lt;/loc&gt;

&lt;lastmod&gt;2011-05-13T00:00:00+00:00&lt;/lastmod&gt;

&lt;priority&gt;1.0000&lt;/priority&gt;

&lt;/url&gt;

&lt;/urlset&gt;

 

この方法で、1万以上ある静的ページのsitemap.xmlが2分くらいで完了します。

やはり、vimは便利。