站点运营

站点运营:草稿、预览与测试页面自查,别让未完成内容提前被蜘蛛抓走

后台预览链接、测试子域名、临时目录往往能直接被外部访问,未完成的稿件和活动页可能因此提前被抓取,既占预算又留下半成品。本文按入口排查、分层防护、上线前自查和事后补救四步梳理,并给出可落地的发布流程建议。

站点运营

站点运营:草稿、预览与测试页面自查,别让未完成内容提前被蜘蛛抓走

编辑在后台点一下“预览”,链接就带着一串临时参数出现在地址栏里。如果这个链接外网能打开、蜘蛛也能爬到,未完成的稿件、测试中的价格页、临时上线的活动页就可能提前进入索引。这类页面通常没有正式导航、没有内链支撑,一旦被抓走,既占用抓取预算,也会在搜索结果里留下半成品。下面按入口排查、分层防护、上线前自查和事后处理四个部分说。

一、先找出可能外泄的入口

  • 后台预览链接:常见形式是 ?preview=1、?p=123&preview=true,或带一长串临时 token 的地址。
  • 测试与预发环境:test.、stage.、dev. 之类的子域名,或独立 IP 上直接放了一份整站镜像。
  • CMS 默认路径:草稿箱、回收站、附件目录、上传目录能被直接列举。
  • 临时目录与压缩包:迁移时留下的 /new/、/bak/,以及没删掉的整站压缩包或数据库导出文件。
  • 站内搜索与筛选:结果页可被参数化拼出大量地址,把中间状态的列表也暴露出去。
  • 空栏目页:模板已经上传,内容还没填,但地址可以直接打开。

二、三层防护,按成本从低到高

服务器与网络层

测试环境优先放内网,或加 IP 白名单、走 VPN。确实需要公网可访问时,用基础认证或统一的前置网关拦住。基础认证不能百分百挡住抓取,但能过滤掉绝大多数无差别爬取,成本也最低。

页面与响应头层

预览页可以输出 X-Robots-Tag: noindex, nofollow,正式页面不要带这个头。这里要分清两件事:noindex 是“不索引”,不是“不抓取”。如果连抓取都想挡,得上 Disallow 或关掉访问权限。两套指令混着乱用,容易出现“既没挡住抓取、也没去掉索引”的尴尬局面。

结构与协议层

测试域名整体用 robots.txt 禁止抓取,同时确认不被主站的 sitemap、内链、canonical 指向。发布流程里再加一条:预览链接只在登录态有效,退出登录即失效,或者设置一个较短的过期时间。

三、上线前的自查清单

  1. 用未登录的浏览器打开预览链接,确认是否仍能看到内容。
  2. 检查测试子域名的 robots.txt 和响应头,确认处于禁止抓取状态。
  3. 站内检索 ?preview、?token、?tmp 这类参数,看有没有被索引的记录。
  4. 翻一遍服务器目录,确认没有残留的可下载文件,比如压缩包、备份文件、日志文件。
  5. 核对 sitemap 与首页内链,确认没有指向测试域或草稿地址。
  6. 检查后台权限,普通编辑不应能生成长期有效的公开预览链接。

四、如果已经被抓到了

顺序很重要:先断掉访问路径,再谈索引状态。先让页面下线、加 noindex 或收回访问权限,然后再等下一次抓取。如果地址已经出现在结果里,可以用移除工具做临时隐藏,同时用 404 或 410 明确告诉蜘蛛这个地址不再存在。

不建议用 302 跳回首页。这种做法会让蜘蛛持续回来确认跳转关系,反而延长了清理周期,也让首页承接了一堆语义无关的信号。

预览页面的处理原则很简单:先断掉访问路径,再谈索引状态。顺序反了,蜘蛛会反复回来确认一个它还够得着的地址。

五、把这一步并进发布流程

与其事后清理,不如固定成流程:预览只在登录态可见、测试域名长期禁止抓取、临时文件用完即删、上线前跑一遍上面的清单。另外,定期翻一下服务器日志里测试域名和未公开路径的抓取记录,能比较早地发现漏出的入口。日志不用天天看,但迁移、改版、大促这类节点前后值得专门查一次。

这些事情本身不产生内容,但它们决定了你已经做好的内容是被正常发现,还是被半成品页面分散掉注意力。养成习惯之后,每次大概十几分钟,比事后一边找索引一边删文件轻松得多。