1、百度官方文档上的一句话
不同的CDN服务商在全国分布的节点数不同,站点在使用CDN服务时,同一地区CDN给蜘蛛返回的IP地址要和给用户的一致。
部分CDN服务商出于成本考虑与资源使用率的问题,会在不告知用户的情况下变更IP地址以节约成本,这样就导致蜘蛛在去抓的时候,会遇到新IP和老IP的问题,在站点没有告知更换IP的情况下,蜘蛛会认为站点目前存在问题,首先是减少抓取量,其次会判断是否把不可访问的页面下掉,这时候就出现了用户访问IP与蜘蛛抓取IP不一致的情况。
建议有以下两点:站点在选择CDN服务时要选择稳定的CDN服务商;如果IP更换最好通过站长平台抓取诊断工具抓取测试,如果IP不正确可以点击下图红框“报错”提示给站长平台。
2、关于百度的抓取机制
百度的抓取机制是:第一次访问后,为了快速抓取,会把域名对应IP给缓存起来,第二次就不访问域名的DNS解析了,直接访问缓存的IP;CDN的ip节点是动态变化的,这就会造成第二次访问了原先的IP,会报错。
用户访问的时候:浏览器通过DNS查找用户输入网址对应的服务器IP地址,如果IP存在尝试与服务器建立TCP连接。
上次在看百度的上海大讲堂视频时,似乎听到说百度现在会弄两个爬虫,一个真实的爬虫,一个伪装成用户,来避免出现抓不到内容的问题,至于跟这个搭不搭嘎,还是得回去浏览下视频,再详细了解下。
3、会由于CDN原因导致百度对网站的访问出现问题的两个原因解释
一是IP地址乱变,用域名访问不一定可以访问。
二是在每个网站IP相对固定的前提下,访问的爬虫IP都是相对固定的,都在某个C段。但是如果网站IP乱变,搜索引擎会减少访问,因为要重新分配爬虫IP给你网站。
4、小细节知识点
稳定的CDN对SEO无害反而有利;
建议只对静态网页使用CDN,动态网站不使用;
部分CDN可以对搜索引擎解析IP,可将搜索引擎来源请求解析至源IP。