许多站长反馈,在网站接入 cloudflare 全面防护后,百度爬虫的抓取频繁失败。即使已经在规则和 IP 白名单中向百度爬虫开放访问权限,抓取问题依然存在。无论是 PC 端还是移动端,均会出现类似的状况。理论上,Cloudflare 以其强大的防护能力和大数据基础,不应该造成此类问题,毕竟 Google、Bing 等国际爬虫从未出现类似情况。
在百度站长平台的【抓取诊断】工具中,无论选择 PC 端还是移动端,抓取结果始终报“socket 读写错误”。
经过测试和分析后发现,问题可能与 Cloudflare 的 SSL/TLS 配置有关。通过以下调整,可以有效解决抓取失败的问题:
- 进入 Cloudflare 后台,选择【SSL/TLS】。
- 在【边缘证书】部分,关闭随机加密(Opportunistic Encryption)。
- 建议将 TLS 协议版本设置为 1.2 或以下,兼容更多国内爬虫。
完成配置后,等待大约 10 分钟,再次在百度站长平台【抓取诊断】工具中测试,抓取即可恢复正常,PC 和移动端均可成功抓取。
额外注意事项
- 确保网站启用了 HTTPS,并完成百度等搜索引擎的 HTTPS 认证,避免因协议不匹配导致抓取失败。
- Cloudflare 默认强制 HTTPS 重写规则,国内搜索引擎必须确保支持 HTTPS。
意外发现
在调整配置后,通过 Cloudflare 的【安全性】事件日志,发现不仅百度爬虫恢复抓取,头条搜索、搜狗、神马等爬虫也恢复了正常访问。然而,部分国内爬虫对高级 SSL 配置的支持仍然较弱,稍复杂的环境可能会直接报“Socket 错误”。这提醒站长,在使用高端配置时需兼顾国内环境,避免因设置不兼容影响抓取结果。
通过这些调整,站长们可以在保障网站安全的同时,确保搜索引擎爬虫的正常抓取,为 SEO 提供坚实的基础支持。