你点开 Google Search Console,发现一长串带 /tag/ 的页面被标成“重复内容”——点进去看,标题雷同、摘要空洞、内容高度重合。更扎心的是,用户搜关键词,出来的全是你的标签页克隆体,正经文章反而埋没了。

这事儿不怪算法偏心,是你网站自己悄悄给搜索引擎塞了一堆“长得一样、没啥区别”的页面。

为什么标签页会自己制造重复内容?

标签页本意是帮用户归类内容,但多数 CMS 不加分辨,把每个标签组合都当成新页面来生成。

比如你有“SEO”和“内容营销”两个标签,系统就顺手建了三个页面:/tag/seo/tag/content-marketing/tag/seo+content-marketing。后一个页面里,列表可能和前两个一模一样,只是 URL 多了个加号。

我见过一个技术博客,2000 篇文章,靠标签组合硬生生撑出 8000 多个页面。Google 爬了几个月,最后只给首页留了点权重。站长一查爬取日志,发现近九成请求都耗在这些标签页上,真正该被重视的文章反倒被晾着。

用 noindex 还是用 canonical?选错就白干

新手常直接给所有标签页加 noindex——图省事,但代价不小。

一旦设了 noindex,搜索引擎就当这页面不存在。那些原本能串联起相关文章的内部链接,全失效了;别人外链到你的 /tag/seo 页面,这条信任链也断了。

更合理的做法是分层处理:

  • 主标签页(如 /tag/seo)保留收录,canonical 指向自己;
  • 组合标签页(如 /tag/seo+content-marketing)要么 canonical 指向主标签页,要么干脆 noindex

有个电商站试过这条路:把 500 个多余组合页统一 canonical 到对应主标签页。一个月后,主标签页排名明显提升,爬虫也更愿意花时间抓核心内容页了。

分页和排序参数如何制造隐藏重复?

分页本身没问题,问题出在“同一内容,多种 URL”。

比如第二页,系统可能同时支持两种写法:/tag/seo/page/2/tag/seo?page=2。对人来说一样,对搜索引擎却是两个独立页面。

排序参数更隐蔽。“按时间排”“按热度排”,生成的 /tag/seo?sort=date/tag/seo?sort=popular,页面主体几乎没变,但 URL 不同——搜索引擎照单全收,全当新页面爬。

解决方法很直接:在 robots.txt 里屏蔽带 sort= 的 URL;或者进 Google Search Console 的“URL 参数”设置,告诉 Google 这些参数不影响内容。

之前一个新闻站光排序参数就造出三千多个重复页。关掉之后,首页和专题页的收录速度明显变快。

标签页内容太少怎么处理?

有些标签页下只有 1–2 篇文章。让它被收录?搜索引擎会觉得你凑数;直接 noindex?又浪费了那两篇内容之间的关联性。

建议设个底线:少于 5 篇文章的标签页,自动 noindex,或合并进更相关的标签。

有个美食博主清理过这类“空心标签”——30 个只有一两篇笔记的标签,最后压成 8 个主题清晰的主标签。合并后页面内容扎实了,用户平均停留时间拉长,搜索引擎也更愿意给这些页面分权重。

WordPress 用户可以直接用几行代码判断文章数量,动态输出 <meta name="robots" content="noindex">,不用装插件也能搞定。

标签云和侧边栏链接怎么避免被重复爬?

标签云看着清爽,实际是个爬虫陷阱。

如果你在每篇文章页脚或侧边栏都放满标签链接,等于每爬一个页面,爬虫都要顺手点开几十个标签页。结果就是:首页权重被摊薄,标签页被反复抓,真正重要的产品页或教程页反而没人搭理。

简单有效的方法有两个:

  • 给标签云里的 <a> 标签统一加上 rel="nofollow"
  • 或者限制只显示前 10 个高频标签,砍掉冷门长尾。

之前帮一家企业站调过这个:首页侧边栏挂了 50 个标签链接,每个又被其他页面交叉引用。加上 nofollow 后,首页权重明显回流到核心产品页,相关关键词排名很快跟上。

标签页的标题和描述怎么写才不重复?

技术问题解决了,但用户在搜索结果里看到的还是“SEO - 某某博客”“内容营销 - 某某博客”……千篇一律,没人点。

CMS 默认模板太偷懒,标题固定格式,描述干脆留空。手动改?50 个标签还能咬牙干,200 个就真没法儿盯了。

推荐用动态规则生成:

  • 标题模板:[标签名]:最新实战技巧与案例 - [网站名]
  • 描述模板:关于「[标签名]」的深度内容,含「[最新文章标题]」「[热门文章标题]」等实用指南

关键是要带具体信息,而不是空泛名词堆砌。

一个旅行博客这么改完,搜索结果里的点击率立刻涨了一截——用户不再看到“日本旅行 - 某某博客”,而是“日本旅行:京都防坑指南 + 富士山小众路线 - 某某博客”,一眼就知道值不值得点。

今天就能执行的3个操作步骤

  1. 打开 Google Search Console,进“覆盖率”报告,用搜索框输入 /tag/,筛选出所有标签页。重点关注标为“已发现但未被收录”或“重复内容”的数量——这就是你最该先动刀的地方。

  2. 如果你用 WordPress,现在就打开 Yoast SEO 或 Rank Math 插件,在“搜索外观 → 标签页”设置里,把“组合标签页”的索引选项改成“不被索引”。如果没装插件,直接检查几个组合标签页的 HTML 源码,确认 <link rel="canonical"> 是否指向了正确的主标签页;没有就补上。

  3. 找出你网站上文章最多的 5 个标签页(比如 /tag/seo /tag/wordpress),在浏览器地址栏分别打开它们,右键“查看网页源代码”,搜一下 <title><meta name="description">。如果标题都是“XXX - 网站名”、描述全为空,那就立刻进后台,给这 5 个页面手动填一条带关键词、有信息量的描述——不用完美,先让它们彼此不一样。