在站长后台看到一条收录,点进去是还没写完的草稿,标题栏写着「(无标题)」,正文只有三行占位文字,快照时间是三天前。乍看像缓存或者权限的锅,追下去往往不是。

curl -sI 'https://example.com/?p=903&preview=true' | findstr /i "x-robots-tag"
curl -s 'https://example.com/robots.txt'

追下去是这么回事:预览地址带 preview 参数,页面没有输出 noindex,robots.txt 也没挡住带参数的路径。草稿本身是 draft,但预览渲染走的是另一种请求,状态判断没覆盖到。

「草稿预览收录」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。

能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。报错里带路径的,先去看那个路径在不在、权限对不对。

具体做法是,给预览请求加 X-Robots-Tag: noindex,别只依赖 meta;在 robots.txt 里屏蔽带 preview 参数的路径;用站长后台的移除工具提交删除,别等它自己掉;发布前再搜一次标题,确认没有残留快照。

验收就看一点,预览地址的响应头里出现 noindex,搜索 site: 查不到那条草稿。

作者 9823189