baidu-sitemap-generator-simple-urls

 

这段时间在学习做淘宝客类型的站点http://haojidinghe.sinaapp.com。网站程序还是采用自己熟悉的wordpress网站为了便于SEO购买链接采用了Simple?URLs插件生成跳转链接(http://haojidinghe.sinaapp.com/go/xxxx),跳转到淘宝客的购买地址。同时网站也使用了Baidu?Sitemap?Generator来生成网站地图。

然后问题来了,使用Simple?URLs生成的跳转连接会同时出现在Baidu?Sitemap?Generator插件生成的sitemap中。由于我这些跳转链接都是直接跳转到淘宝客的网址,对于SEO上来说完全没有用处的,所以就想把这些链接屏蔽掉。

通过查看Baidu?Sitemap?Generator的源码然后发现在baidu_sitemap.php中的第146行的内容如下:

$sql_mini = "select ID,post_modified_gmt,post_date_gmt,post_type FROM $wpdb->posts
WHERE post_password = ''
AND (post_type != 'revision' AND post_type != 'attachment' AND post_type != 'nav_menu_item' )
AND post_status = 'publish'
ORDER BY post_modified_gmt DESC
LIMIT 0,$lc_limit
";

这段代码的大致意思就是把不是加密文章且post_type不是revision(修订版本),attachment(附件)nav_menu_item(菜单栏目)的文章找出来。

而我们使用Simple?URLs插件生成的跳转链接的post_typesurl,所以同样会被抓出来。为了让生成的sitemap不包含这些跳转链接所以我们就再增加一条把post_typesurl的给排除掉。

开始修改代码,把baidu_sitemap.php中的第148行(生成sitemap.xml)和第250(生成sitemap.html)行的代码

AND (post_type != 'revision' AND post_type != 'attachment' AND post_type != 'nav_menu_item' )

修改为

AND (post_type != 'revision' AND post_type != 'attachment' AND post_type != 'nav_menu_item'  AND post_tyoe !=’surl’)