首先我们开看看什么是REST API?
WordPress REST API为WordPress数据类型提供API端点,允许开发人员通过发送和接收JSON(JavaScript对象符号)对象远程与站点进行交互。 JSON是一种开放标准的数据格式,它是轻量级和可读的,看起来像是在JavaScript中的对象; 由此得名。 当您向API发送内容或发出请求时,将以JSON返回响应。 这使开发人员能够从客户端JavaScript或外部应用程序创建,阅读和更新WordPress内容,甚至是用PHP语言编写的内容。
简单的说就是通过这个 REST API 可以很轻松的获取网站的数据,可应用于其他网站、手机 APP 或小程序等;但对于一般的网站是没有需要的,反而会拖累网站的速度,而且 REST API 采用 GET 请求方式,这就为 DDOS 攻击提供了一个新的攻击途径,所以我们应尽可能的禁止掉这些不必要的功能需求,并且去掉 head 里面输出 wp-json 链接。

http://域名/wp-json/
,若输出数据则是开启状态。

将下面的代码添加到当前主题函数模板 functions.php 中:
我们再来看看WP JSON REST API 是否已经关闭。
如图WP JSON REST API已经成功关闭了
关闭接口之后我们会发现在健康状态栏依然会有这2个报错。没关系,我们继续!
站点健康功能,用于了解当前网站运行中有哪些问题需要改进,位置在WP后台→工具→站点健康。
该功能源自 Site Health Tool Manager 插件,也就是插件的简化版。
为什么要集成网站健康检测功能,据说是为开发人员方便测试,有人说很有用,个人认为没有任何用处,暴露主机环境信息,另外不知道这玩意是否经常自己在后台偷偷运行检测,还是打开后再执行检测,试过一次就再也不想打开。
可以通过下面的方法有选择性地禁止某些项目检测或者禁止全部项目检测。
将下面的代码添加到当前主题函数模板 functions.php 中:
通过site_status_tests
过滤器,返回时触发WP_Site_Health::get_tests()
注:$tests是一个数组。包括$tests['direct']
与$tests['async']
,在加载站点健康状态之前,直接测试在 PHP 中运行,并且在页面加载之后通过 Ajax 调用触发异步测试。
禁用更多功能检测请对照: /wp-admin/includes/class-wp-site-health.php
例如:
一行一个,以此类推。
禁止全部代码:
检测项全部禁止后,你会看到 站点健康 检测结果显示100%,就没有任何健康提示了!