網站收錄

URL 归一化:大小寫、尾斜杠、www 和协议,收錄前统一到哪個版本

同一内容出現多個 URL,會让蜘蛛和索引把信号分散到不同地址。本文梳理协议、www、尾斜杠、大小寫等常见不一致,說明怎么選主版本、在哪里统一,以及检查时该看哪些資料。

網站收錄

URL 归一化:大小寫、尾斜杠、www 和协议,收錄前统一到哪個版本

搜尋引擎先按 URL 识別頁面,再把多個信号归到同一個地址上。如果同一篇内容能通過好几個 URL 打開,蜘蛛可能分別抓取,索引也可能分別存放。结果就是内鏈和外部連結被分散,頁面质量评估被稀释,收錄表現不稳定。URL 归一化不是高級技巧,而是收錄前的基础整理。

同一頁面為什么會出現多個 URL

常见的不一致往往来自服務器、模板和歷史配置,而不是内容本身。下面這些情况,很多站点同时存在几種。

  • 协议:http 和 https 都能訪問,或 https 頁面里混着 http 资源連結。
  • 域名前缀:带 www 和不带 www 同时返回 200。
  • 尾斜杠:/page 和 /page/ 被当成两個地址。
  • 大小寫:/Article 和 /article 在部分服務器上等價,在另一些服務器上却是两個頁面。
  • 預設文档:/ 和 /index.html 都能打開首頁。
  • 參數:排序、篩選、追踪參數生成不同 URL,内容却基本相同。
  • 锚点與片段:带 #section 的連結通常不影响服務器,但分享时容易被誤当成獨立頁面。

這些地址如果都返回 200,蜘蛛就會把它們当作不同 URL 處理。抓取预算被分走,收錄也可能出現重复或遗漏。

哪些地方必须统一到同一個版本

選好一個主版本後,站内所有指向该頁面的地方都應该使用同一個 URL。重点检查以下几處:

  • 内鏈:導航、正文連結、相關推荐、面包屑,不要混用带尾斜杠和不带尾斜杠的寫法。
  • sitemap:只放規范 URL,不要同时提交多個版本。
  • canonical:每個頁面指向自己的規范地址;如果頁面有多個版本,非規范版本指向主版本。
  • 301 重定向:非主版本用 301 跳到主版本,不要用 302 長期顶着。
  • 结构化資料與分享配置:JSON-LD、Open Graph 里的 URL 也保持一致。
  • hreflang:多語言版本之間的互相指向,要用各自語言的規范 URL。

這些位置只要有一處混用,蜘蛛就可能顺着舊版本繼續爬,形成新的不一致。

主版本怎么選

没有绝對标准,但要選一個能長期维護、證书覆盖完整、服務器配置稳定的版本。通常優先 https,然後决定带不带 www。判断依據可以看歷史外鏈和收錄情况:如果外鏈大多指向带 www 的版本,切換成本會高一些。選完之後,另一個版本统一 301 過去。

主版本一旦确定,就不要因為一次活動或一次改版随意換回来。频繁切換會让蜘蛛反复調整,收錄也會跟着波動。

检查與處理清單

  1. 用服務器日誌抽查蜘蛛抓取的 URL,看它主要在抓哪個版本。
  2. 在索引报告里搜尋同一路径的不同寫法,確認是否存在重复。
  3. 測試非主版本是否返回 301,而不是 200 或 302。
  4. 检查 canonical 是否自指,非規范頁面是否指向主版本。
  5. 检查 sitemap 和内鏈,确保没有舊版本地址。
  6. 如果服務器對大小寫敏感,统一模板輸出小寫路径,並在重定向規則里處理大寫訪問。
  7. 處理參數型 URL:能静態化就静態化,不能静態化的用 canonical 或 robots 規則控制抓取。

處理时注意顺序:先确定主版本,再改重定向,然後改内鏈和 sitemap,最後观察日誌和索引报告。一次性全改容易掩盖問题,分步更容易定位。

几個容易踩的坑

把 canonical 当成 301 用,是常见誤区。canonical 是提示,301 是更强的信号,两者不能互相替代。還有站点用 robots.txt 屏蔽非規范版本,以為這样就能解决問题,但被屏蔽的 URL 無法传递權重信号,蜘蛛也看不到頁面上的 canonical。更稳妥的做法是让非規范版本可訪問,但通過 301 或 canonical 指向主版本。

另外,CDN、反向代理和框架路由都可能改變 URL 的最终形態。上线新模板後,最好重新抽查一遍大小寫、尾斜杠和預設文档的處理規則。

URL 归一化不是一次性的任務。改版、新栏目、新 CDN 配置都可能重新引入不一致。把它放進站点运营的常規检查里,蜘蛛抓取的路径才會更集中,收錄也更容易稳定下来。