今日本想使用百度抓取诊断工具抓取本站文章看下代码有没有错误,结果意外发现头部信息中包含wordpress默认的链接.
本以为我所使用的主题作者应该已经去除了shortlink(短链接),因为查看本站文章源文件中不包含shortlink,但是却包含在服务器返 回信息中。对于谷歌来说,wordpress默认链接不影响谷歌对网站的收录,而且谷歌对页面301的更新比较快;但是百度对页面301的反应时间则要长 的多,一般为3个月或者更久,之前用wordpress做过一个网站,使用固定链接后半年都还是只有首页快照,但把固定链接改为默认后不久网站内容就被收 录了,所以如果我使用了固定链接,就不希望在网站的任何地方还有短链接。
还好wordpress是开源的,只要更改源程序,或者在主题中的function.php加入一些去掉该信息的代码就OK了。
方法一:打开wordpress中 wp-includes目录下的default-filters.php(我用的是wordpress 4.0),找到第212行左右,或者直接搜索【shortlink】,找到以下两行代码:
add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
第一个是服务器返回信息中包含shortlink,第二个是网页中包含shortlink,只要对这两行代码进行注释即可,分别在每行代码的最前面加上【//】.
//add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
//add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
OK,再次使用百度抓取诊断工具抓取文章页面,发现短链接已经不存在了。
方法二:本地编辑主题文件中的function.php文件或者在后台编辑function.php文件,参阅WordPress Gravatar头像加载速度方法.
在文件最下面,【?>】之前写入
remove_action('wp_head','wp_shortlink_wp_head',10,0);
remove_action('template_redirect','wp_shortlink_header',11,0);
跟方法一效果一样.
新闻热点
疑难解答
图片精选