ページ数無制限のジェネレータでsitemap.xmlをつくる

  • このエントリーをはてなブックマークに追加

sitemapをファイル数の上限なしに作成する方法のphpSitemapNGでうまくいってたんだけど、なぜかページ数が増えてきたら日本語タイトルのページが文字化けするようになってきた。
なおす方法もちょこちょこやってみたけど、めんどーだから他のサイトマップジェネレータ探してみたらいくつかあった。

探した条件は、無料でページ数無制限。

sitemapbuilder.NET
http://www.sitemapbuilder.net/
Windowsで動作。セットアップとかなしで.exe実行するだけで簡単。ただ動作が遅い

Rails3 sitemap_generator
https://github.com/kjvarga/sitemap_generator
はやそーだけどなんだかセットアップがよくわからん。また今度。

google公式?Sitemap Generator
http://sitemap-generators.googlecode.com/svn/trunk/docs/en/sitemap-generator.html
今回は、google公式っぽいジェネレータを使ってみる。

動作条件はPythonが動くサーバならok

セットアップ手順:
・ダウンロード
http://sourceforge.net/projects/goog-sitemapgen/files/latest/download?source=files

・ダウンロードしたファイルを展開して、example_config.xmlを開いて別名で保存。
これが設定ファイルになるから サイト名_config.xml とかが便利。

・サイト名_config.xml に設定を書く
このファイルたくさんのコメントで説明記載されてて、設定する部分は数行だけ
上から順にいくと、

<サイトマップ作成する場所の指定>
base_url=”http://www.ドメイン.com/”
store_into=”/サーバのルートからの絶対パス/sitemap.xml”  
verbose=”1″
>

<サイトマップ出力形式の指定>

href=”http://www.ドメイン.com/”
changefreq=”weekly”
priority=”0.5″
/>

<パスの指定>
path=”/サーバのルートからサイトマップを作成するサイトのルートまでの絶対パス/”
url=”http://www.ドメイン.com/”
default_file=”index.html”
/>

<アクセスログの指定>
<accesslog ?path=”/アクセスログ置く場所のサーバルートからの絶対パス/logs/access.log” ? ? ? encoding=”UTF-8″ ?/>

<accesslog ?path=”/アクセスログ置く場所のサーバルートからの絶対パス/logs/access.log.0″ ? ? encoding=”UTF-8″ ?/>

<accesslog ?path=”/アクセスログ置く場所のサーバルートからの絶対パス/logs/access.log.1.gz” ?encoding=”UTF-8″ ?/>

<サイトマップ生成後の置く場所を指定>

<sitemap ? ?path=”/サイトマップ置く場所のサーバルートからの絶対パス/sitemap.xml” />

<サイトマップ作成から除外する項目の指定>
<filter action=”drop” type=”wildcard” pattern=”*/除外するフォルダ名/*” />

<filter action=”drop” type=”wildcard” pattern=”*.除外する拡張子名” />

aaaaa というフォルダはブロック、そのフォルダにあるhtmlファイルは登録する設定

<filter action=”pass” type=”wildcard” pattern=”*/aaaaa/*.html” />

<filter action=”drop” type=”wildcard” pattern=”*/aaaaa/*” />

dropを先の行に書くとaaaaaフォルダ以下すべてがブロックされてしまうから注意。

・設定書いたら保存して、sitemap_gen.py と 書き換えた設定ファイルサイト名_config.xml の2ファイルをサーバの任意の場所にアップロード。

・ssh接続でサーバに接続
local$ ssh <アカウントID>@<ドメイン名>

・sitemap_gen.py を置いた階層まで移動してひとまずテストコマンド入力
python sitemap_gen.py –config=サイト名_config.xml –testing

errorが表示されなければok

・作成されたサイトマップをダウンロードして開いて、余計なものが入っていないか確認。入っていれば除外する項目指定に追加。
完成したら

python sitemap_gen.py –config=サイト名_config.xml

で、googleにサイトマップ通知されてめでたしめでたし。 Pythonの動作ちょっぱや

スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク

コメントを残す