在wordpress主机上区分访问抓取与索引结果,最直接的方法是看服务器日志和搜索引擎结果页是否同时出现同一个URL:日志里有搜索引擎爬虫的请求记录,只能说明发生了抓取;只有在搜索引擎结果页能搜到该URL的标题、摘要或site查询结果,才算进入索引。两者可能同时成立,也可能一个成立另一个不成立,因此必须分开核对。
访问是任何客户端向wordpress主机发出HTTP请求,包括真实用户、监控工具和爬虫。抓取是搜索引擎爬虫根据URL或链接来请求页面,属于访问的一种。索引是搜索引擎把抓取到的内容处理后存入自己的检索库,用户能在结果页找到它。常见错误是把日志里的爬虫访问当成已收录,或者把site查询没看到结果直接判断为抓取失败,这两种判断都缺少另一半证据。
假设你的wordpress主机上有一篇新文章,URL为/guide/host-check/。发布三天后,你在主机访问日志里看到来自搜索引擎爬虫的GET请求,状态码是200;但用site查询该URL时没有任何结果。此时可以判断:抓取很可能已经发生,索引尚未确认。反过来,如果site查询能搜到该URL,但日志里没有对应爬虫请求,可能是搜索引擎通过其他来源获得了内容,或者日志被轮转、采样、缓存层过滤,不能据此否定抓取。
执行步骤可以这样安排:
site:你的域名/guide/host-check/查询,观察是否出现该URL。noindex、robots.txt是否禁止抓取、canonical是否指向其他URL。robots.txt中的Disallow只限制爬虫抓取,不等于把已索引页面移除;要移除索引,需要页面返回noindex或使用搜索引擎提供的移除工具,并且不同搜索引擎的支持情况要分别核查。站点地图提交只帮助搜索引擎发现URL,不保证收录。HTTPS只表示传输加密,不保证网站没有漏洞,也不保证排名。把这三项中的任何一项当作索引证明,都会误判。
当你需要比较“继续等待”和“主动干预”两种方案时,可以按下面的检查项判断:
判断结果时,以“日志证据+结果页证据+页面HTTP状态”三者组合为准,不要只凭单一现象下结论。不同搜索引擎的抓取和索引机制不同,应分别查看各自的日志记录和结果页。
在wordpress主机上为需要观察的URL建一张表,列出URL、最近抓取日期、HTTP状态、是否含noindex、site查询结果和最后核对时间。每次只改一个变量,例如先移除noindex,再观察抓取和索引是否变化。这样你就能把访问抓取与索引结果分开记录,而不是混在一起猜测。