很多站点在运营一段时间后,会同时存在几个能打开首页的地址:带 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 的请求,至少不要让回源域名出现在站内链接和站点地图中。
改完之后怎么观察
规范化调整通常不会立刻见效。可以观察服务器日志里蜘蛛访问的主机名分布,看看非主站形态的请求是否在减少;在站长工具里看索引覆盖和主站属性是否有变化。如果没有明显异常,不要短时间内反复切换主机名或协议,那会让蜘蛛更难判断。
主站身份这件事,越早统一越省事。等到站内链接、外链、站点地图各说各话,再回头整理,工作量会大得多。