很多站点的问题不是内容不够,而是不该被看到的东西先被看到了。编辑在后台存了个草稿,运营发了个预览链接给同事确认,开发把测试环境挂在了公网可解析的域名上——这些地址一旦能被外部访问,就有机会被抓取工具写进队列。它们通常没有导航、没有配图、正文半句话,被用户搜到时观感很差。
一、草稿页常见的三种“漏出”方式
- CMS 自动生成的预览地址:不少系统会给草稿分配一个带参数或 ID 的固定地址,只要有人访问过一次,链接就可能被复制到各处。
- 测试域名与暂存站可被解析:dev、test、staging 之类的子域名如果对外可访问,又没有访问限制,等于多了一个内容残缺的镜像站。
- 协作工具里的外链:把预览链接贴进群聊、邮件、外部文档,链接本身就成了一个可被发现的入口。
二、自查时先确认“能不能被外部访问”
排查顺序建议从访问控制开始,而不是从内容改起。
- 用未登录、无 cookie 的浏览器窗口访问草稿地址,看是否需要登录或验证码。
- 查看该地址返回的状态码,是 200 还是 403/404。
- 在站点日志或抓取记录里,筛一下 preview、draft、test、tmp 这类路径关键词,看有没有访问痕迹。
- 检查 sitemap 和栏目列表,确认没有把草稿或测试页混进正常集合。
如果第 1 步就直接返回了正文,说明问题在权限层,后面几步只是确认影响范围。
三、处理方式按“能不能删”分两类
可以删除的
已经定稿发布、或确认不再需要的草稿页,直接删掉并让地址返回 404;如果是曾经正式发布过、后来下线的页面,更适合返回 410,表达“确实不再提供”。长期挂着 200 的空壳最麻烦。
需要保留访问的
预览功能是刚需,不能一关了之。常见的做法是:
- 给预览地址加一次性或有时效的令牌,过期即失效;
- 对预览页整体加 noindex 标记,或者放在 robots.txt 的禁止抓取路径下(注意:robots 禁止抓取的同时,页面上的 noindex 往往读不到,两者选其一即可,别指望双保险);
- 测试环境放在需要内网或白名单访问的位置,不要用公网可直接打开的域名。
判断标准很简单:这个地址如果被陌生人打开,你会不会觉得尴尬。会尴尬,就别让它留在公网上。
四、别让内部链接指错地方
自查里最容易被忽略的一点,是正常页面里混进了测试地址。编辑从预览页复制正文时,顺手把图片、附件或“相关阅读”的链接一起复制过来,这些链接就会指向测试域名。发布前扫一遍正文外链,把 test、staging、内网 IP 开头的地址替换掉。
五、把检查放进日常流程
与其每次改版后突击排查,不如把它变成发布前的一步:后台发布按钮旁标注“确认无预览链接残留”,新栏目上线时顺带确认测试环境是否已隔离。频率不用高,一季度清一次历史遗留地址,就能避免大部分“蜘蛛抓到半成品”的情况。
最后提醒一句:这类地址被抓取工具访问,通常只影响观感和少量抓取资源,不会直接导致整站出问题。真正需要在意的是那些内容残缺、又长期返回 200 的页面——把它们清理干净,比纠结某一条链接更实际。