因为我的 WordPress 网站刚建成不久,很关注搜索引擎对自己的收录,今天到百度站长平台查看网页收录情况,顺便试了试网页抓取目录下的抓取诊断功能,就看到了返回 HTTP 头中短链接的信息,你也可以通过浏览器 Web 开发者工具-网络-消息头中查看。具体如下图:
在建 wordpress 站之初我就比较重视其固定链接伪静态化,做了相应的各种设置,为的就是去掉动态链接尽量保证更好的收录。相关文章:
已经做了相关设置,尽然这么明显的地方还有动态链接,是我以前没有发现的,之前有写过一篇 去掉 WordPress 头部 header 中多余链接的方法 的文章,其中就包括去掉动态短链接的代码,只是没想到那并没有去掉服务器返回 http 头信息中包含的 rel=shortlink,也许影响不大但自己的强迫症不能忍啊。
移除 wordpress 网站返回 HTTP 头中的 rel=shortlink 信息也很简单。两种方法如下:
修改 wordpress 源文件(不推荐)
打开 wordpress 程序中 wp-includes 目录下的 default-filters.php,找到第225行(不同 WP 版本可能稍有不同),或者直接搜索“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 );
好了,再次使用百度抓取诊断工具抓取文章页面,发现短链接信息已经不存在了。
修改当前 wordpress主题的 function.php 文件(推荐)
在主题的 function.php文件中添加代码:
- remove_action(‘template_redirect’,’wp_shortlink_header’,11,0);
两种方法的效果是一样。修改或添加完成后再去抓取诊断发现已经没有短代码链接信息了,实际效果如图:
细心的朋友可能会发现两张图片除了没有 rel=shortlink 信息外,还有一个地方也不一样了,没错就是 X-Pingback 信息也被我移除了。相关文章:
转载请注明链接地址:荐爱小站 » WordPress 返回 HTTP 原始响应头中的 rel=shortlink 动态链接