检查网站内链结构在移动端与桌面端的差异,核心是看同一页面在两端的导航链接、正文链接和分页链接是否指向同一批URL,以及这些链接是否都能被抓取。最直接的方法是用浏览器开发者工具分别模拟移动端和桌面端,导出页面上的链接列表,再逐项比对。差异通常来自响应式隐藏、移动端简化导航、独立移动域名或动态渲染,先确认差异是否存在,再判断它是否影响抓取和权重传递。
打开目标页面,在桌面端用开发者工具的元素面板复制所有 <a> 标签的 href,存成一份列表;再切换到移动端模拟模式,重复一次。把两份列表做去重和比对,重点看三类链接:主导航与面包屑、正文中的上下文链接、列表页的分页与筛选链接。
display:none 隐藏,但链接仍在HTML里,这种情况通常不影响抓取。<a> 标签,而是靠JavaScript点击事件跳转,就要进一步确认爬虫能否执行脚本并发现目标URL。m.example.com,桌面端链到 www.example.com,需要检查两套URL之间是否有对应的规范或重定向关系。判断结果的标准很简单:同一内容页在两端应能通过链接到达,且最终指向的规范URL一致。若移动端只能通过搜索框或汉堡菜单里的深层入口到达,而桌面端有直接链接,这种差异值得记录。
移动端为了节省空间,常把导航折叠进汉堡菜单。折叠本身不是问题,关键是折叠后的链接是否仍写在HTML中。用开发者工具搜索目标链接的href,如果能搜到,说明链接存在,只是视觉上隐藏;如果搜不到,说明该链接在移动端HTML中缺失。
另一种常见情况是移动端使用独立域名或独立路径,例如桌面端为 /page,移动端为 /m/page。这时要检查:移动端页面是否通过 rel="canonical" 指向桌面端或自指,桌面端是否有对应的移动端标注,两套URL是否都能返回正常状态码。若移动端链接指向的URL返回404或需要登录,内链结构实际上已经断裂。
还要注意分页和筛选链接。部分站点在移动端把分页改成“加载更多”按钮,如果按钮不生成可抓取的 <a> 链接,后续列表页可能只能靠站点地图被发现。站点地图不保证收录,所以不能把它当作内链缺失的完整替代。
假设某详情页在桌面端正文中有指向三个相关产品的链接,移动端因布局调整只保留了一个。此时应判断:另外两个链接是否在其他页面仍可到达?如果只能靠这一个页面到达,移动端就丢失了两条内链路径。处理方式可以是把链接放回移动端HTML,或改由其他稳定入口承接。
确认差异后,优先让移动端和桌面端输出同一套可抓取的链接。常见做法包括:不用纯JavaScript点击替代 <a> 标签;折叠菜单里的链接保留在HTML中;移动端分页提供可抓取的下一页链接;独立移动域名做好规范与重定向。
改完后要复查,而不是假设已经生效。复查项包括:两端链接列表是否一致、移动端缺失链接是否恢复、目标URL是否返回200、规范标签是否指向正确版本、抓取限制是否误伤了新链接。robots.txt 的抓取限制不等于可靠的索引移除,所以如果发现某条链接被robots.txt挡住,要单独判断它是否应该被抓取,而不是直接当作已处理。
下一步,选一个你站点上移动端和桌面端导航差异最大的页面,按上面的步骤导出两份链接列表,先找出差异,再决定是补链接还是调整规范关系。