2015-01-10
自分のサイトのサイトマップを作ってgoogleに送信したかったのですが、私のサイトは商用サイトではないので、サイトマップ・ジェネレーターにお金を払いたくありませんでした。
google-sitemap_genは、私が最初に見つけたリソースの1つです。
問題は... 問題は、apacheで使うように説明されているのですが、私はnginxサーバーを使っています。もう少し探してみると、このページとWing Tang Wongさんの回答にたどり着きました。
彼の言葉 彼は、wgetでスパイダリングし、wget-logに書き込んでURLリストを作ったと言っています。そして、そのURLのソースを使って、google-sitemap_genでsitemap.xmlを作成しています。私はsitemap generatorパッケージをダウンロードして解凍しました。
次に、上のリンク先のページに書かれているように、設定ファイルを修正しました。
#<?xml version="1.0" encoding=UTF-8?
<サイト
ベース_URL="http://YOURDOMAIN.com/"
store_into="/var/www/sitemap_gen-1.4/sitemap.xml"
冗長=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 />。
<!--「~」で終わるURLを除外する。(IE: emacsのバックアップファイル) -->
<フィルター action=drop type=wildcard pattern="*~" />
<!-- UNIXスタイルの隠しファイルやディレクトリ内のURLを除外する -->
<filter action=drop type=regexp pattern="/\.[^/]*" />
でスパイダーをかけた。
wget -mk -spider -r -l2 http://YOURDOMAIN.COM/
しかし、次のようにするとうまくいくことがわかりました。
wget -mk --spider -r -l2 http://YOURDOMAIN.COM/ -o wget-log
そして、次のコマンドでurllistを作るとうまくいきました。
cat wget-log | tr ' '\012' | grep "^http" | egrep -vi "[?]|[.]jpg$" | sort -u > urllist.txt wget-log
ファイルが書き込まれていることを確認して、問題はありませんでした。あとはgoogle-sitemap_genをコマンドで使用するだけです。
python sitemap_gen.py --config=example_config.xml
これで完成です。素敵なサイトマップができあがりました。このサイトマップをウェブマスターツールのページからGoogleに送信します。