站点运营

站点运营:主机名與 www 規范化自查,別让同一站在两個入口各自為政

同一套内容如果同时能從 example.com、www.example.com、http 版本甚至 IP 訪問,抓取、權重和日誌統計都會被摊薄。本文给出一份可落地的自查清單,從 301 跳轉、canonical、内鏈寫法、Cookie 作用域到 CDN 回源,帮你把入口收敛到唯一主机名。

站点运营

站点运营:主机名與 www 規范化自查,別让同一站在两個入口各自為政

先想清楚:你希望蜘蛛從哪個入口進来

一個站点通常能通過多種寫法訪問:带 www 和不带 www、http 與 https、主域名與別名域名,甚至直接用 IP。省事的做法是全都留着能打開,代價是同一份内容被当成多份资源:抓取量被分摊,外鏈權重被拆開,服務器日誌里同一個頁面出現好几條来源,統計时很难判断哪條資料是真的。

規范化要做的就是選定一個首選主机名,把其他寫法用 301 一次性归拢過去。下面這份清單可以按顺序過一遍。

跳轉层自查

首選主机名與 301

  • 明确選定 https 加 www 或 https 加非 www 其中之一,寫進团队文档,不要今天一個样明天一個样。
  • 其余變体全部 301 到首選,避免用 302、307 長期顶着,這類跳轉不传递規范化信号。
  • 尽量让 http 版本一步跳到最终的 https 首選地址,而不是先到 https 再去 www,鏈式跳轉會让每次抓取多花一轮往返。
  • 跳轉要覆盖到具体路径,而不是一律回首頁,否則内頁的外鏈和收錄信号會被丢掉。

服務器預設站與 IP 訪問

  • 检查 Nginx 的 server_name 或 Apache 的 VirtualHost 是否有兜底配置,未匹配的主机名會不會返回正常頁面。
  • 用 IP 直接訪問时,建议返回 403 或 301 到首選域名,不要让 IP 也能渲染完整站点。
  • 如果站点挂在 CDN 後面,確認回源时發送的 Host 头以及缓存键是否包含主机名。

頁面层自查

canonical 與内鏈一致性

  • canonical 使用绝對地址,並且指向首選主机名,不要寫成目前訪問的變体,否則等于自我否定。
  • 模板里生成 canonical 时留意變量有没有被替換,批量出現的错誤往往比單個頁面更难排查。
  • 站内導航、面包屑、正文連結、Sitemap、RSS 统一使用首選域名,避免同一頁在不同位置出現两種寫法。
  • 抽查一批内頁,看有没有硬编碼的老域名残留,尤其是歷史文章和专题頁。

Cookie 與安全設定

  • Cookie 的 Domain 不要随手寫成 .example.com 這種带点的形式,這样 www 與各子域會共享,容易把測試態带進正式訪問。
  • 提交 HSTS 前確認所有子域都已全量 HTTPS,否則會把還在用 http 的子域直接挡在门外。
  • 證书要覆盖實际在用的所有主机名,包括 www 與別名域名,別让某個入口先彈安全告警。

驗證时看什么

  1. 用 curl 带上 -I 分別請求 http、https、www、非 www 和 IP,逐個记錄狀態碼與 Location,確認最终都指向同一個地址。
  2. 看一段時間的訪問日誌,按 Host 字段分组統計,正常情况下非首選主机的請求量應该趋近于零。
  3. 在搜尋资源平台只驗證首選主机名即可,驗證一堆變体只會让自己更乱。
  4. 随机抽 20 個内頁,检查标题、canonical 與内鏈是否都落在首選域名上。
常见坑:只给首頁做了跳轉,内頁仍能通過舊主机名打開;canonical 模板批量生成时出错;子域被 301 到主域,但子域本身還有獨立业務;測試域名與正式域名共用一張證书。

主机名規范化不是一次性任務,它更像一條底线:改服務器配置、換 CDN、新增子域时,都顺手回归检查一遍跳轉和 canonical。入口收敛之後,日誌看得清,抓取也不會再被同一份内容重复消耗。