百度爬虫改版或迁移时应核对什么

📍 WDQWDWQD987AAAAA:216.73.216.79
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /c02cf9f8738c.html
📄

百度爬虫改版或迁移时应核对什么

改版或迁移时,应核对百度的抓取与索引是否被意外阻断。核心是确认旧链接是否仍可达、新链接是否可被抓取、站点地图与robots.txt是否指向正确版本,以及服务器日志里百度爬虫的访问是否正常。

先看一个假设例子

假设某站点从旧域名迁移到新域名,运维只配置了301跳转,但robots.txt仍保留旧规则,禁止抓取部分目录。百度爬虫访问旧链接时会被跳转到新域名,但到新域名后又被robots.txt拦住,导致新页面长期不被抓取。这个例子的关键不是跳转本身,而是跳转后是否还有第二道拦截。

常见错误是只检查首页跳转,不检查内页;只看浏览器能否打开,不看百度爬虫的访问记录。浏览器能打开不等于爬虫能抓取,因为robots.txt、服务器防火墙、CDN规则都可能只对爬虫生效。

核对旧链接与新链接的可达性

逐项检查旧URL是否返回301或302,并确认最终落地页返回200。不要用JavaScript跳转替代服务器端跳转,因为百度爬虫对JS跳转的识别可能不稳定。可以用命令行工具模拟爬虫请求,观察状态码和重定向链:

curl -A "Baiduspider" -I https://旧域名/路径

判断结果:若返回301且Location指向新域名,继续请求新域名;若新域名返回200,说明跳转链正常。若返回403、404或跳转回旧域名,说明配置有误。注意,302是临时跳转,迁移场景优先用301。

核对robots.txt与站点地图

robots.txt的抓取限制不等于索引移除。即使禁止抓取,已索引的旧页面仍可能出现在搜索结果中。迁移时要确认新域名的robots.txt没有误封重要目录,同时旧域名的robots.txt不应阻止百度爬虫访问跳转规则。

站点地图不保证收录,但能帮助发现新链接。核对站点地图中的URL是否全部为新域名,且返回200。若站点地图仍包含旧域名,百度爬虫可能反复抓取旧链接,浪费抓取配额。站点地图应放在新域名根目录,并在百度搜索资源平台提交。

核对服务器日志中的百度爬虫

日志是定位问题的直接证据。筛选User-Agent包含Baiduspider的记录,观察三点:

若日志中百度爬虫几乎消失,可能是DNS解析、防火墙或CDN拦截。若大量404,说明旧链接未正确跳转。若只有首页被抓,说明内链或站点地图未暴露新链接。

核对HTTPS与安全配置

HTTPS不保证安全无漏洞或排名,但迁移到HTTPS时,证书链不完整可能导致百度爬虫握手失败。检查证书是否由可信CA签发、是否包含中间证书、是否与域名匹配。可用在线SSL检测工具或命令行验证:

openssl s_client -connect 新域名:443 -servername 新域名

若返回验证错误,百度爬虫可能无法建立连接。此时应先修复证书,再观察日志中是否恢复访问。

下一步行动

先导出改版前后一周的服务器日志,筛选Baiduspider记录,对比旧域名与新域名的状态码分布。若发现403或404集中出现,优先修复对应规则,再重新提交站点地图并观察抓取变化。

图1 图2

nginx