URL 是蜘蛛理解入口頁的第一层信息
蜘蛛進入一個入口頁之前,先拿到的是 URL 字符串。它要判断:這属于哪個站点、是不是重复地址、值不值得排進抓取队列。所以 URL 寫得乱,後面内容再規范,也要多花一道解释成本。
動態參數:尽量收敛,別让同一頁生出几十個地址
入口頁常见的參數有追踪參數(utm_source、from、spm)、分頁參數、排序參數、會话 ID。前两類通常不改變内容,却會生成新地址。
- 能在服務端把追踪參數丢掉就丢掉,用 301 统一到干净地址。
- 排序、篩選這類參數,如果内容确實不同,可以保留,但要保證每個组合都能返回稳定内容,別返回空白頁。
- 會话 ID、随机數這類參數不要出現在入口頁連結里。
- 路径參數優先于查询參數,例如 /topic/seo 比 /topic?id=seo 更容易被稳定识別。
层級與目錄深度
入口頁如果埋在 /a/b/c/d/e/ 下面,蜘蛛從首頁要走五层才能到;如果站点本身抓取预算不宽裕,深連結往往排在後面。建议入口頁尽量控制在三层以内,並且從首頁或栏目頁有直達連結。
同时要避免反向問题:所有入口頁都堆在根目錄,首頁連結數上千,反而稀释了每個連結的可点击價值,也让蜘蛛在首頁就要做更多篩選。
長度與可讀性
URL 太長不會直接被判死刑,但會带来两個麻烦:一是日誌、統計、手動排查时难以辨認;二是容易被截断或複製错。一般建议控制在 100 字符以内,用短横线分词,避免中文、空格、大寫混用。
- 用连字符(-)分词,不用下划线。
- 统一小寫,避免 /Article 與 /article 被当成两個地址。
- 结尾斜杠要么都带,要么都不带。
- 不要把日期、随机數字塞進固定栏目的入口頁。
去重與規范化
入口頁有個容易忽略的点:同一份内容可能通過带 www、不带 www、带參數、不带參數等多種形式被訪問。如果這些地址都返回 200,蜘蛛會把抓取预算分给同一份内容的多個副本。
做法是選定一個規范地址,其余用 301 指過去,並在頁面 head 里寫好 canonical。注意 canonical 是提示不是命令,真正的收敛還是靠跳轉和站内連結保持一致。
URL 设計不是装饰。它决定蜘蛛第一次看到入口頁时,能不能快速判断“這是一個獨立、稳定的地址”。
几個常见誤区
- 以為 URL 静態就一定好:静態地址更容易被稳定识別,但如果内容本身是空白頁或临时頁,静態也没用。
- 以為參數越多越“動態”越高級:多數搜尋引擎對參數的處理已经比較成熟,但没必要主動制造噪音。
- 用 URL 堆關鍵詞:把關鍵詞重复三遍不會加分,反而让地址难以阅讀。
- 频繁改地址:入口頁上线後大改路径,等于把之前的發現记錄丢掉,只能靠 301 慢慢過渡。
上线前的检查顺序
- 確認每個入口頁只有一個可訪問的規范地址。
- 確認從首頁或栏目頁有可点的連結,层級不超過三层。
- 確認參數不會生成大量重复地址,必要时屏蔽或跳轉。
- 確認大小寫、结尾斜杠、协议與域名形式统一。
- 上线後观察日誌,看蜘蛛抓到的是不是這些干净地址。
把 URL 這一层理顺,後面的内容更新、互鏈、日誌分析才有稳定的基础。它不是决定收錄的開關,但會让蜘蛛少走很多弯路。