利用shell生成站点地图

2013年10月28日 发表评论 阅读评论

一些以静态页面为主的站点,可能不方便的没有生成sitemap 。而为了加快搜索引擎的收录,最好能主动做好sitemap,通过站长工具提交或写入robots文件,这样能加快百度、google等的收录。

下面以百度sitmap为例, 通过shell实现的代码如下:

cd /data/www
find . -name *.htm > site.txt
sed -i 's/.//http://news.361way.com//g' site.txt
echo '<?xml version="1.0" encoding="UTF-8"?>' >sitemap.xml
echo  '<urlset>' >> sitemap.xml
cat site.txt|awk '{print "<url>""n"
"<loc>"$1"</loc>""n"
"<lastmod>""2013-10-28""</lastmod>""n"
"<changefreq>""always""</changefreq>""n"
"<priority>""0.6""</priority>""n"
"</url>"}'>>sitemap.xml
echo '</urlset>' >> sitemap.xml

以上使用到的参数,参考百度sitemap帮助页

至于google sitemap也大同小异,而且google在收录方面更平民化一些。直接在google 站长工具页面提交站点地露天,一般三天左右的时候就可以收录。而百度只有所谓的优质用户才可以提交站点地图。

 

2016-1-20日后记(答zd的问题):

# site文件内容
[root@361way ~]# more site.txt
./jenkins/lugins/atrix-project/elp/atrix/dk_ja.html
./jenkins/lugins/atrix-project/elp/atrix/xes_nl.html
./jenkins/lugins/atrix-project/elp/atrix/dk.html
./jenkins/lugins/atrix-project/elp/atrix/ombinationfilter_ja.html
./jenkins/lugins/atrix-project/elp/atrix/dk_nl.html
#替换并查看
[root@361way ~]# sed -i 's#\./#http://news.361way.com/#g' site.txt
[root@361way ~]# more site.txt
http://news.361way.com/jenkins/lugins/atrix-project/elp/atrix/dk_ja.html
http://news.361way.com/jenkins/lugins/atrix-project/elp/atrix/xes_nl.html
http://news.361way.com/jenkins/lugins/atrix-project/elp/atrix/dk.html
http://news.361way.com/jenkins/lugins/atrix-project/elp/atrix/ombinationfilter_ja.html
http://news.361way.com/jenkins/lugins/atrix-project/elp/atrix/dk_nl.html



本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: http/html/web 标签:
  1. 2016年1月19日22:06 | #1

    sed -i 是不是有错?
    sed: -e expression #1, char 6: unknown option to `s'

  2. admin
    2016年1月20日10:44 | #2

    多谢指正,转义未处理。我已经在原文中更新说明。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.