事情本身不复杂,线索都在日志里。每天用普通收录接口推送新文章,返回体里 not_same_site 和 success 都是数字,脚本只看 success 就认为成功,一个月后百度收录还是 0。
这类报错背后常见的原因有几处,逐个排除就行。返回里的 success 只是推送成功,not_same_site 才是关键。少数情况下是推送的域名和站长平台验证的站点不一致。
还有一种情况,内容本身是采集拼凑,推了也不收。
动手时先看返回体的完整字段
curl -s 'http://data.zz.baidu.com/urls?site=https://www.example.com&token=xxx' -H 'Content-Type: text/plain' -d 'https://www.example.com/post/1'
随后核对站点验证文件
curl -s https://www.example.com/baidu_verify_codeva.html | head -3
等前面都确认过,再确认页面本身可正常访问
curl -sI https://www.example.com/post/1 | head -3
白天有业务在跑,能验证的部分都压到了晚上做。
当时还开着另一个排查窗口,两边日志对照着看才定位到。
恢复的判定其实很直接。修正域名后重推,not_same_site 归零,一周内新文章开始出现在百度索引。
补一句。推送返回码要看全,success 高但 not_same_site 也高,说明域名对不上,等于白推。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
