lesperras.com

blogpodcastbreathingtags
En

Nginxでgoogle-sitemap_genを使ってサイトマップを作成する方法

  • programming

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に送信します。

this is the footer