WordPress 网站出现重复页面?手动添加 Canonical 链接轻松解决!

为什么我的网站有这么多“重复页面”?Semrush 提示“缺少 canonical”,该怎么办?你可能在用 Semrush 或 Ahrefs 分析网站时看到这样的提示:

“89% of your pages have no canonical links.”
或 “Duplicate pages without canonical tag.”

看起来很吓人吧?其实这是个非常常见的问题,尤其是使用 WordPress 构建的网站。

🧩 什么是 Canonical?

“Canonical 链接”(规范链接)告诉搜索引擎:

“在多个相似页面中,这个 URL 才是主要版本,请重点收录这个。”

举个例子:

  • https://yourwebsite.com/?p=123
  • https://yourwebsite.com/sample-page/

这两个页面内容一样,但没有 canonical 时,Google 可能认为是重复内容,导致权重被分散、页面排名下降。

如果页面中有:

<link rel="canonical" href="https://yourwebsite.com/sample-page/" />

那就能明确告诉搜索引擎“以这个为准”。

🚨 为什么 WordPress 也会出现“没有 canonical”?

按理说 WordPress 会自动生成 canonical 标签,但有几个常见的坑:

  1. 主题文件中没有调用 wp_head();
  2. 使用了简化主题、Landing Page 模板,开发者删掉了 head;
  3. 使用缓存插件或自定义 SEO 插件,覆盖了系统 canonical;
  4. 主题的某些模板(比如 category、archive、404)没包含它。

结果就是——Semrush 一扫描,提示你几乎全站都没有 canonical。

💡 如果不想装插件,该怎么解决?

没错,你完全可以手动添加 canonical 标签,不需要安装任何“SEO 全家桶”插件,也不用忍受各种升级提示、付费功能。

步骤如下:

  1. 登录 WordPress 后台
  2. 在左侧菜单点击
    外观 → 主题文件编辑器(Theme File Editor)
  3. 打开文件 header.php(一般在“主题头部”部分)
  4. 在 <head> 标签内加入下面这段代码:
<?php if (function_exists('get_permalink')): ?>
<link rel="canonical" href="<?php echo esc_url( get_permalink() ); ?>" />
<?php endif; ?>
  1. 点击“更新文件”保存即可。

✅ 如何验证是否生效?

非常简单:

  1. 打开你网站的任意一个页面(例如一篇博客文章);
  2. 右键 → “查看页面源代码”;
  3. 使用浏览器的搜索功能(Ctrl + F / Command + F);
  4. 输入 canonical;

如果能看到类似以下内容,就说明添加成功:

<link rel="canonical" href="https://yourwebsite.com/你的页面URL/" />

🧠 进阶建议

  • 每个页面的 canonical 应该自指向(self-referencing),也就是指向自己;
  • 分类页、分页页同样要有 canonical;
  • 如果有多语言版本或 AMP 页面,canonical 更是必不可少;
  • 千万别误写成 404 或跳转页,否则反而会让搜索引擎更困惑。

⚙️ 如果想进一步优化

如果你的网站结构复杂,或者经常自动生成新页面(例如商品页、标签页),那可以考虑安装轻量级 SEO 插件:

  • Rank Math SEO
  • Yoast SEO
  • All in One SEO Pack

这些插件会自动帮你生成 canonical 标签,并允许自定义特殊页面的规范 URL。

Semrush 提示的“没有 canonical 链接”其实很好解决。
如果你不想被插件各种弹窗、升级诱导搞得心烦,只要在 WordPress 的 header.php 文件中手动加一行代码,就能让全站的页面规范化。

简单一句话:

一行 PHP 代码,解决 89% 的重复页面问题。

参考链接:

Leave a Comment

Your email address will not be published. Required fields are marked *