sitemap_genの設定 (Sitemap_gen.py)

2022-06-15

WordPressとかのCMSをつかっていないHPを作る機会がありました
1日1回、サイトマップをGoogleに飛ばしたいので「Sitemap_gen.py スクリプト」をcronで設定した時のメモ

作業内容

  • sitemap_gen-1.4.zip 設定
  • cron 登録

sitemap_gen-1.4.zip 設定

SourceForge.JP よりsitemap_gen-1.4.zipをダウンロードします

$ cd /var/tmp
$ wget http://sourceforge.jp/projects/sfnet_goog-sitemapgen/downloads/sitemapgen/1.4/sitemap_gen-1.4.zip

今回は /usr/local/bin 解凍し、解凍した箇所で設定しcron登録用のスクリプトを作成していきます
まずは解凍します

$ cd /usr/local/bin/
$ mv /var/tmp/sitemap_gen-1.4.zip .
$ unzip sitemap_gen-1.4.zip
$ mv sitemap_gen-1.4/ sitemap_gen/

config.xml を編集します
今回設定した内容をそのまま記載しておきます

$ cp sitemap_gen/example_config.xml sitemap_gen/example_config.xml.org
$ vi sitemap_gen/config.xml
<?xml version="1.0" encoding="UTF-8"?>

# 上部付近 サイトのURLやサイトマップの位置を設定
<site
base_url="http://www.example.com/"
store_into="/var/www/html/sitemap.xml"
verbose="1"
>

# 真ん中付近 更新頻度や優先度の設定です。URLのみ変更します
<url href="http://www.example.com/" />
<url
href="http://www.example.com/"
lastmod="2004-11-14T01:00:00-07:00"
changefreq="yearly"
priority="0.3"
/>

# urllist の設定は削除(コメントアウト)しました
<!--
<urllist path="example_urllist.txt" encoding="UTF-8" />
-->

# 下部付近 ドキュメントルートのファイルやディレクトリの設定
<directory path="/var/www/html/sitemap.xml" url="/var/www/html/sitemap.xml" />
<directory
path="/var/www/html/sitemap.xml"
url="/var/www/html/sitemap.xml"
default_file="index.html"
/>

# アクセスログの設定は削除(コメントアウト)しました
<!--
<accesslog path="/etc/httpd/logs/access.log" encoding="UTF-8" />
<accesslog path="/etc/httpd/logs/access.log.0" encoding="UTF-8" />
<accesslog path="/etc/httpd/logs/access.log.1.gz" encoding="UTF-8" />
-->

# サイトマップ位置も削除(コメントアウト)しました
<!--
<sitemap path="/var/www/vhost/kosp_m-yabe/html/sitemap.xml" />
-->

# www.example.com/tmp を作業用に使用しており公開していないので除外に設定
<filter action="drop" type="wildcard" pattern="*/tmp/*" />

※以下が変更したパラメータです。詳しく調べていないので解釈は間違っているかも・・・
base_url= 設定するURL
store_into= サイトマップのパス
verbose=0~3の数字を入力します。
lastmod=URL の最終更新日を、YYYY-MM-DDThh:mmTZD 形式で指定します
changefreq=更新頻度を指定します(always(常に更新されるページ | hourly | daily | weekly | yearly))
priority=RLの優先順位1.0(重要度:高)~0.1(重要度:低)まで指定可能

cron 登録

簡単にスクリプトを作ります。1行なのでそのままcronに登録してもOKですが
今回はスクリプトとしてつくりました

# vi sitemapgen.sh
#!/bin/bash

python /usr/local/bin/sitemap_gen/sitemap_gen.py --config=/usr/local/bin/sitemap_gen/config.xml > /var/log/googleSitemap.log 2> /dev/null

実行権を付与し、cron登録します

# chmod +x sitemapgen.sh

# crontab -e

# Google sitemap www.example.com/
0 5 * * * /usr/local/bin/sitemapgen.sh >/dev/null 2>&1

Linux

Posted by admin