站点运营

站点运营:多域名與镜像站自查,別让同一套内容分散到多個入口

很多站点在运营中會积累多個可訪問地址,比如 www 與非 www、舊域名、备用域名、測試域名或 CDN 域名。如果這些入口都能返回完整頁面,蜘蛛可能重复抓取,權重也被分散。本文整理一份自查思路,從主域名确定、301 跳轉、canonical、站点地图和内鏈寫法入手,让 URL 入口保持清晰。

站点运营

站点运营:多域名與镜像站自查,別让同一套内容分散到多個入口

站点运营久了,域名和訪問入口往往會變多。比如早期用 www,後来換成不带 www;或者買了更短的备用域名;又或者上线過測試域名、CDN 域名、舊版域名。如果這些地址都能打開完整頁面,對用戶可能只是“多一個入口”,但對搜尋蜘蛛来说,就是同一套内容出現在多個 URL 上。抓取预算被分散,權重也可能被摊薄。

先把所有可訪問地址列出来

自查第一步不是改配置,而是把已知入口寫清楚。可以從這些地方找:

  • 域名註冊商和 DNS 解析记錄里的 A 记錄、CNAME 记錄;
  • 服務器 Nginx/Apache 配置中的 server_name;
  • CDN 或對象存储绑定的加速域名;
  • 站長平台和統計工具里出現過的来源域名;
  • 歷史頁面、舊邮件、舊宣传物料里用過的地址。

列完之後,逐個用浏览器無痕模式訪問,看返回的是不是同一套内容。如果某個地址能正常打開,但你没打算把它当主入口,就需要處理。

确定唯一主域名,其余做 301

主域名最好只保留一個。常见做法是選带 www 或不带 www 的其中一個,然後把另一個做 301 永久跳轉。舊域名、备用域名、測試域名也同理:如果不再使用,可以解析到主域名並 301;如果只是内部測試,應该加訪問限制,不要让蜘蛛抓到。

注意跳轉鏈不要太長。比如舊域名跳到备用域名,再跳到 www,最後又跳到带路径的地址,這種多跳會浪費抓取资源。理想情况是一步到位:舊地址 301 到主域名對應的最终 URL。

canonical 與站点地图要指向主域名

頁面里的 canonical 标簽是告诉蜘蛛“哪個地址是正版”的重要信号。如果 canonical 寫的是备用域名,或者一會儿 www 一會儿非 www,蜘蛛會收到矛盾信息。建议全站模板统一輸出主域名,並确保 canonical 中的地址和目前頁面最终可訪問地址一致。

XML 站点地图也一样。站点地图里列出的 URL 應该是主域名下的最终地址,不要混入重定向地址、參數地址或測試域名。提交前可以抽查几條,看看打開後是否直接返回 200,而不是先跳轉。

内鏈和资源地址別混用域名

站内連結、图片、CSS、JS 的地址如果混用多個域名,也會让蜘蛛發現更多入口。比如文章内鏈有时寫 www,有时寫裸域,有时又引用 CDN 域名下的頁面地址。建议在模板和編輯器里统一使用相對路径或主域名绝對路径。

對于 CDN 上的静態资源,通常不需要被当作頁面抓取。可以在 CDN 域名下配置 robots.txt 或响應头,避免蜘蛛把资源域名当成内容站来爬。

镜像站與測試站要做隔离

有些团队會用镜像站做负载或容灾,或者用測試站预览新版本。這些站如果對公網開放,且没有訪問限制,很容易被蜘蛛發現。處理方式包括:

  • 測試站加基础認證或 IP 白名單;
  • 镜像站只對内部或特定回源開放;
  • 如果必须公開,至少用 robots.txt 禁止抓取,並加 noindex;
  • 不要在主站的站点地图或内鏈里指向測試域名。

一份可执行的自查清單

  1. 列出所有能返回完整頁面的域名和子域名。
  2. 确定唯一主域名,其余地址配置 301,尽量一步到位。
  3. 检查全站 canonical 是否统一指向主域名最终 URL。
  4. 检查 XML 站点地图是否只包含主域名地址。
  5. 抽查内鏈、图片、JS、CSS 是否混用域名。
  6. 检查舊域名、备用域名是否還有可訪問頁面。
  7. 確認測試站、镜像站没有對公網開放抓取。
  8. 在服務器日誌里观察是否還有蜘蛛訪問非主域名。

多域名問题不會立刻带来嚴重後果,但它會慢慢让 URL 入口變得混乱。每次改版、換域名、上 CDN 之後,顺手做一遍入口自查,比等到日誌里出現大量重复抓取再回头處理要省事。