WordPress站点禁用返回HTTP头中的shortlink、REST API以及移除wp-json

96次阅读
没有评论

共计 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 后台插件搜索即可安装。如果是添加上面代码来实现功能,前往那要做好备份再来修改。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-06-03发表,共计995字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)