很多站点在运营一段時間後,會同时存在几個能打開首頁的地址:带 www 和不带 www 的、http 和 https 的、甚至還有 CDN 给出的測試域名。對訪問者来说,多敲几個字符也许没什么;對搜尋引擎蜘蛛来说,每個入口都可能被当成一個獨立站点来抓取和計算。主站身份不统一,最直接的影响是權重分散、重复内容增加,日誌里也會出現大量本该合並的抓取。
先定一個“主站形態”,再谈其他
規范化不是技術炫技,而是把“哪個地址算正主”這件事说清楚。常见的做法是選擇 HTTPS + 固定主机名,例如统一用 https://www.example.com 或 https://example.com,然後让其他形式都跳到這個地址上。選哪個不是關键,關键是全站一致,並且長期不再改来改去。
需要统一的几個层面
- 协议:http 與 https 之間的跳轉方向。
- 主机名:www 與裸域只保留一個。
- 大小寫:域名不区分大小寫,但路径和參數可能区分,内鏈尽量用小寫。
- 預設文件:/index.html、/index.php 與根目錄的關系。
- 端口與測試域名::8080、临时解析、CDN 回源域名不應出現在公開入口里。
一次完整的自查顺序
- 用浏览器無痕模式分別訪問 http、https、带 www、不带 www 四種组合,记錄每一次的跳轉结果。
- 用抓包或重定向检查工具,確認最终落到主站地址,並且跳轉是單跳或尽量少跳。
- 抽查站内導航、頁脚、正文里的連結,是否都指向同一個主站形態,避免有的用 http 有的用 https。
- 检查頁面里的 canonical、站点地图、robots.txt 中声明的域名,是否與主站形態一致。
- 检查图片、CSS、JS 等资源引用,不要留下 http 资源造成混合内容警告。
- 在搜尋平台的站長工具里,把主站属性設定正确,並观察索引資料是否逐步归拢。
跳轉設定里容易忽略的细节
301 跳轉要指向最终地址,不要 A 跳 B、B 再跳 C。跳轉鏈越長,蜘蛛消耗越多,传递效果也越容易打折。如果站点已经全站 HTTPS,建议让 http 直接跳到 https 主域名,而不是先跳到 https 的另一個主机名再跳一次。
關于 HSTS,開啟後浏览器會强制使用 HTTPS,這是好事,但要在確認所有子域和资源都支持 HTTPS 之後再上。否則用戶和蜘蛛可能遇到無法訪問的情况。
CDN、负载均衡與回源域名
使用 CDN 时,源站可能有一個内部域名,CDN 也可能提供一個預設域名。這些地址如果被外部連結引用或被蜘蛛發現,容易形成重复入口。建议在 CDN 配置里限制回源域名只接受来自 CDN 的請求,至少不要让回源域名出現在站内連結和站点地图中。
改完之後怎么观察
規范化調整通常不會立刻见效。可以观察服務器日誌里蜘蛛訪問的主机名分布,看看非主站形態的請求是否在减少;在站長工具里看索引覆盖和主站属性是否有變化。如果没有明顯異常,不要短時間内反复切換主机名或协议,那會让蜘蛛更难判断。
主站身份這件事,越早统一越省事。等到站内連結、外鏈、站点地图各说各话,再回头整理,工作量會大得多。