======Sitemap====== =====sitemap generators===== googleのサイトマップ自動生成スクリプト。 これを利用して毎日サイトマップを自動更新するようにする。 ====sitemap_genのダウンロード==== 下記サイトからsitemap_gen_1.5.tar.gzをダウンロード sitemap-generators http://code.google.com/p/sitemap-generators/ 解凍した物の中にある、下記の3つのファイルを利用する * sitemap_gen.py * setup.py * example_config.xml example_config.xmlのファイル名は適当に変更しておく ====設定===== example_config.xmlを編集する。 ファイルのurl取得方法はいくつかあるがdirectoryタグを使って ディレクトリ内のファイルを一括登録してくれる方法を使う。 \\ cronで扱い易いのとsitemap_gen1.5からこの方法でも最終更新日、 優先順位を指定してくれるようになったため。 xmlの構成としては となる ===siteタグ=== * base_url サイトのトップページのurl *必須 * store_info サイトマップの出力先。xmlかxml.gzになっている必要がある *必須 * verbose デバック情報の詳細度 * suppress_search_engine_notify 1と指定するとgoogleにping送信をしなくなる * sitemap_type web,mobile,newsの3つ。デフォルトはweb ===directoryタグ=== * path ディレクトリの絶対パス *必須 * url pathに相当するurl * 必須 * default_file そのサイトのデフォルトファイル名 * remove_empty_directories trueかfalseで指定。デフォルトはfalse。 ===filterタグ=== * action passとdropのどちらかを指定。デフォルトはdorp * type フィルタの種類を指定。wildcardまたはregexp。デフォルトはwildcard * pattern フィルタリングする文字列の指定 *必須 ====example==== directoryで/var/wwwの中にあるファイルを一括取得するようになっている \\ filterでmt、バージョン管理の中にあるファイルは対象に含めないようにしている \\ ==== テスト==== テストは3つのファイルを同じディレクトリにおき、 siteタグにsuppress_search_engine_notify=1を追加、下記コマンドを実行する。 python ./sitemap_gen.py --config=example_config.xml --testing こうするとgoogleにpingを送信しないので正しくファイルが生成されているかだけを 確認できる ====サーバーに設置、設定==== 下記3つのファイルを同じディレクトリに置く * sitemap_gen.py * setup.py * example_config.xml これをcronで動作させるためのシェルスクリプトを用意 sitemap.sh #!/bin/sh cd /var/sitemap_gen /usr/bin/python ./sitemap_gen.py --config=example_config.xml んでcronに適当に登録。下の場合毎日3時10分にサイトマップ生成するように。 $ crontab -e 10 03 * * * /var/sitemap_gen/sitemap.sh