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

橘子网 1,885 0

最近站点收录有点慢,于是去百度站平台测试一下抓取诊断,发现百度可以抓取到页面的原生的动态链接,如?p=2848,而本站的网页是做了伪静态处理的,索性去网页查看源代码并未发现有这个动态链接,于是去查询了一下,发现很多站长有类似的情况,而且这个shortlink对百度搜索引擎来说很不友好,很多站长也反馈百度在抓取该网页时还会收录这个链接,导致网页权重分散。

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

所以删除势在必行,另外也发现网页有许多不需要的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动态网址了,如下图所示:

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

另外补充一点就是解决wp-json还可以安装插件:Disable REST API,在WordPress后台插件搜索即可安装。如果是添加上面代码来实现功能,前往那要做好备份再来修改。

上一篇:

下一篇:

相关阅读

分享