先看现象。预发环境用 test.example.com 解析到同一台机器,没加任何限制。某次上线后 site 查询里出现两百多条测试页,标题和主站一模一样,用户从搜索点进来看到的是测试数据。
把日志和配置对完,能解释这个现象的基本就这几处。测试域名没有加访问认证,也没有输出 noindex。少数情况下是预发库从生产同步,页面内容和主站完全一致。
另外,两个域名指向同一套代码,canonical 自动写成了当前域名。
少数情况下是分享链接误发到测试域名,蜘蛛顺着外链进来。
上来先确认测试域名的响应头与标签
curl -sI https://test.example.com/ | head -10
再往下在预发环境全局加 noindex 与访问限制
add_header X-Robots-Tag 'noindex, nofollow' always;
接着用随机路径验证是否真的挡住
curl -s -o /dev/null -w '%{http_code}\n' https://test.example.com/seo/probe
等前面都确认过,再在
恢复的判定其实很直接。加上限制后测试域名返回 401,已收录条目在一个月内基本清空,主站的展现量没有受到影响。
补一句。测试域名只要能被公网解析,就一定会被收录,上线流程里应该有一条硬性检查。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。
