改版、做活动、开发新栏目的时候,站点上经常会多出一批临时页面。它们不是正式内容,但地址是真实可访问的,如果一直放在那里,就会被爬虫顺着链接或者站点地图摸进去。等发现时,这些页面已经出现在结果列表里了。
哪些页面最容易漏出去
先梳理一下常见的几类:
- 测试域名:test、beta、dev、staging 之类的二级域名或独立域名,权限往往没有做限制。
- CMS 预览链接:带 preview、token 之类参数的地址,发布前用来给同事看效果,发布后忘了关。
- 草稿状态的内容:部分系统里草稿也能通过固定 URL 打开,只是不在列表页显示。
- 占位页与空模板:栏目刚建好还没填内容,目录页已经能访问。
- 后台与接口页:登录页、上传目录、调试接口,正常情况不该被外部爬到。
一次完整的自查流程
- 先在搜索引擎用 site:你的域名 看一遍已进入索引的地址,重点看有没有测试域名、带参数的预览地址、明显不该出现的路径。
- 翻服务器访问日志,筛出返回 200 但路径异常的记录,尤其是爬虫的抓取记录。
- 检查 robots.txt:测试目录、后台路径是否有 Disallow,同时确认没有误屏蔽正式内容。
- 检查页面响应头:对不该公开但需要保留的页面,加 X-Robots-Tag: noindex。
- 检查 sitemap 是否把草稿页、测试页也提交了进去。
- 检查站内链接:编辑器里复制粘贴时,容易把测试环境的地址带到正式页面里。
处理原则:能删就删,删不掉就限制
直接删除或返回 404
临时页面用完就该删除。如果文件还在但确实不再使用,让它返回 404 或 410,比留着一个 200 的空白页更好,至少不会继续被当成有效内容。
保留但要限制访问
- 加 noindex 响应头,而不是只靠 robots.txt;
- 后台、预览类地址加登录验证或 IP 白名单;
- 测试环境整个域名加 Basic Auth,比逐个页面处理更省事。
需要提醒的是,robots.txt 只是抓取建议,不是访问控制手段。真正不想被看到的页面,应该在服务器层面拦住。
把检查放进日常流程
与其定期大扫除,不如在流程上加几个卡点:新栏目上线前确认占位页状态;活动结束后确认落地页是保留还是下线;每次改版后跑一遍上面的自查;把预览链接的有效期设短一点。
半成品页面本身不会带来流量,却会占用被抓取的机会,也可能让访客看到一个还没做完的站点。