打开 sitemap.xml 发现里面有一条 pending 文章的地址,提交给搜索引擎两天后收录了,标题还是「待审:渠道报价对比(初稿)」。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,sitemap 生成器按 post_type 取文章,没有过滤 post_status,pending 和 future 都被写进去了。文章页本身要登录,但抓取工具拿到的是公开的 sitemap 条目。
「sitemap 收录草稿」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
curl -s 'https://example.com/wp-sitemap-posts-post-1.xml' | findstr /i "pending 903" wp post list --post_status=pending --fields=ID,post_title
权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
具体做法是,在 sitemap 查询里只保留 publish,显式排除 pending 和 future;给 pending 页面加 noindex,双保险;重新生成 sitemap 并提交更新;用站长工具请求移除已收录的那条。
最后用这个标准收尾,sitemap 里只剩已发布文章,搜索 site: 查不到那条待审标题。
