301重定向 vs Canonical标签:SEO实战经验分享

1059 字
5 分钟
301重定向 vs Canonical标签:SEO实战经验分享

做了几年SEO,301重定向和canonical标签这两个东西,我踩过坑,也吃过亏。

301重定向和canonical本质完全不同,但很多人搞混了,包括刚开始的我。


两者区别在哪?#

301是服务器级别的指令,告诉搜索引擎和浏览器”这个页面搬家了”。用户访问旧URL时,地址栏会直接跳转到新URL,搜索引擎也会把旧页面的所有权重、排名信号全部传递给新页面。旧页面会被搜索引擎从索引中移除。

Canonical只是HTML里的一行标签,告诉搜索引擎”这几个页面内容都差不多,但这个URL才是正版”。用户访问时页面不跳转,地址栏也不变,搜索引擎只是会把排名信号合并到你指定的那个URL。新旧页面可能都在索引里

可以这么理解#

301是你真的搬了家,所有信件和访客都被引导到新地址,老地址没人去了。

Canonical是你还是住这里,但你告诉所有人”如果要在官方通讯录里找我,就记这个电话号码”,其他号码也能打到你。


实战场景#

旧页面要永久废弃,所有流量和权重都导向一个全新的URL → 用301。

比如博客从 www.moewah.com 迁移到 blog.moewah.com,旧文章 https://www.moewah.com/archives/5341.html 迁移到 https://blog.moewah.com/posts/5341/,旧页面就不要了,直接301过去。

新旧页面同时存在且内容高度相似,但你需要保留所有URL供用户访问 → 用canonical。

同一篇文章可以通过 https://blog.moewah.com/posts/5341/https://blog.moewah.com/posts/5341/?ref=twitterhttps://blog.moewah.com/posts/5341/?sort=newest 访问,内容都差不多。就让后两个都指向 https://blog.moewah.com/posts/5341/。用户访问哪个都行,搜索引擎也知道哪个才是正版。

如果既改了URL又出现了新的重复页面?两个都要用

先把旧的、已迁移的URL用301重定向到新的主URL,比如 www.moewah.com 的文章全部 301 到 blog.moewah.com。然后在新站点上,如果又因为参数产生了新的重复页面,就用canonical指向主URL。


配置示例#

www.moewah.com 迁移到 blog.moewah.com 为例。

Nginx 301 重定向#

全站所有页面 301 重定向

server {
listen 80;
server_name www.moewah.com;
return 301 https://blog.moewah.com$request_uri;
}
server {
listen 443 ssl;
server_name www.moewah.com;
return 301 https://blog.moewah.com$request_uri;
}

仅对文章页 301 重定向

https://www.moewah.com/archives/5341.html 迁移到 https://blog.moewah.com/posts/5341/

# 方式1:单页面重定向
location = /archives/5341.html {
return 301 https://blog.moewah.com/posts/5341/;
}
# 方式2:正则批量重定向
location ~ ^/archives/(\d+)\.html$ {
return 301 https://blog.moewah.com/posts/$1/;
}

Canonical 标签写法#

旧页面:移除 canonical 标签或删除整个 HTML 文件

<!-- 旧页面不添加 canonical -->
<!-- 文件会被 301 重定向,无需 canonical -->

新页面:canonical 指向自身 URL

<head>
<link rel="canonical" href="https://blog.moewah.com/posts/5341/" />
</head>

踩过的坑#

别对一个页面既做301又设置canonical。旧页面要做301跳转前,先把canonical标签删了,不然搜索引擎会收到矛盾信号,搞不清你到底想干嘛。

301重定向链别太长。A重定向到B,B又重定向到C,甚至还有D,每次跳转都会削弱权重传递。A直接到C最好。

Canonical只是建议,不是命令。搜索引擎可能会忽略,但一般都会尊重。

规范页面要自引用,canonical指向自己。

排查检查清单#

canonical 检查点:

  • 每个页面只有一个canonical
  • 不指向404页面
  • 没有循环(A指向B,B指向A)
  • HTTPS页面不指向HTTP
  • 用绝对地址
  • 所有重复内容都被覆盖了

301 测试检查:

  • 测试301重定向要测所有HTTP方法,不只是GET
  • 验证返回状态码是”301 Moved Permanently”
  • 重定向链不超过2次跳转

用301来永久搬家,用canonical来声明正版。

网站迁移时301是必须的、首要的操作,因为它直接影响用户访问和核心权重的传递。Canonical更多用于站内日常的SEO优化管理。

这么多年搞下来,我发现很多人把这两个东西混为一谈。其实它们解决的问题完全不一样:一个是处理URL变更,一个是处理重复内容。搞清楚这个,基本就不会再犯错。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
301重定向 vs Canonical标签:SEO实战经验分享
https://blog.moewah.com/posts/708/
作者
MoeWah
发布于
2024-02-26
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
Google SEO 优化 2026:从架构到外链的 11 个检查点
增长与SEO 从海外 SEO 实战案例拆解出的完整检查清单,涵盖技术架构迁移、URL清理、索引控制、锚文本优化、内容审计等11个核心环节。适合初学者对照排查,避开常见坑点。
2
Google 即将彻底弃用 FAQ Schema,你的FAQ内容怎么处理?
增长与SEO FAQ Schema 两次被 Google 弃用,根源是 schema.org 类型不够精准。社区提案 FAQSection 和 answer 属性能否解决问题?现有 FAQ 内容该怎么处理?
3
独立站 Google SEO:2026 爬虫预算与渲染优化实战
增长与SEO 收录率从85%跌到42%,问题在哪?40%爬虫预算浪费在参数URL和死链上,CSR渲染让内容晚到3-10秒错过AI引用窗口。本文详解 Google 爬虫预算四大杀手、渲染预算新门槛、僵尸页面清理、内链网络建设、Canonical陷阱、EEAT信号——完整实操检查清单,帮助独立站和博客运营者在AI搜索时代被发现、被索引、被信任。
4
SEO 域名迁移前期准备有哪些?「少输便是赢」的完整攻略
增长与SEO 域名迁移是不对称赌注,上行有限下行无限。本文从决策判断、准备清单、URL映射、重定向配置到迁移后监控,给出完整框架。准备阶段占90%工作量,迁移当天应该无聊才对。
5
Google Search Central Live 2026:AI 时代 SEO 的五个认知更新
增长与SEO 2026 年 4 月 Google 多伦多 Search Central Live 透露的 SEO 认知修正:索引门槛提高而非降低、AIO 阻止机制真相、Trends API 一致缩放、Markdown 转换无 SEO 价值等关键更新
随机文章 随机推荐

评论区

Profile Image of the Author
MoeWah
Hello, I'm MoeWah.
专题文章
分类
站点统计
文章
198
分类
9
标签
434
总字数
373,761
运行时长
0
最后活动
0 天前

目录