站点运营

站点运营:草稿與预览頁自查,別让半成品地址被蜘蛛当成正文

草稿预览連結、測試环境镜像站、自動生成的附件頁,往往没有做任何訪問限制,蜘蛛一旦爬進去就會把半成品当成正式内容處理。本文梳理這類地址常见的泄露路径,给出站内检索、訪問日誌、预览功能等自查步骤,以及刪除、鉴權、跳轉與屏蔽之間的處理優先級。

站点运营

站点运营:草稿與预览頁自查,別让半成品地址被蜘蛛当成正文

很多站点的抓取和收錄問题,並不出在正式文章上,而是出在那些“還没准备好见人”的地址上。編輯器生成的草稿预览連結、測試环境的镜像站、上传後自動生成的附件頁,往往没有加任何訪問限制。蜘蛛顺着一條外鏈爬進去,就會把一個半成品当成正式内容處理。這類頁面通常没有導航、没有内鏈、内容残缺,被抓走之後既影响整站质量判断,也容易和正式頁形成重复。

這些地址是怎么漏出去的

先看清泄露路径,再谈處理方式。常见的几種情况:

  • 预览連結本身可訪問,且带有一段可被猜到的 ID 或短随机串,被分享到群聊、工單系統後進入爬虫队列;
  • 測試域名解析到了公網,robots.txt 却直接照抄正式站配置,等于告诉蜘蛛可以随便抓;
  • 图片、PDF、压缩包上传後由 CMS 自動生成獨立附件頁,又被媒体库、搜尋结果頁或站点地图連結出来;
  • 歷史改版留下的静態目錄還躺在服務器上,只是首頁入口被删掉了,文件本身仍然在;
  • 篩選、排序參數生成的临时地址被当成正常頁面輸出,模板里没有做任何标记。

自查步骤

  1. 站内检索抽查。用 site: 配合 inurl: 组合查询,例如 inurl:draft、inurl:preview、inurl:test、inurl:tmp、inurl:old,看是否有非预期地址已经出現在结果里。同时對比 site: 的頁面總量與自己統計的正式頁數量,差距過大就說明有東西漏在外面。
  2. 翻訪問日誌。過滤出狀態碼為 200 但路径明顯異常的請求,重点看 /uploads/、/tmp/、/backup/、/demo/ 這類目錄。日誌里出現過的路径,往往就是蜘蛛已经走過的路径。
  3. 測試预览功能。登出後台登入狀態,用無痕窗口打開一條预览連結。如果能正常顯示内容,說明這扇门對所有訪客都是敞開的。
  4. 检查測試域名。確認測試环境是否有獨立的 robots.txt,是否配置了基本的訪問認證。測試站和正式站共用同一套配置、同一套資料库,是很多問题的源头。
  5. 梳理附件與临时頁。看媒体库是否會為每個文件生成獨立頁面,看篩選、排序參數是否會生成可訪問的新地址。這些頁面大多没有运营價值,却會成倍增加被抓取的地址數量。

處理方式與優先級

處理原則很简單:能删的删,删不掉的挡,挡住之後再谈引導。

  • 已经没有價值的目錄和文件直接移除,返回 404 或 410,比留在原地更干净;
  • 仍需保留的(内部预览、測試站等),用訪問認證挡在外面。401、403 比寫進 robots.txt 更彻底,因為 robots.txt 只能约束守規矩的爬虫,頁面本身依然可以被外鏈引用;
  • 已经出現在结果里、且确實不该公開的地址,如果内容已迁移到正式頁,用 301 指向新地址;如果内容整体废弃,用 410 明确告知;
  • 在 robots.txt 里统一屏蔽 /draft/、/preview/、/tmp/ 等目錄,可以作為补充手段,但不要把它当成唯一防线;
  • 正式站與測試站使用不同域名、不同配置、不同資料库,避免一次誤操作把草稿推到线上。

把它變成日常习惯

這類問题很难一次性根治,因為新的预览連結每天都在产生。可以固化几個小動作:给预览連結設定有效期;發布前確認文章地址是否被带參數分享出去;每月用站内检索和訪問日誌各抽查一次;改版时列一份舊目錄清單,逐條確認是保留、跳轉還是刪除。

蜘蛛不會分辨“這是草稿”還是“這是正文”,它只看到你的服務器返回了 200。對半成品地址的每一次疏忽,都會變成一次低质量抓取。