昨晚上查看了google网站管理员工具,发现我的www.gerenjianjie.com站有个警告信息,点开一看,又是sitemap出现错误了,记得昨天已经修改了link.xml的时间格式问题了,怎么又出错啊。点开详细,晕,原来主文件也出错了,我使用的是下载模块,对应的download.xml出现错误,说什么标记值priority无效。查看过google关于sitemap.xml的格式说明后明白这个标记priority是指站长自认为的页面优先级,正确的值应该在0.0和0.1之间,一般页面默认应该是0.5。然后对应kingcms的代码,找到了kingcms关于这个标记值的算法是 (推荐+置顶+2 )/4 ,算法原来是没错的,因为原来推荐、置顶两个值在数据库是数字,只能是1或者0,单是最近我修改了推荐、置顶、头条三个选项,将数据类型改为日期时间格式了,所以这里计算就出错了。
修改方法比较简单,目前我还没比原有算法更简洁有效的优先级算法,所以对原有算法不变,但输入的推荐、置顶两个参数通过sql语句修改原有的时间格式为数字1和0,就是计算推荐的时间,如果是有效推荐则推荐值设为1,否则为0(注,设计中指定固定的1980-1-1为默认值,大于该值认为是推荐、置顶)。修改后原有算法即可正确计算出优先级了。
重新生成sitemap并提交到google重新验证,google的效率还不错,大概半小时后,页面已经现实验证通过了,呵呵。