做站点运营时,URL 往往是最容易被忽略的一层。内容更新、栏目調整、活動頁上线,每次改動都可能在站内留下新的地址版本。對用戶来说,多一個入口似乎無伤大雅;對蜘蛛来说,同一篇内容出現多個可訪問地址,就意味着要在重复頁面之間做判断,抓取精力也會被摊薄。
下面這份自查清單不追求一次改完,更适合按季度過一遍,把明顯的重复入口收敛掉。
一、先確認“唯一地址”是什么
在動手之前,先给每篇内容定一個規范地址。規范地址應当满足几個條件:路径可讀、參數尽量少、不依赖會话狀態、不因用戶来源不同而改變。确定之後,站内所有引用——導航、列表、相關推荐、站点地图——都應指向這個地址。
二、常见重复来源自查
1. 大小寫與末尾斜杠
有些服務器對 /Article/123 和 /article/123 返回同一頁面,有些則视為两個地址。末尾斜杠同理。建议在服務器或 CDN 层做统一跳轉,選定一種寫法後全站沿用,而不是靠 canonical 事後补救。
2. 跟踪參數與排序參數
- 来源标记、活動标记、分享标记等參數,如果只用于統計,不應出現在内鏈和站点地图里。
- 列表頁的排序、篩選、每頁數量參數,容易生成大量内容相近的地址,可以考虑用 robots.txt 限制抓取,或改為前端交互不改變地址。
- 會话 ID、打印參數、预览參數這類地址,最好直接禁止抓取。
3. 中文與特殊字符编碼
中文路径在不同编碼方式下可能出現多個形式。自查时可以直接複製浏览器地址栏的最终结果,確認站内連結、站点地图、canonical 使用的是同一種寫法。若确實需要中文路径,保持编碼一致比频繁更換規則更重要。
4. HTTP 與 HTTPS、带 www 與不带 www
這两组通常由服務器跳轉處理。检查跳轉是否一步到位,避免出現 A 跳 B、B 再跳 C 的鏈條。跳轉鏈條越長,蜘蛛到達規范地址的路径就越绕。
三、canonical 與内鏈的一致性
canonical 标簽是声明,不是命令。它能帮助搜尋引擎理解你的偏好,但如果頁面上的内鏈、站点地图、跳轉規則各说各话,最终效果會打折扣。自查时重点看三處是否一致:
- 頁面 canonical 指向的地址,是否就是内鏈實际使用的地址;
- 站点地图中列出的地址,是否與 canonical 一致;
- 舊地址是否通過 301 指向新地址,而不是返回 200 空頁或直接 404。
如果同一篇内容有两個都能正常打開的地址,先想清楚保留哪一個,再决定另一個是跳轉、禁止抓取還是下线,不要三種狀態混着用。
四、用日誌和抽样驗證
改完之後不要只凭感觉。可以從蜘蛛訪問日誌里筛出高频抓取的地址,看看是否大量集中在带參數的重复頁面上;也可以手動抽取几個栏目,用站内搜尋或抓取工具列出實际可訪問的 URL,和站点地图做對比。發現差异後再回到前面几步調整。
URL 規范不是一次性任務,而是随着栏目和活動不断變化的基础工作。把它纳入日常發布的检查項,比等到問题积累後再集中處理要轻松得多。