为何搜索引擎爬取WordPress REST API接口地址?

自从网站上线以来,在Nginx日志中就经常发现有这样的 /wp-json/wp/v2/posts/909类似的爬取记录,刚开始也没在意,只是有点 疑惑为何有这样的访问。直到最近发现收录不太正常,才做一番研究。

搜索引擎爬取 /wp-json/wp/v2/posts/909 这类 WordPress REST API 地址,主要是浪费抓取预算、制造重复内容、小幅消耗资源;对排名几乎无正面作用,长期弊大于利。下面从影响、原因、处理三方面说清楚。

一、对网站的具体影响

1. SEO 层面(最关键)

  • 浪费抓取预算:我觉搜索引擎给每个网站的爬取量有限。爬虫反复爬 API 接口,会挤占正常文章页面的抓取机会,导致新内容收录变慢、重要页面漏抓。
  • 产生大量重复内容:同一篇文章同时存在「HTML 网页」和「JSON 接口」两个入口,搜索引擎会判定为重复内容,稀释原创权重,甚至造成页面互殴、排名波动。
  • 无排名价值:JSON 页面中文标题、meta、结构化数据,也不适合用户阅读,搜索引擎不会把这类页面排到结果里,属于「无效收录」。

2. 服务器与安全层面

  • 额外消耗带宽 / CPU:API 接口直接查数据库输出 JSON,比静态 HTML 更耗资源;大量爬虫并发请求会拖慢网站速度,甚至影响正常用户访问。
  • 暴露网站结构与内容/wp-json/wp/v2/posts 可批量导出所有文章(含草稿、私密内容),方便恶意爬虫 / 黑客快速采集全站数据,增加内容盗用与安全风险。

二、为什么搜索引擎会爬这个地址?

WordPress 4.7+ 默认开启 REST API(原来是自己没有关闭),自动暴露 /wp-json/ 端点。搜索引擎爬虫(如 Googlebot、百度爬虫)会:

  1. 发现 /wp-json/ 入口;
  2. 顺着 wp/v2/postswp/v2/posts/909 等路径爬取;
  3. 把 JSON 当作普通页面抓取,纳入索引候选池。

三、怎么处理(推荐方案)

1. 用 robots.txt 禁止抓取(最安全)

在网站根目录 robots.txt 添加:

Disallow: /wp-json/
Disallow: /wp-json/wp/v2/

告诉搜索引擎不要爬这些接口,优先抓取正常页面。

2. 关闭 / 限制 REST API(彻底解决)

  • 插件:安装 Disable REST API 关闭未登录用户的 API 访问;
WordPress安装Disable REST API插件限制未登陆访问REST API接口地址

阻止公开访问文章类 API。

修改配置文件,直接限制API接口访问

去后台 → 外观 → 主题编辑 → functions.php 拉到最下面,粘贴:

// 彻底关闭未登录用户的 WordPress REST API
add_filter( 'rest_authentication_errors', function( $access ) {
    if( ! is_user_logged_in() ) {
        return new WP_Error( 'rest_disabled', 'REST API disabled', array( 'status' => 403 ) );
    }
    return $access;
});

// 去掉头部输出的 API 地址
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
remove_action( 'template_redirect', 'rest_output_link_header', 11 );

4. 验证效果

site:你的域名 wp-json 查是否有 JSON 页面被收录;若有,提交删除旧收录并更新 robots.txt,1–2 周可清理干净。


总结

说白了这类 API 地址被爬,无用处:因为最近发现百度搜录有异常,所以做了一个全面的检查;建议用 robots.txt 禁止 + 限制 REST API 公开访问,把爬虫资源留给真正有价值的网页。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。
       本系列的一部分

WordPress建站

Post 13 of 13

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress