站点运营

站点运营:草稿、測試頁與预览連結自查,別让蜘蛛抓到半成品

草稿頁、測試站和预览連結如果對外可訪問,很容易被抓取工具一並訪問,用戶搜到时看到的却是半成品。這篇文章按訪問控制、狀態碼、日誌排查和發布流程四個方面,整理一套可以定期执行的清理方法。

站点运营

站点运营:草稿、測試頁與预览連結自查,別让蜘蛛抓到半成品

很多站点的問题不是内容不够,而是不该被看到的東西先被看到了。編輯在後台存了個草稿,运营發了個预览連結给同事確認,開發把測試环境挂在了公網可解析的域名上——這些地址一旦能被外部訪問,就有机會被抓取工具寫進队列。它們通常没有導航、没有配图、正文半句话,被用戶搜到时观感很差。

一、草稿頁常见的三種“漏出”方式

  • CMS 自動生成的预览地址:不少系統會给草稿分配一個带參數或 ID 的固定地址,只要有人訪問過一次,連結就可能被複製到各處。
  • 測試域名與暂存站可被解析:dev、test、staging 之類的子域名如果對外可訪問,又没有訪問限制,等于多了一個内容残缺的镜像站。
  • 协作工具里的外鏈:把预览連結贴進群聊、邮件、外部文档,連結本身就成了一個可被發現的入口。

二、自查时先確認“能不能被外部訪問”

排查顺序建议從訪問控制開始,而不是從内容改起。

  1. 用未登入、無 cookie 的浏览器窗口訪問草稿地址,看是否需要登入或驗證碼。
  2. 查看该地址返回的狀態碼,是 200 還是 403/404。
  3. 在站点日誌或抓取记錄里,筛一下 preview、draft、test、tmp 這類路径關鍵詞,看有没有訪問痕迹。
  4. 检查 sitemap 和栏目列表,確認没有把草稿或測試頁混進正常集合。

如果第 1 步就直接返回了正文,說明問题在權限层,後面几步只是確認影响范围。

三、處理方式按“能不能删”分两類

可以刪除的

已经定稿發布、或確認不再需要的草稿頁,直接删掉並让地址返回 404;如果是曾经正式發布過、後来下线的頁面,更适合返回 410,表達“确實不再提供”。長期挂着 200 的空壳最麻烦。

需要保留訪問的

预览功能是刚需,不能一關了之。常见的做法是:

  • 给预览地址加一次性或有时效的令牌,過期即失效;
  • 對预览頁整体加 noindex 标记,或者放在 robots.txt 的禁止抓取路径下(注意:robots 禁止抓取的同时,頁面上的 noindex 往往讀不到,两者選其一即可,別指望双保險);
  • 測試环境放在需要内網或白名單訪問的位置,不要用公網可直接打開的域名。
判断标准很简單:這個地址如果被陌生人打開,你會不會觉得尴尬。會尴尬,就別让它留在公網上。

四、別让内部連結指错地方

自查里最容易被忽略的一点,是正常頁面里混進了測試地址。編輯從预览頁複製正文时,顺手把图片、附件或“相關阅讀”的連結一起複製過来,這些連結就會指向測試域名。發布前掃一遍正文外鏈,把 test、staging、内網 IP 開头的地址替換掉。

五、把检查放進日常流程

與其每次改版後突击排查,不如把它變成發布前的一步:後台發布按钮旁标注“確認無预览連結残留”,新栏目上线时顺带確認測試环境是否已隔离。频率不用高,一季度清一次歷史遗留地址,就能避免大部分“蜘蛛抓到半成品”的情况。

最後提醒一句:這類地址被抓取工具訪問,通常只影响观感和少量抓取资源,不會直接導致整站出問题。真正需要在意的是那些内容残缺、又長期返回 200 的頁面——把它們清理干净,比纠结某一條連結更實际。