======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