域名重定向是网站运营中最常见的操作之一,但很多人不了解301和302重定向的区别及其对SEO的不同影响。用错了重定向类型,可能导致排名下降甚至索引丢失。本文将彻底讲清楚域名重定向的一切。
重定向基础知识
什么是重定向
重定向是服务器告诉浏览器"你要访问的页面已经换地方了,去这个新地址"的机制。用户和搜索引擎爬虫都会自动跟随重定向到达新地址。
301 vs 302 的核心区别
301重定向(永久重定向)
- 含义:这个页面已经永久搬到了新地址
- SEO影响:将大部分链接权重传递给新地址(Google称约传递90-99%)
- 搜索引擎行为:更新索引,用新地址替换旧地址
- 缓存:浏览器会缓存重定向,下次直接访问新地址
302重定向(临时重定向)
- 含义:这个页面临时移到了新地址,以后可能会回来
- SEO影响:不传递链接权重给新地址(理论上)
- 搜索引擎行为:保留旧地址在索引中
- 缓存:浏览器不缓存,每次都会先访问旧地址
选择原则
用301当:
- 永久更换域名
- 永久合并网站
- 永久修改URL结构
- 将多个域名指向主域名
用302当:
- A/B测试
- 临时维护页面
- 地域性内容跳转
- 促销活动临时跳转
域名重定向的常见场景
场景一:www 和 non-www 统一
你的网站既可以通过 www.example.com 访问,也可以通过 example.com 访问。这在SEO上会造成重复内容问题。
正确做法:选择一个作为主版本,将另一个301重定向过去。
# 将 www 重定向到 non-www(Nginx配置)
server {
server_name www.example.com;
return 301 https://example.com$request_uri;
}
场景二:HTTP 到 HTTPS 重定向
将所有HTTP流量重定向到HTTPS是安全和SEO的基本要求。
# HTTP 到 HTTPS(Nginx配置)
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
场景三:多域名合并
企业可能持有多个域名(如 brand.com、brand.net、brand.co),需要将它们全部重定向到主域名。
正确做法:将所有次要域名301重定向到主域名。
场景四:品牌更名迁移
公司更名需要从旧域名迁移到新域名,这是最复杂的重定向场景。
关键步骤:
- 创建旧URL到新URL的完整映射表
- 实施逐页301重定向(不要全部指向首页)
- 在Google Search Console中使用"地址更改"工具
- 保持旧域名和重定向至少6-12个月
- 监控排名和流量变化
场景五:URL结构调整
修改网站的URL路径结构(如从 /blog/post-title 改为 /articles/post-title)。
正确做法:
- 为每个旧URL创建精确的301重定向到新URL
- 更新内部链接
- 更新Sitemap
- 在Search Console中提交新Sitemap
重定向链和循环:必须避免的陷阱
重定向链
重定向链是指A→B→C→D的多重重定向。每增加一跳:
- 页面加载速度变慢
- 链接权重逐级损失
- Google爬虫可能放弃跟踪(超过5跳)
解决方案:确保所有重定向都直接指向最终目标URL。
重定向循环
重定向循环是指A→B→A,浏览器会报错"重定向过多"。
常见原因:
- CDN和源服务器的SSL/重定向设置冲突
- 插件之间的重定向规则冲突
- .htaccess规则编写错误
重定向对SEO权重传递的影响
301权重传递
Google已确认301重定向不再有"权重衰减"——理论上传递100%的权重。但实际上:
- 直接1:1的精确重定向权重传递最好
- 多个页面重定向到一个页面会稀释权重
- 跨域名重定向的权重传递可能略低于同域名
302的权重处理
Google在实际处理中,长期存在的302有时会被当作301处理。但最佳实践仍然是:
- 永久性更改用301
- 不要依赖Google"智能判断"302
重定向对索引的影响
- 301:Google最终会将旧URL从索引中移除,替换为新URL
- 302:Google保留旧URL在索引中,可能造成混乱
技术实现指南
Nginx配置
# 单个URL重定向
location = /old-page {
return 301 /new-page;
}
# 整个域名重定向
server {
server_name olddomain.com;
return 301 $scheme://newdomain.com$request_uri;
}
Apache .htaccess配置
# 单个URL重定向
Redirect 301 /old-page https://example.com/new-page
# 整个域名重定向
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [R=301,L]
Cloudflare Page Rules
如果使用Cloudflare,可以在不修改服务器配置的情况下设置重定向:
- 进入Page Rules
- 添加匹配规则
- 选择"Forwarding URL"并设置301/302
重定向审计清单
定期检查你的重定向是否健康:
- 无重定向链(所有重定向直接到达最终URL)
- 无重定向循环
- 永久性更改使用301而非302
- 旧URL精确重定向到对应的新URL(非首页)
- Sitemap中不包含重定向URL
- 内部链接已更新为新URL
- 搜索引擎已抓取并更新索引
总结
域名重定向看似简单,但对SEO的影响深远。核心规则:永久性更改用301、临时变动用302、避免重定向链和循环、实施精确的逐页重定向。在品牌更名或域名迁移时,重定向是保护SEO资产最关键的技术手段。定期审计重定向配置,确保没有浪费宝贵的链接权重。