要判断网站收录频率,日志里最值得先核对的是时间戳、请求URL、HTTP状态码、User-Agent、Referer、响应大小和响应时间。其中时间戳和URL用于统计“某页面多久被访问一次”,状态码和User-Agent用于判断“这次访问是不是搜索引擎抓取”,Referer和响应时间则帮助排除非抓取流量与服务器异常。只盯着访问次数,很容易把普通用户、监控程序或CDN回源请求误当成搜索引擎抓取,从而得出错误的收录频率。
日志通常按行记录一次请求。要定位收录频率,建议按下面的字段分组核对:
如果日志里还有IP、抓取耗时、缓存命中状态,也应一并保留。判断收录频率时,字段越完整,误判越少。
观察:先导出最近一段时间的日志,按URL分组,统计每个URL被访问的次数和相邻两次访问的时间差。不要一上来就看总量,总量会被首页、栏目页和静态资源拉高。
判断:用User-Agent筛出疑似搜索引擎抓取,再结合IP反向解析或搜索引擎官方提供的验证方式确认。若无法确认,就把该来源标记为“疑似”,不要直接写进结论。同时检查状态码:如果大量抓取返回404或5xx,所谓“收录频率低”可能只是抓取失败,而不是搜索引擎不愿意收录。
处理:根据判断结果分别处理。若是抓取被robots.txt拦截,注意robots.txt的抓取限制不等于可靠的索引移除,它只影响抓取,不保证页面从索引中消失;若是服务器错误,先修复5xx;若是URL参数导致重复,考虑规范化或统一链接;若是站点地图提交后仍无抓取,要明白站点地图不保证收录,它只是发现线索。
复查:处理后再取一段等长日志,对比同一批URL的抓取间隔、成功率和响应时间。复查时保持统计口径一致,否则前后数据不可比。
假设你怀疑某篇文章很久没被重新抓取,可以按以下步骤核对(以下为方法示例,非真实项目数据):
判断结果时要注意适用条件:如果日志只保留7天,就无法判断“一个月抓取一次”是否正常;如果站点使用CDN,源站日志可能看不到全部抓取,需要结合CDN日志;如果URL带会话参数,同一内容会分散成多条记录,统计前应先归一化。
第一,把监控程序或预取请求当成搜索引擎抓取。第二,把301跳转前的旧URL和跳转后的新URL混在一起统计。第三,只看总抓取量,忽略具体页面。第四,认为HTTPS就一定安全或一定有利于收录,HTTPS不保证安全无漏洞,也不保证排名。第五,把不同搜索引擎的抓取混为一谈,它们的抓取频率和支持情况需要分别核查。
核对字段的目的不是证明“搜索引擎来过”,而是回答“这个页面以什么频率、以什么结果被访问”。字段之间要互相印证,单一字段不足以支撑结论。
下一步,建议你先固定一个统计窗口,例如连续14天,导出日志后按URL和状态码建立一张对照表,再决定是修服务器、改链接结构,还是继续观察。