用Cron定时生成网站的Sitemap

来自Jamesqi
跳转至: 导航搜索

--James Qi 2010年3月2日 (二) 14:29 (CST)

  MediaWiki的maintenance目录中有一个generateSitemap.php,是用来生成网站地图的,供提交给Google等搜索引擎。以前我们网站这个功能用得不多,只是在网站刚建立或者有大规模改版的时候运行一遍,然后就是随机的几个月才去重新运行生成。

  也考虑过定期执行,但以前Linux下的Cron用得不熟悉,而且生成的XML文件还需要人工来修改,所以一直没有定期进行。这段时间在试用国外虚拟主机中,发现Cron还是很方便的,另外昨天让同事帮忙在国内的服务器上安装上了Webmin,从这里新建、修改Cron任务调度都很方便。至于需要人工修改XML文件添加URL的事情,昨天同事也找到办法来自动执行了。

  编写的生成一个网站地图的脚本例子如下:

# start www.jamesqi.com
cd /usr/local/apache2/htdocs/www.jamesqi.com/maintenance
/usr/local/php5/bin/php generateSitemap.php --fspath=/usr/local/apache2/htdocs/www.jamesqi.com --server=http://www.jamesqi.com
find /usr/local/apache2/htdocs/www.jamesqi.com/ -name 'sitemap-index-jamesqi-jingle.xml' | xargs perl -pi -e 's|<loc>|<loc>http://www.jamesqi.com/%7Cg'
# end

  于是今天就把以前的网站都做了一遍Crontab计划任务,分成3个周期执行3个文件:

  1. daily.sitemap.sh:每天都生成一遍,适合于每天更新量较多的网站,如:人工搜索问版主
  2. weekly.sitemap.sh:每周生成一遍,适合于更新周期适中或者重新生成一遍量太多的网站,如:本站、查号吧
  3. monthly.sitemap.sh:每月生成一遍,适合于更新周期较长或者内容基本上不怎么改变的网站,如:邮编库IP查询

  先是在国内独享的服务器上测试没有问题,再在CPanel的Cron jobs中设置后运行成功,这样在国外的虚拟主机上也同样可以定期自动生成了。这样以后网站地图的更新将大大较快,应该有利于搜索引擎的优化。

标签:LinuxCronSitemap
相关内容:
  1. 2010-01-02 23:33:13 Linux服务器负载过高时自动重启Apache服务
  2. 2009-12-22 11:00:46 用Yahoo! Site Explorer向雅虎搜索引擎提供Sitemap
  3. 2009-12-21 17:43:56 向微软的Bing搜索引擎提供Sitemap

关于“用Cron定时生成网站的Sitemap”的留言:

目前暂无留言

新增相关留言