Google 替换了我的 meta description

Google 在搜索结果里用自己生成的 snippet 替换你的 meta。判断命中了 7 个触发条件中的哪个,重写后把 snippet 抢回来。

你 Google 自己的文章,标题下面的 snippet 不是你 <meta name="description"> 里写的那段,而是从正文里挑出来的一句话,有时候挺相关,有时候看起来很随机。

最快的处理: 这是正常现象,而且部分本来就不归你控制,别慌。Google 的文档写得很清楚,“snippet 主要由页面内容本身生成”(snippets are primarily created from the page content itself),只有当你的 meta description 能给出”更准确的页面描述”时才会回退去用它。2026 年的第三方抓取统计显示,桌面端替换率约 68%、移动端约 71%,所以单页被替换是常态,不是 bug。snippet 还会按 query 变:搜 “vsync fix” 看到的跟搜 “DaVinci 卡顿” 看到的不一样,因为 Google 会挑最匹配那次具体搜索的那段文字。

你没法强制 Google 永远用你的 description,但可以在重要页面上降低替换率——找出你的 description 命中了哪个触发条件,把它去掉。下面 7 个触发条件按引发替换的频率从高到低排列。

你属于哪一类

SERP snippet 里的症状可能的触发条件对应小节
一句放在任何页都说得通的通用话description 太通用1
你好几个页面显示同一段 snippetdescription 跨页面重复2
snippet 里有 query 词但你的 meta 没有meta 没包含命中的 query3
snippet 是你的 meta 后面又接了正文meta 太短4(短)
meta 被截断、句子没说完就被替换meta 太长4(长)
snippet 给出的数字或日期跟 meta 不同meta 跟正文矛盾5
snippet 把标题换了种说法meta 跟 title 雷同6
snippet 是一句干净的正文,meta 却是关键词列表关键词堆砌7

常见原因

1. description 太通用

“Learn everything about X in this comprehensive guide” 这种,放在任何一页上都说得通。Google 觉得没具体价值,就从正文里挑更好的一句。这是最常见的触发条件。

怎么判断:把 description 念出来,问自己”放到一篇完全不同的文章上还说得通吗?” 答”是”就太通用。

2. description 跨页面重复

站点级模板让每页都用同一个 description,Google 就会改用每页独有的正文片段。

注意:Search Console 现在已经不再报告这一项了。过去那个会标 “Duplicate meta descriptions” 的 “HTML Improvements” 报告已经被 Google 下线,Google 的说法是重复的 description “不会让你的站出问题”。现在得你自己检测重复。

怎么判断:用 Screaming Frog(免费版可抓 500 个 URL)或 Sitebulb 抓一遍站点,按 Meta Description 列排序,看有没有重复。命令行快速自查:

site:yourdomain.com "你描述的前 30 字"

返回 3 个或以上你自己的页面,就是站内重复。

3. description 没包含命中的 query

Google 按 query 动态挑 snippet。如果搜的人查 “deploy Astro to Vercel”,但你的 description 写”本博客讲前端”,Google 会改从正文里挑包含 “Astro” 和 “Vercel” 的句子。

怎么判断:Search Console -> Performance -> 选这个 URL -> Queries。把 SERP 上的 snippet 跟你的 meta 对比。SERP 版本里有 query 关键词但 meta 里没有,就是这个原因。

4. description 长度不对

  • 太短(约 70 字符以下):Google 会从正文补内容把 snippet 撑满。
  • 太长(约 160 字符以上):snippet 会被截断,而 Google 经常直接整段替换,而不是在句中截断。

Google 自己明确说没有固定字符上限,截断是”为了适配设备宽度”(to fit the device width)。实际上桌面 SERP 宽约 920px,约 155-160 英文字符;移动端能放下的少约 20%。建议控制在 140-155,桌面和移动端都能完整显示。

5. description 跟正文矛盾

你写”5 个工具”但正文列了 8 个。你写 “Best of 2024” 但 publishedAt: 2026-05-17。Google 检测到不一致,就换成它更信任的正文片段。

怎么判断:把 meta 里的每个数字和日期跟正文逐一对照。改完文章常会冒出这种不一致。

6. description 跟 title 雷同

<title><meta name="description"> 说的基本是同一件事,Google 就认为 description 冗余,用能补充新信息的正文片段替换。

怎么判断:把 title 和 description 连着读。觉得像”同一句话说了两遍”就是这条。description 应该是对 title 的展开,而不是复述。

7. description 是关键词堆砌

"AI tools, ChatGPT, Claude, productivity 2026, AI developer tools, best AI" 是逗号分隔的关键词列表。Google 文档明说”长串关键词”(long strings of keywords)“更不可能被用作 snippet”,会直接丢弃。

怎么判断:数逗号。超过 4 个逗号、串起来的还是不连贯的片段,就是关键词堆砌。

最短修复路径

第 1 步:找出被改写的页

Search Console -> Performance -> Pages -> 按曝光排序,取前 20 个 URL。逐个拉出页面真实的 meta:

# 打印 Google 看到的 meta description
curl -s "https://yourdomain.com/your-article" | grep -oP '<meta name="description" content="\K[^"]+'

然后在 Google 搜 site:yourdomain.com/your-article,复制实时 SERP snippet,两边对比。不一样的,就是被改写了。

第 2 步:用”独特 + 关键词 + 价值”公式重写

[主关键词] + [独特事实或数字] + [用户价值或承诺]
”了解 meta description""Google 为什么改写 meta description:7 个原因 + 把 CTR 从 1.2% 提到 4.8% 的 3 步修法"
"AI 效率工具""2026 我真金白银付费的 12 个 AI 工具,按每周省下时长排序”

