共计 995 个字符,预计需要花费 3 分钟才能阅读完成。
最近站点收录有点慢,于是去百度站平台测试一下抓取诊断,发现百度可以抓取到页面的原生的动态链接,如?p=2848,而本站的网页是做了伪静态处理的,索性去网页查看源代码并未发现有这个动态链接,于是去查询了一下,发现很多站长有类似的情况,而且这个 shortlink 对百度搜索引擎来说很不友好,很多站长也反馈百度在抓取该网页时还会收录这个链接,导致网页权重分散。
所以删除势在必行,另外也发现网页有许多不需要的 mate 标签,索性一次性清除掉。
1、去除 shortlink
我们在主题中的 functions.php 加入一些去掉该信息的代码就 OK 了。具体代码如下
// 移除头部 HTTP header 中的 shortlink
remove_action('wp_head','wp_shortlink_wp_head',10,0);
remove_action('template_redirect','wp_shortlink_header',11,0);
2、去除 wp-json
依然是编辑主题中的 functions.php,然后加入以下代码:
// 移除头部 wp-json 标签和 HTTP header 中的 link
remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('template_redirect', 'rest_output_link_header', 11);
3、屏蔽 REST API
还是编辑 functions.php 文件,添加以下代码:
// 屏蔽 REST API
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');
添加了如上代码后,返回百度再次使用抓取诊断功能,如此返回的 HTTP 头部就不在带有 shortlink 动态网址了,如下图所示:
另外补充一点就是解决 wp-json 还可以安装插件:Disable REST API,在 WordPress 后台插件搜索即可安装。如果是添加上面代码来实现功能,前往那要做好备份再来修改。
正文完