XMLサイトマップジェネレーターを探しています。これはコマンドラインからトリガーでき、nginxをサポートし、Linuxで動作します)(Debian)。何をお勧めできますか?
これをグーグルでやってみましたか?最初のページの最初の結果:
https://code.google.com/p/sitemap-generators/wiki/SitemapGenerators
編集:
コメント通り、私は次のサイトマップジェネレーターを試しました。
http://sitemap-generators.googlecode.com/svn/trunk/docs/en/sitemap-generator.html
ダウンロードしたZipバンドルには、いくつかのファイルが含まれています。
drwxr-xr-x 19 user group 646 Apr 10 05:22 .
drwxr-xr-x 3 user group 102 Apr 10 05:12 ..
-r--r-----@ 1 user group 23 Jun 16 2005 AUTHORS
-r--r-----@ 1 user group 1791 Jun 16 2005 COPYING
-r--r--r--@ 1 user group 2267 Dec 5 2005 ChangeLog
-rw-r--r--@ 1 user group 258 Dec 5 2005 PKG-INFO
-r--r--r--@ 1 user group 1111 Dec 5 2005 README
drwxr-xr-x 3 user group 102 Apr 10 05:16 build
-r--r--r--@ 1 user group 5662 Sep 7 2005 example_config.xml
-r--r-----@ 1 user group 996 Jun 16 2005 example_urllist.txt
-r-xr-xr-x@ 1 user group 317 Dec 5 2005 setup.py
-r-xr-xr-x@ 1 user group 73063 Dec 5 2005 sitemap_gen.py
-r-xr-xr-x@ 1 user group 28551 Sep 7 2005 test_sitemap_gen.py
提供されているexample_config.xmlを使用して、次の方法で変更しました。
<?xml version="1.0" encoding="UTF-8"?>
<site
base_url="http://YOURDOMAIN.com/"
store_into="/var/www/sitemap_gen-1.4/sitemap.xml"
verbose="1"
>
<url href="http://YOURDOMAIN.com/stats?q=name" />
<url
href="http://YOURDOMAIN.com/stats?q=age"
lastmod="2004-11-14T01:00:00-07:00"
changefreq="yearly"
priority="0.3"
/>
<urllist path="urllist.txt" encoding="UTF-8" />
<!-- Exclude URLs that end with a '~' (IE: emacs backup files) -->
<filter action="drop" type="wildcard" pattern="*~" />
<!-- Exclude URLs within UNIX-style hidden files or directories -->
<filter action="drop" type="regexp" pattern="/\.[^/]*" />
</site>
これは、sitemap.xmlを生成するためのテンプレートとして機能すると思います。現在、ジェネレーターは、ApacheスタイルのアクセスログからのURLのプルまたはURLリストファイルからのプルをサポートしています。私はラップトップからテストしていたので、URLリストファイルからプルすることを選択しました。
URLリストを生成するために、「wget」を使用してサイトをスパイダーしました。
wget -mk --spider -r -l2 http://YOURDOMAIN.COM/
または
wget -mk --spider -r -l2 http://YOURDOMAIN.COM/ -o urlinfolist.txt
-r
:再帰的。 -l2
:深さ(設定しない場合、深さ=無制限)。 wget
マニュアルページ を参照してください。
次に、生成されたwget-logからURLを抽出しました。
cat wget-log | tr ' ' '\012' | grep "^http" | egrep -vi "[?]|[.]jpg$" | sort -u > urllist.txt
または
cat urlinfolist.txt | tr ' ' '\012' | grep "^http" | egrep -vi "[?]|[.]jpg$" | sort -u > urllist.txt
注:構成ファイルで既に除外されているか、非常に簡単に除外できるため、私の行に含まれていた除外の一部は必要ありませんでした。
次に、ジェネレーターを実行しました。
python sitemap_gen.py --config=example_config.xml
Sitemap.xmlファイルを作成しました。
スクリプトは、自動化された方法で実行されるように設計されているようです。しかし、それは私のテスト実行では機能しました。 wgetの実行には時間がかかる場合があります。ただし、特別な書き換えなどがない場合は、「find」を使用してサイトの静的コンテンツパスをスキャンし、URLリストファイルにダンプする前にフィルタリングすることができます。