URL 本身不參與排序打分,但它决定了蜘蛛每一次抓取的成本。入口頁、内鏈、Sitemap、日誌,全都以 URL 為基本單位。结构混乱时,蜘蛛要多花時間判断“這個地址是不是新的”“和刚才那個是不是同一個頁面”,真正能分给内容抓取的机會就變少了。
URL 在抓取鏈路里承担什么角色
蜘蛛的工作可以粗略拆成三步:拿到一個 URL、判断值不值得抓、抓完之後决定要不要繼續顺着它的連結走。URL 结构在這三步里都有影响。带清晰目錄的地址,蜘蛛更容易判断它属于哪個板块、大概是什么内容;带一堆參數或數字 ID 的地址,判断成本更高,也更容易在去重环节被丢掉。
目錄层級:不必追求“越浅越好”
“三层以内”是常见说法,但更實用的判断标准是從首頁到目标頁需要几次点击。如果詳情頁只能靠站内搜尋或者翻十几屏分頁才能到達,层級數字再好看也没用。
- 核心栏目與主要商品、文章頁,尽量控制在 2 到 3 次点击内可達。
- 長尾頁面可以更深,但要保證從栏目頁或相關推荐里有稳定的内鏈入口。
- 為了压层級把所有頁面塞到根目錄,反而會让蜘蛛难以判断站点结构,通常不划算。
命名方式:ID 與语义化路径各有取舍
语义化路径(例如 /category/product-name)可讀性好,蜘蛛和人在看到連結时都能猜出内容方向;數字 ID 路径(例如 /item/102384)稳定、改标题时不用動 URL,但信息量少。两者都能被正常抓取,不存在必须用哪一種的問题。
真正需要注意的是混合型地址:前面是语义化路径,後面又拖一串 ID 和參數。這種地址既長又不稳定,标题一改就容易产生新地址,反而增加去重负担。
URL 首先是给机器讀的,人只是顺便看一眼。可讀性是加分項,不是必须項。
结尾斜杠、大小寫與參數的一致性
這類問题看着琐碎,却是重复地址的高發区。
- 结尾斜杠:如果 /page 和 /page/ 都返回 200,等于同一内容有两個地址。選一種寫法,另一種做 301。
- 大小寫:服務器区分大小寫时,/News 和 /news 是两個不同地址。内鏈和 Sitemap 里要统一。
- 追踪參數:来源統計、會话參數尽量不要寫進内鏈和 Sitemap,它們會让同一個頁面在日誌里出現很多次。
- 預設頁:/list 與 /list/index.html 同时可訪問时,也建议只保留一個。
改版或重构 URL 时的注意事項
URL 一旦被收錄和引用,改動就意味着舊地址失效。改動前建议按下面的顺序處理:
- 先導出目前日誌和 Sitemap 里的活跃 URL,確認哪些地址确實有蜘蛛訪問。
- 為每個舊地址准备到新地址的一對一 301,避免统一跳到首頁。
- 同步更新站内連結、導航、分頁和相關推荐,不要让舊地址繼續出現在頁面上。
- 提交新的 Sitemap,同时保留舊 Sitemap 观察一段時間,方便對照抓取變化。
- 改版後定期看日誌,確認舊地址的訪問量在下降、新地址在上升。
一份简單可用的检查清單
- 随机抽 20 個頁面,看從首頁走到它們各需要几次点击。
- 检查是否存在同内容多地址:斜杠、大小寫、參數、www 與非 www。
- 確認分頁、篩選、排序連結不會被内鏈成批带出。
- 看 Sitemap 里的地址與頁面内鏈用的地址格式是否一致。
- 回看日誌里 301 和 404 的集中出現位置,多半能定位结构問题。
URL 结构不需要做到完美,但需要做到一致。稳定、可预测的地址規則,能让蜘蛛少做判断、多做抓取,這本身就是站点运营里划得来的一件事。