检查百度收录提交在移动端与桌面端的差异,核心不是看提交按钮是否一样,而是核对同一 URL 在两个端上返回的 HTML、状态码、robots 限制和渲染结果是否一致。时间人手有限时,优先查移动端与桌面端返回内容不同的页面,因为这类差异最容易让提交后的抓取结果与预期不符。
百度收录提交只是把 URL 告知搜索引擎,不保证抓取、渲染和收录。移动端与桌面端可能使用同一套 URL,也可能使用独立 URL 或动态返回不同模板。提交入口通常只接收 URL,不会替你判断两个端的内容是否等价。因此,提交成功只说明请求已发出,不能说明移动端和桌面端会被同样处理。
容易踩的坑是:在桌面浏览器看到页面正常,就认为移动端也没问题。实际差异可能来自服务端根据 User-Agent 返回不同 HTML、移动端缺少正文、跳转链不同、robots.txt 对某个爬虫单独限制,或者 JS 渲染在移动端失败。这些差异需要分别检查,不能靠一个端的表现推断另一个端。
第一步用不会执行 JS 的方式请求同一 URL,分别模拟桌面和移动端 User-Agent,比较以下检查项:
noindex,两个端是否一致。这里要区分“可能原因”和“已经定位的原因”。移动端返回 302 只是现象,可能原因是移动适配跳转、CDN 规则或服务端模板判断,不能直接断定是某一种。只有抓到响应头和 HTML 后才能确认。
另外,robots.txt 的抓取限制不等于可靠的索引移除。即使 robots.txt 禁止抓取,已收录 URL 仍可能出现在结果中,只是摘要和快照可能受限。所以发现移动端被 robots 限制时,不要把它当成下架手段,而应作为抓取差异来记录。
抓取层通过后,检查渲染后的 DOM。桌面端和移动端如果依赖 JS 加载正文、评论或分页链接,可能出现一端渲染成功、另一端失败。可用浏览器开发者工具切换设备模拟,再对比渲染后正文长度、主要标题、内链数量和分页链接。
判断标准可以设得具体一些:同一篇文章的标题、正文首段、主要内链在两端都应存在;移动端若只显示摘要而桌面端显示全文,就属于内容差异。若移动端把分页链接替换成“加载更多”按钮,而该按钮依赖 JS 且未被渲染,则后续页面可能无法被抓取发现。
站点地图不保证收录。把移动端和桌面端 URL 都放进 sitemap 只是提供发现线索,是否抓取和收录仍取决于页面质量、可访问性和百度自身判断。不要因为提交了 sitemap 就跳过两端一致性检查。
按影响面排序,先处理会阻断抓取或造成内容缺失的差异:
如果移动端与桌面端使用独立 URL,还要检查移动端 URL 是否能被单独提交和抓取,以及两端之间的适配声明是否一致。若使用同一 URL 动态返回,则重点核对服务端是否对百度爬虫返回了与普通用户不同的内容。HTTPS 不保证安全无漏洞或排名,它只说明传输层加密,不能替代上述检查。
假设某文章桌面端返回 200 且正文完整,移动端返回 200 但正文为空,只有“请打开 App 查看”。这属于内容差异,不是提交问题。处理方式是让移动端至少输出与桌面端等价的正文,或明确使用适配关系并保证移动端可被抓取。若移动端返回 302 跳到 App 下载页,则应先确认该跳转是否必要,再决定是否保留。
下一步:挑一个已提交但表现异常的 URL,用桌面和移动 User-Agent 各请求一次,记录状态码、正文长度、canonical 和 robots 限制,再按上面的顺序决定先修哪一项。