sitemap.xmlを作るとSEOにいいぞ!というらしいので作ってみたけどほぼ個人用なんだよな…。
自動生成ウェブサービスもあるらしいけど、個人的に登録してほしくないページ(適宜リンクを貼りたいキャラ詳細ページなど)がある上にせっかく爆速の静的サイトやってるんだからということで。
#!/bin/bashartwork=$(grep -iv "#invalid" $SITE/.database | awk -F"@" '{ print $1}'| sed "s/\..*/\.html/g")page=$(ls $SITE/*.html | sed "s@.*/@@g")cat << FIRST > sitemap.xml<?xml version="1.0" encoding="UTF-8" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">FIRSTfor i in $page; do#更新日付lastmod=$(date +"%Y-%m-%d" -r $i)# 優先度case "x$i" in"xindex.html" ) priority="1.0" ;;* ) priority="0.8" ;;esac# 出力cat << PAGEGEN >> $SITE/sitemap.xml<url><loc>http://0xconfig.net/$i</loc><lastmod>$lastmod</lastmod><priority>$priority</priority></url>PAGEGENdonefor i in $artwork; dolastmod=$(date +"%Y-%m-%d" -r page/$i)# 優先度priority="0.6"cat << PAGEGEN >> $SITE/sitemap.xml<url><loc>http://0xconfig.net/page/$i</loc><lastmod>$lastmod</lastmod><priority>$priority</priority></url>PAGEGENdoneecho "</urlset>" >> $SITE/sitemap.xml
exportコマンドで$SITEに対して自サイトローカル場所を指定しておく(.profileとかに書いている)。自分とこは$HOME/Documents/connedos7 にしてる。
catにヒアドキュメントさせるとechoと同じ挙動になるらしく、echoよりも改行やクォート文字の扱いがシンプルなので(しかも変数展開してくれる!)、<url>以下の羅列で使わせてみた。
わざわざ2回もfor打つことあるか?と思うけどまあ、、、個人的には許容できるムダなので放置。
0 件のコメント:
コメントを投稿