站点运营

站点运营:URL 規范自查,別让同一篇内容散落成多個地址

同一篇内容如果同时存在大小寫、尾斜杠、带參數等多個地址,蜘蛛會当成多個頁面反复抓取,權重也容易被摊薄。這篇文章整理了常见的 URL 不统一来源、自查方法和處理顺序,帮你把地址收敛到一條規范路径上。

站点运营

站点运营:URL 規范自查,別让同一篇内容散落成多個地址

做站内结构时,很多問题不是出在内容上,而是出在地址上。同一篇文章,可能因為大小寫、末尾斜杠、跟踪參數、預設文档等原因,在服務器上對應着好几個可訪問的 URL。對用戶来说看不出区別,對蜘蛛来说却是几個不同的頁面,抓取和權重都會被打散。

URL 規范這件事不难,但需要定期检查。下面按“常见来源—怎么查—怎么改”的顺序说一遍。

常见的 URL 不统一来源

  • 大小寫混用:/Article/100 和 /article/100 在区分大小寫的服務器上确實是两個路径,在 Windows 類环境里又可能都返回 200,形成重复。
  • 末尾斜杠:目錄地址带不带 /,如果两種都返回 200,就會各留一份。
  • 跟踪參數:utm_source、分享參數、广告參數會让同一個頁面生成大量變体地址。
  • 預設文档:/about/ 與 /about/index.html 同时可訪問。
  • 协议與域名變体:http 與 https、带 www 與不带 www、带端口與不带端口,都可能各自可達。
  • 排序與篩選參數顺序:?a=1&b=2 和 ?b=2&a=1 指向同一结果,但地址字符串不同。

這些地址往往不需要外部連結推廣,光是站内鏈、分享和爬取本身就能攒出不少。

自查:先看清楚有多少個地址

光靠浏览器地址栏不容易發現問题,可以借助几類資料交叉看:

  1. 抓取日誌里按路径聚合訪問次數,重点看同一内容是否對應多個路径。
  2. 站点地图和内鏈中是否混用了不同寫法,比如一部分用尾斜杠,一部分不用。
  3. 站内搜尋结果、分頁連結、面包屑生成的地址是否统一。
  4. 對可疑地址手工測試:換大小寫、加尾斜杠、加預設文档,看返回碼是 200 還是 301。返回 200 的都要留意。

測試时注意用返回碼判断,而不是看頁面顯示是否一样。两個地址都返回 200,即使内容完全相同,也属于需要收敛的情况。

處理顺序:先统一站内,再處理跳轉

建议按下面的顺序動手,改動小、風險低:

  1. 先定規范地址:确定全站用哪種寫法,比如统一小寫、统一带尾斜杠、统一不带參數。
  2. 内鏈和站点地图只寫規范地址:這是最容易被忽略的一步。内鏈本身寫乱了,跳轉做得再好也會不断产生新入口。
  3. 服務端做 301:對非規范寫法的地址,尽量返回 301 永久跳轉到規范地址。跳轉目标不要再经過第二层跳轉,避免形成鏈條。
  4. 不能改服務端时用 canonical:在頁面 head 中声明規范地址。要注意 canonical 是给搜尋引擎的建议,不是强制指令,能配 301 的地方優先配 301。
  5. 參數頁做区分:纯跟踪參數可以考虑在服務器或 CDN 层剥离後再匹配缓存;有實际篩選意义的參數頁,评估是否需要獨立存在,否則用規則限制抓取。

几個容易踩的坑

  • 用 JavaScript 跳轉代替 301。蜘蛛不一定执行脚本,等于没跳。
  • canonical 指向的地址本身返回 404 或 301,声明就失去意义。
  • 跳轉鏈太長,A 跳 B、B 跳 C,蜘蛛每次都要多走一步。
  • 站内搜尋、排序、分頁連結里带着會话 ID 或時間戳,導致每次抓到的地址都不一样。
  • 只在首頁做了域名统一,栏目頁和詳情頁仍在混用。
URL 規范不是一次性的清理工作。新栏目、新模板、新活動頁上线时,很容易又把舊的寫法带回来。把它寫進模板和發布流程,比事後批量修跳轉省事得多。

可以每隔一段時間抽查一批頁面:随机挑几條站内鏈,看看跳轉层數、返回碼和最终地址是否與预期一致。發現問题就顺手记下来,积累几次就能看出是模板問题還是個別頁面問题。