一个网站如果可以通过 example.com 和 www.example.com 等多个地址访问,搜索引擎会把它们看成不同的页面,导致权重被分散,收录效率也会下降。设置首选域名,就是通过统一的跳转规则,把所有的访问流量和权重集中到唯一的地址上,这是网站上线初期就必须完成的基础工作。
301 跳转是目前最有效、也最稳妥的方案。当服务器返回 301 状态码时,浏览器和搜索引擎蜘蛛会被自动引导到你想指定的主域名。Apache 环境可以在 .htaccess 文件中配置跳转规则,Nginx 则需要在 server 块中添加 rewrite 指令。
配置时有两个容易踩坑的地方:一是跳转目标必须写完整的绝对地址,包含 http/https 协议头,不然会出现循环跳转;二是千万不要设置 A 域名跳 B 域名、B 又跳回 A 的多级跳转,这样既拖慢访问速度,又浪费搜索引擎的抓取资源。设置完成后,打开浏览器开发者工具查看网络面板,确认响应码是 301,同时检查 Location 字段指向是否正确。
这两种形式并没有绝对的好坏。带 www 的域名在配置 CDN 加速、设置独立 IP 和划分 Cookie 作用域时更灵活,适合对性能和安全要求较高的站点;不带 www 的裸域名则更简洁,方便用户记忆和线下传播。
关键是要做出决定后坚持下去,不要中途更换。频繁切换首选域名会让搜索引擎反复重新评估整个站点,造成排名明显波动。选定后,在搜索引擎的站长工具中分别添加两个版本,对比索引数据,确保最终只保留目标域名的页面被收录。
使用 WordPress、Shopify 这类建站系统的话,不用写代码也能完成设置。以 WordPress 为例,登录后台点击“设置-常规”,把“WordPress 地址”和“站点地址”两个字段都修改为目标域名,记得带上 https 前缀。
这里有个容易被忽略的问题:数据库里通常保存着大量旧域名的固定链接。这时候需要用批量替换插件,把数据库中的旧地址整体更新为新地址。改完之后,一定要逐一测试前台页面显示、后台文章编辑、用户注册和登录这些环节,防止因为回调地址失效而导致功能出错。
DNS 本身不能完成跳转,它的作用是确保流量能准确到达目标服务器。把非首选域名通过 A 记录或 CNAME 记录指向首选域名所在的服务器 IP,具体跳转交给服务器软件去执行。如果两个域名在同一个服务器上操作起来很简单,但如果域名注册商不同,或者流量需要经过特定入口,这个配合就显得很重要。
需要留意的是,CNAME 记录不支持根域名解析,裸域名只能用 A 记录来配置。另外 DNS 生效有延迟,快则几小时,慢的可能要 48 小时,期间不要反复修改记录。可以用在线 DNS 检测工具查看当前解析是否已经同步。
配置完成后,不能只看后台状态,要实际测试一下效果。首先,打开浏览器的隐身窗口,输入非首选域名,看地址栏是否立即跳转到目标地址,并且最终 URL 没有拼写错误或多出来的参数。然后,用在线检测工具把 http、https、带 www 和不带 www 这四种组合都测一遍,确认返回的状态码是 301。
为了确保万无一失,建议做一份完整的检查清单:
不会冲突,这两者是配合关系。DNS 负责把域名解析到正确的服务器,301 重定向负责在服务器层面把非首选域名跳转到首选域名。只要跳转目标不是循环引用,两者同时配置完全没有问题。
不会影响,只要跳转链条是单向的就行。例如 http 版本先 301 到 https 版本,https 的 www 版本再 301 到 https 的非 www 版本,这样是合理的。但不要出现 http 跳 https、https 又跳回 http 这样的情况,那会造成死循环。
这个周期没有固定标准。搜索引擎需要重新抓取和评估新域名,短则一两周,长则一两个月都很常见。换域名前最好提前做好 301 映射,换完后在站长工具中提交改版工具和新的 sitemap,耐心等待搜索引擎完成重新评估,不要中途改回去。
设置首选域名是网站上线后的关键一步,直接影响搜索引擎对站点的评价和收录效率。核心思路就是选好一个主地址、配置 301 跳转、配合 DNS 解析、最后做完整验证。如果你正在搭建新站点,建议从第一天就完成这个设置;如果是老站点一直没有规范化,尽快补上 301 配置,并持续观察一周的索引变化,通常能看到明显的收录改善。