一個新頁面要被搜尋收錄,第一步不是抓取,而是被蜘蛛“知道”它存在。這個知道的動作叫 URL 發現。發現之後才有抓取,抓取之後才有解析和入索引。很多“提交了没動静”“頁面几個月没被抓”的問题,其實卡在最前面的發現环节。
發現、抓取、收錄是三件事
把三者分開看,排查顺序就清楚了:
- 發現:蜘蛛從哪里拿到這個 URL,通常是内鏈、外鏈、sitemap、重定向或歷史记錄。
- 抓取:蜘蛛真的請求了這個 URL,服務器返回 200,内容可解析。
- 收錄:内容被判断為值得進索引,並且有明确的代表地址。
日誌里能看到抓取,索引狀態里能看到收錄,唯獨“發現”是看不见的一步,只能靠推断:有没有给蜘蛛留一條走得通的路。
連結深度:從首頁算起几跳
浅层與深层的差別
把站点画成一張图,首頁是起点,每個連結算一跳。首頁直接指向的頁面是一跳,列表頁里的商品是两跳,商品頁下方的推荐位是三跳。跳數越多,能分到的發現和抓取机會越少,這是结构問题,不是權重問题。
- 一跳、两跳:新 URL 常在当天或几天内被發現。
- 三跳以上:需要更長時間,有时要等中間那一层頁面被重新抓取。
- 入口只来自外鏈、搜尋或參數:容易變成孤儿頁面。
让重要頁面更靠近首頁
導航、分類頁、专题頁、最新内容列表,都是把深层頁面往前提的抓手。把一個重要栏目放進主導航,通常比在頁脚堆几十個連結有效得多。對于内容站,按主题做的聚合頁也是同理,它能把散落的長尾頁面收在一起。
哪些内鏈位置更容易被跟上
蜘蛛對連結的處理不只看數量,還看位置和上下文:
- 主導航:全站可见,發現最稳定,适合放核心栏目。
- 面包屑:给詳情頁和小類目一條返回路径,同时体現层級。
- 正文内鏈:上下文相關,用戶也愿意点,适合内容型頁面互相引用。
- 列表與聚合頁:新品、新文章的第一落点,一定要有。
- 相關推荐:能扩大覆盖面,但不必让所有頁面互相全鏈。
- 頁脚全站連結:數量一多就接近噪音,反而稀释了有效入口。
孤儿頁面為什么迟迟不出現
没有任何内鏈指向、只存在于 sitemap 里的頁面,就是孤儿頁面。sitemap 能起到提示作用,但它不保證蜘蛛會優先抓取,也不保證一定被抓。這類頁面通常靠下面几種方式被發現:外鏈、社交分享带来的訪問、站内搜尋的落地地址,以及站点地图文件的批量讀取。
如果這類頁面本身有價值,最稳妥的做法還是补一條從相關栏目或正文指向它的内鏈,而不是長期依赖 sitemap 兜底。
自己動手查一遍發現路径
- 打開服務器日誌,筛出蜘蛛的請求,找到新 URL 第一次出現的日期。
- 對照那次訪問,判断入口来自首頁、列表頁還是外鏈。
- 在站内搜這個地址,看有没有内鏈指向它,位置在第几层。
- 如果只在 sitemap 里出現,就给它补一條正常的站内入口。
- 等下一次抓取,再观察该 URL 的訪問频率有没有變化。
發現只是開始
蜘蛛来過,不代表頁面會進索引;進了索引,也不代表會有排名。發現只解决“它知道有這么個頁面”,後面還要看内容质量、重复程度和站点整体的抓取情况。
把内鏈结构理顺,让重要頁面离首頁更近,给孤儿頁面补一條路,這几件事做到位,URL 發現的效率通常會稳定一些。剩下的部分,交给内容和時間。