禁用wordpress头部返回信息中的shortlink、REST API功能且移除wp-json

2020年2月9日 5 2,025 1056字阅读3分31秒

这两天发现大鸟博客的百度收录中发现“?p=6235”这种形式的收录,查找了下问题所在,发现原来是wordpress头部返回信息中的shortlink,继而又发现head中有wp-json链接,具体的形式如图:

这篇文章就谈谈如何去除这2个讨人嫌的东东,特别是shortlink,导致百度收录了“?p=6235”这种动态页面地址。如图:

1、去除shortlink

我们在主题中的functions.php加入一些去掉该信息的代码就OK了。具体代码如下:

// 移除头部 wp-json 标签和 HTTP header 中的shortlink
remove_action('wp_head','wp_shortlink_wp_head',10,0); 
remove_action('template_redirect','wp_shortlink_header',11,0);

保存之后我们刷新网页可以看到结果,如图:

现在就只剩一个wp-json,接着看下面!

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');

4、安装插件

如果要解决wp-json还可以安装插件:Disable REST API

插件地址:https://wordpress.org/plugins/disable-json-api/

5、最后

去除shortlink、REST API功能且移除wp-json之后,head信息中就干净了很多,删除之后,大鸟观察了下百度也没有收录这类“?p=6235”链接了,应该说问题得到了解决。

  • 我的微信
  • 分享婷庭五情天免费建站技术交流等!
  • weinxin
  • 微信公众号
  • 关注本博公众号
  • weinxin
大鸟
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:5   其中:访客  0   博主  0
    • 简单生活 简单生活 2

      主题不起自带禁用这些功能么?

        • 大鸟 大鸟

          @ 简单生活 我竟然没找到知更鸟主题在哪里设置 :cry:

        • TG TG 3

          WPJAM Basic 插件有类似这个功能

            • 大鸟 大鸟

              @ TG 应该有的吧,我没用过那插件!

            • 奶爸建网站笔记 奶爸建网站笔记 6

              一些优化插件也带这个功能。