Implement the sitemaps.org standard 'protocol' with sitemap.xml.

This commit is contained in:
Uriel 2009-07-29 01:41:18 +02:00
parent d797533863
commit c31d3e77ca

View file

@ -2,6 +2,7 @@
%{
tmpfile=/tmp/werc_sitemap_$pid.txt
tmpfilex=/tmp/werc_sitemapx_$pid.txt
saveddf=$dirfilter
fn listDir {
@ -21,6 +22,7 @@ fn listDir {
n=`{echo /$u|sed 's/[\-_]/ /g; s,.*/([^/]+)/?$,\1,'}
echo '<li><a href="'$u'">'^$"n^'</a>' $"desc '</li>'
echo $base_url^$u >> $tmpfile
echo '<url><loc>'$base_url^$u'</loc></url>' >> $tmpfilex
if(test -d $i)
@{ listDir $i }
}
@ -28,9 +30,30 @@ fn listDir {
}
}
fltr_cache listDir $sitedir/
if(test -s $tmpfile)
if(test -s $tmpfile) {
mv $tmpfile $sitedir/sitemap.txt &
}
if not if(test -f $tmpfile)
rm $tmpfile
if(test -s $tmpfilex) {
{
echo '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
cat $tmpfilex
rm $tmpfilex &
echo '</urlset>'
# TODO Enable automaic search engine update notification.
#hget 'http://google.com/ping?sitemap='^`{url_encode $base_url'/sitemap.gz'} > /dev/null
} | gzip > $sitedir/sitemap.gz &
#} > $sitedir/sitemap.xml &
}
if not if(test -f $tmpfilex)
rm $tmpfilex
%}