字符预算:

  • 英文:140-155 字符
  • 中日韩:60-80 字

主关键词放在前 60 字符内,这样移动端截断后它还在。

第 3 步:每页 description 必须唯一

Astro / Next / Hugo 项目加一个构建期检查,让重复或超范围的 description 直接让构建失败:

// scripts/check-descriptions.mjs
import fs from "node:fs";
import path from "node:path";
import matter from "gray-matter";

const seen = new Map();
const issues = [];

function walk(dir) {
  for (const name of fs.readdirSync(dir)) {
    const p = path.join(dir, name);
    if (fs.statSync(p).isDirectory()) walk(p);
    else if (p.endsWith(".mdx")) {
      const { data } = matter(fs.readFileSync(p, "utf8"));
      const desc = (data.description || "").trim();
      if (!desc) issues.push(`MISSING: ${p}`);
      else if (desc.length < 50) issues.push(`TOO SHORT: ${p}`);
      else if (desc.length > 160) issues.push(`TOO LONG: ${p}`);
      else if (seen.has(desc)) issues.push(`DUPLICATE: ${p}`);
      else seen.set(desc, p);
    }
  }
}

walk("src/content/articles");
if (issues.length) { console.error(issues.join("\n")); process.exit(1); }

挂到 prebuild 脚本里,重复的就永远发不出去。

第 4 步:让 description 匹配真实 query

Search Console 显示你的页在 “X tutorial” 上有排名,那就把 “X” 和 “tutorial” 加进 description。不要脱离 Google 实际给你的 query 闭门写描述,再把其中一两个词自然地在正文里复现一遍,让相关性信号前后一致。

第 5 步:只有真有需要时才用 snippet 控制指令

两个 robots 指令能在重写救不了的时候帮你引导 Google:

  • <meta name="robots" content="max-snippet:160"> 限制 snippet 长度。max-snippet:0 完全关掉文本 snippet,max-snippet:-1 表示不限制(默认值)。
  • data-nosnippet 这个 HTML 属性可以加在 spandivsection 元素上,把包住的文字对 snippet 隐藏,让 Google 抓不到。用在你永远不想被展示的样板内容上(法律免责声明、重复的 CTA)。

指令冲突时以更严格的为准,所以同时带 max-snippet:50nosnippet 的页面会完全不显示 snippet。这些只会减少 Google 能展示的内容,并不能强制它用你的 meta description。

第 6 步:请求重新抓取,然后等

Google 按自己的节奏重新评估页面,通常 7-14 天。用 Search Console -> URL Inspection -> Request indexing 对每个改过的 URL 加速。snippet 在下一次成功抓取时更新,不是下一次搜索时。

第 7 步:多意图页就接受 Google 的选择

如果一个页面真的服务三种不同 query,Google 的 per-query snippet 通常是对的,这其实是好事。没有哪一句描述能同时让 “Astro 怎么部署”、“Astro vs Next 比较”、“Astro CMS 例子” 都满意。这种页面就让 Google 按 query 去匹配 snippet。

怎么确认已经修好

  1. 页面被重新抓取后(在 URL Inspection -> Page indexing -> “Last crawl” 看抓取日期),再搜一次 site:yourdomain.com/your-article
  2. 头部 query 下,snippet 现在应该原样显示你的 description,或至少以你 description 的措辞开头。
  3. 之后 2-4 周盯 Search Console -> Performance 里这个 URL。平均排名不变而 CTR 上升,就说明新 snippet 起作用了。记住品牌词或 per-query 的 snippet 可能仍然不同,这是正常的。

常见问题

Google 改写我的 description 算不算 SEO 惩罚? 不算。它对排名没有直接影响。Google 决定 snippet 文字和决定排名是两套机制。它只影响点击率,因为 snippet 是搜索者在决定点不点之前读到的内容。

为什么同一个页面在不同搜索下显示不同 snippet? snippet 是按 query 走的。Google 会挑最能回答那次具体搜索的那段,所以一个 URL 能显示很多种 snippet。这是设计如此,不是出错。

我能强制 Google 永远用我的 meta description 吗? 不能。没有任何指令能保证这一点。你只能把 description 做成最准确的那个选项(第 1-4 步),并用 data-nosnippet / max-snippet 限制 Google 改抓什么。最终决定权在 Google。

新 description 多久会显示出来? 要等页面被重新抓取,通常 7-14 天。在 URL Inspection 里 Request indexing 能缩短等待。发布那一刻不会立即变。

Search Console 还会标重复的 meta description 吗? 不会了。Google 已经下线了做这件事的 “HTML Improvements” 报告,理由是重复不会让站出问题。用 Screaming Frog 这类爬虫,或构建期唯一性检查(第 3 步)来自己检测。

2026 年 meta description 的理想长度是多少? 没有硬性上限,Google 按设备宽度截断。英文目标 140-155 字符(桌面约 920px),中日韩 60-80 字,主关键词放前 60 字符内。

预防建议

  • 每页独立写 description,绝不发站点级模板。
  • 用脚本在构建期强制唯一性和长度(第 3 步)。
  • 主关键词放前 60 字符内,移动端截断后还在。
  • 发布 14 天后,审计 CTR 低于 1% 的页,按它们实际排名的 query 重写 description。
  • 每个 description 自问一遍:“放到另一篇文章上还说得通吗?” 答”是”就重写。

相关阅读

标签: #排查 #SEO #排查