这个坑值得记一笔。在网址检查里输入新发布的文章地址,结果显示网址不在 Google 上,可 sitemap 里明明有这一条,后台也没有任何报错。
排查方向其实有限,先把可能性排一排。URL 从未被蜘蛛抓取过,索引里没有记录;地址带参数或大小写与 sitemap 不一致,被当成新地址;页面返回 noindex 或需要登录,被抓后直接丢弃。
第一件事是用抓取工具看返回内容
curl -s -o /dev/null -w '%{http_code}' https://www.example.com/new-post/
接着核对 sitemap 里的写法是否完全一致
grep -n 'new-post' sitemap.xml
剩下的就是在网址检查里请求编入索引并看抓取结果
curl -s https://www.example.com/new-post/ | grep -i robots
那几天正好在做别的变更,先把时间线对齐才敢动手。
怎么算真的好了,看的是同一批现象。请求编入索引后一到两天,状态变为已发现,随后进入已编入索引,搜索里也能查到。
这里还有个坑。网址检查里的不在 Google 上并不等于被惩罚,多数情况只是还没被抓过,先确认可访问再提交,不用急着改内容。报错文案容易误导,真正的原因往往在相邻那一层的日志里。