Baidusubmit——百度WordPress结构化数据插件有毒~(附插件代码分析与修正办法)

本文详细介绍了使用Baidusubmit插件导致的WordPress站点出现大量404链接的问题,分析了插件代码,发现插件错误生成了包含无效菜单链接的sitemap。通过修改插件代码,限制生成page和post页的sitemap,解决了这个问题,避免了对SEO的负面影响。
摘要由CSDN通过智能技术生成

百度官方的WordPress插件Baidusubmit存在一个bug,会导致生成递交的sitemap里出现大量404链接。对于新站来说大量递交的404显然是对SEO有毁灭性的打击的(会导致被降权k站之类……),笔者自己就遭遇了这样的悲剧。

本文仔(luo)细(suo)地叙述了事情的经过以及推理的过程,最终给出了插件代码改进建议。

故事的开始都是美好的

前两天帮朋友用WordPress搭了个企业网站(http://www.wxjinri.com/),三天时间百度收录首页,曾经输入企业名搜索结果可以正常出现在第一页。
站长工具的关键词记录

然后悲剧就开始了……

百度站长平台抓取频次
抓取频次直线下降,27号直接归零了……感觉就是被百度K了的节奏啊~

可是到底是哪里出了问题呢?百度站长平台能发现在22号和24号的时候都出现了大量的(虽然只有十几个,但是新站页面本来就不多)404抓取异常,即页面不存在,但是由于当时忘了开服务器访问日志,百度站长平台也没有提供抓取异常的链接具体位置。
抓取异常
其次,在某天凌晨我晕乎乎的关闭了SEO by Yoast的插件,导致description变空,第二天起床就发现百度搜不到排名了,不知道这是不是也是原因之一。

Baidusitemap……

还有一件诡异的事情就是Baidusubmit插件每天都有几十到好几百的递交量。
终于今天开启了BAE日志后发现了类似如下的记录——

123.125.71.49 www.wxjinri.com [2015-07-29 21:21:40] 200 1146 69648 2243 "GET /wp-content/plugins/baidusubmit/sitemap.php?m=sitemapall&start=1&p=c60af1349ced96b2 HTTP/1.1" "" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" 

也就是百度蜘蛛抓取baidusubmit插件生成的sitemap的记录,于是我加上域名访问了一下该链接(http://www.wxjinri.com/wp-content/plugins/baidusubmit/sitemap.php?m=sitemapall&start=1&p=c60af1349ced96b2),看看它到底生成了哪些sitemap……

点开以后我惊奇地发现里面有大量奇怪的链接,类似domain/2015/06/16/postname这样,其中postname是一些menu的名字,例如会有domain/2015/06/16/首页,这样明显是404的页面链接。
那么问题来了,这些链接到底是怎样通过插件生成出来的呢?那就去分析一下Baidusubmit插件的源代码吧。
根目录下有main.php是插件入口文件,这个文件末尾看到add_action('init', array('BaidusubmitGenerator', 'init'), 1000, 0);,说明插件钩子的位置是init,触发优先级为1000(优先级1是最先触发的意思),由于之前没有二次开发过WordPress,所以这次顺手查了一下init钩子。http://codex.wordpress.org.cn/Plugin_API/Action_Reference/init 解释说:

Runs after WordPress has finished loading but b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值