「サイトマップをGoogleに提出。。ウマァー?!」で書いたようにcgi版 Yomi-Search
の Google Sitemaps 用 XML を作成するテンプレをつくってみた。
カテゴリ設定をした際に html のサイトマップがつくられるが、そのときに一緒につくるようにしよう。
/templateに新しく「xmlsitemap.html」 をつくる。名前は自由に。。
/template/xmlsitemap.html
print<<“<!–HTML–>”;
<?xml version=”1.0″ encoding=”UTF-8″?>
<urlset xmlns=”http://www.google.com/schemas/sitemap/0.84″>
<!–HTML–>#<!–(↓修正不可↓)
print “<url>n<loc>$EST{home}</loc>n<changefreq>daily</changefreq>n<priority>1.0</priority>n</url>n”;
# (↑修正不可↑)–>#<!–(↓修正不可↓)
&gane_guide; #説明文をロード
foreach(sort keys %ganes){
print “<url>n”;
if(index($_,”_”)<0){ #トップカテゴリの場合
print “<loc>$Ekt$_$Eend</loc>n”;
print “<changefreq>weekly</changefreq>n”;
}
else{
print “<loc>$Ekt$_$Eend</loc>n”;
print “<changefreq>weekly</changefreq>n”;
}
print “</url>n”;
}
# (↑修正不可↑)–>print<<“<!–HTML–>”;
</urlset>
<!–HTML–>
#<!–(↓修正不可↓)1;
# (↑修正不可↑)–>
記述を見ていただくと分かるようにファイル更新日は拾えない(爆
まぁ、「URLを拾ってね」程度の XMLです。
admin.cgi のサブルーチン(1828行当たり??)にXML作成行を追加
修正前。。は確かこんな感じ。
sub sitemap_make{
#(cfg6)サイトマップを作成(&sitemap_make)
open(OUT,”>$EST{html_path}sitemap.html”);
select(OUT);
require “$EST{temp_path}sitemap.html”;
select(stdout);
close(OUT);
}
修正後
sub sitemap_make{
#(cfg6)サイトマップを作成(&sitemap_make)
open(OUT,”>$EST{html_path}sitemap.html”);
select(OUT);
require “$EST{temp_path}sitemap.html”;
select(stdout);
close(OUT);
open(OUT,”>$EST{html_path}sitemap.xml”);
select(OUT);
require “$EST{temp_path}xmlsitemap.html”;
select(stdout);
close(OUT);
}
●もっといい感じにチューニングされたテンプレ求む!!