网站同时能用多个域名打开,比如 example.com 和 www.example.com,这会让搜索引擎误以为存在重复页面,从而分散权重。设置首选域名的目的,就是通过统一跳转把所有访问和权重集中到一个固定地址,降低被降权的风险。
301是永久重定向的标准方式,服务器收到请求后,会直接告诉访客和搜索引擎爬虫“请访问这个地址”。Apache用户需在 .htaccess 文件中写规则,Nginx用户在对应 server 块里配 rewrite,都能实现批量转发。
配置时有几个避坑关键:跳转目标必须写完整的绝对地址,包含协议和端口,否则可能造成无限循环;跳转链路务必保持单次,别从A跳到B再跳回A,那样既拖慢速度又浪费爬虫抓取额度。配置完,用浏览器开发者工具看网络请求,确认状态码是301,Location字段也准确无误。
两种形式没有绝对优劣,取决于你的使用场景。带www的子域在设置CDN加速、绑定独立IP以及隔离Cookie时更方便;不带www的裸域更简短,利于用户口头传播和记忆。
一旦确定方案,就别轻易回头。频繁切换会让搜索引擎反复评估站点,排名波动在所难免。建议在搜索引擎的站长工具里同时添加两个版本,定期观察索引情况,确保只有目标版保留下来。
用WordPress、Shopify这类建站系统,不用手写代码。以WordPress为例,登录后台进“设置-常规”,把“WordPress地址”和“站点地址”两项都改成目标域名,要带上https前缀。
这里有个隐藏陷阱:数据库里可能存着大量旧域名的链接。推荐装批量替换插件,把库里的旧地址一次性更新。改完务必测试前台页面、文章编辑、用户登录这些关键流程,防止因回调地址失效引发功能报错。
DNS本身不做跳转,但能确保流量先到达正确的服务器。把非首选域名用A记录或CNAME记录指向目标服务器的IP,再由服务器软件完成最终跳转。这种思路在多注册商域名、或需要特定入口进流量的场景下很管用。
要留意:CNAME记录不能用在根域名上,想让裸域名生效只能用A记录。DNS有全球生效延迟,配置后最长48小时内不要反复改记录,可以用在线解析工具检查当前生效状态。
配置完成后不能急着收工,要做多角度验证。先在浏览器隐身窗口输入非首选域名,观察地址栏是否立刻跳转,最终URL有没有拼写错误或多余参数。再用在线检测工具,把http、https、www和无www四种组合都测一遍,确认返回状态码是301。
实弹演练建议:
短期内可能有轻微波动,因为搜索引擎需要重新抓取和评估。但只要配置正确并保持稳定,通常几周内就能恢复,权重会逐渐集中到目标域名上,长期是利大于弊的。
本质上说的是同一件事,只是叫法不同。搜索引擎的官方文档里通常叫首选域名,网站运营者习惯说主域名。都是指你想让所有流量集中到的那一个地址。
不推荐。JavaScript跳转依赖浏览器执行,搜索引擎的爬虫不一定完整渲染,容易漏抓。301是服务器级别的响应,对爬虫和用户都最可靠,重定向的第一选择永远应该是301。
设置首选域名的本质是给搜索引擎一个明确的信号:我的正式地址只有一个。操作路径并不复杂,重点是提前想清楚用www还是裸域,然后坚定执行,配置完成后务必多做验证。建议你把四个组合的检测结果记录下来留档,这样后续排查问题时就有据可依。