先理解“已发现”和“已抓取”是两件事
在搜索抓取工具里,URL 状态经常出现“已发现但未抓取”。它表示搜索蜘蛛通过某个入口知道了这个地址,比如 Sitemap、内链、外链或历史记录,但还没有实际访问。发现只是进入候选池,抓取才需要消耗服务器资源和抓取额度。两者之间隔着一个队列。
因此,看到这个状态不必立刻认定被惩罚。更值得关注的是:地址是否长期停在这里,以及它是不是你希望优先被抓取的内容。
常见原因:为什么蜘蛛知道地址却不来
1. 服务器响应慢或不稳定
搜索蜘蛛在安排抓取时会参考历史抓取体验。如果站点经常超时、返回 5xx,或者同一时间只能处理很少请求,蜘蛛会主动降低抓取节奏。新发现的 URL 就会被排到后面。
服务器稳定性不是技术细节,它直接决定蜘蛛愿不愿意把抓取额度花在你这里。
2. 内链太弱或入口太深
如果 URL 只出现在 Sitemap 里,站内几乎没有指向它的链接,蜘蛛对它的重要性判断会偏低。Sitemap 能申报地址,但内链负责背书。缺少内链的页面,很容易长期停留在“已发现”状态。
3. 页面价值信号不足
大量相似页面、空内容、重复模板、参数生成的无效地址,都会稀释抓取意愿。蜘蛛会优先访问有独特内容、有更新、有外部引用的地址。
4. 抓取预算被低价值地址占用
如果站内存在大量筛选参数、标签组合、分页副本,蜘蛛的抓取额度会被这些地址消耗。真正重要的新页面反而排不上队。定期收敛低价值 URL 很重要。
5. Sitemap 提交了但缺乏更新信号
Sitemap 能帮助发现,但如果 lastmod 长期不变,或者每次提交都包含大量旧地址,蜘蛛会降低对该文件的信任。新地址混在旧地址里,不容易被单独识别。
处理顺序:先排除硬障碍,再优化软信号
- 检查可访问性:用无 JS 环境访问 URL,确认返回 200,内容不是空壳,也没有误设 noindex。
- 检查服务器:观察日志中的响应时间、5xx 比例和超时记录。先让服务器稳定,再谈抓取频率。
- 检查内链:从首页或栏目页给目标 URL 增加一两个自然入口,锚文本要能说明页面主题。
- 检查 Sitemap:只保留规范 URL,更新 lastmod,避免把参数页和重复页全部塞进去。
- 检查低价值地址:用 robots.txt 或 noindex 处理无意义的筛选组合,但不要误伤有搜索需求的页面。
- 观察日志:看蜘蛛是否访问了同目录的其他页面,以及访问频率是否在回升。日志比后台状态更接近真实抓取路径。
哪些情况可以等,哪些情况要改
如果 URL 上线不久,站内已有清晰内链,服务器也稳定,那么停留在“已发现”几天到几周并不罕见。蜘蛛有自己的节奏,尤其在新站或低权重站点上。
如果地址已经等待数月,内链入口很深,或者同批 URL 都没有被抓取,就需要主动调整。优先从内链和服务器反馈入手,而不是反复提交 Sitemap。重复提交通常不会让队列前进。
用巡检代替焦虑
把“已发现未抓取”的 URL 数量、平均等待时间、服务器错误率放进月度巡检。分组看待:新闻、商品、文档各自有不同预期。只要重要地址能持续进入抓取,少量长尾地址等待是正常现象。
小结
URL 发现是入场券,抓取才是真正消耗资源的一步。面对“已发现但未抓取”,先确认站点没有硬故障,再检查内链和 Sitemap 是否给出了足够清晰的信号。服务器稳定、结构清晰、低价值地址收敛,蜘蛛才更可能把有限的抓取额度用在值得的页面上。