Google 改写了我的标题:原因和修复办法

标题太长、用竖线堆词、或和页面对不上时,Google 会用 H1、站名或正文里的句子替掉你的 title。本文教你把标题抢回来。

Google 在搜索结果里显示的标题,未必是你写在 <title> 标签里的那一句。它经常换成页面的 H1、正文里的一句话,或者「你的 <title> + 站名」拼起来——因为它的系统判断那段文字更匹配用户的 query。

最快的修法:<title> 控制在 50-60 字符,开头放真正的主题(别用竖线或方括号堆词),再保证页面有且只有一个 H1、说的是同一件事。51-60 字符这一档被改写得最少。改完通常在一个重新抓取周期内(几天到一两周)就会生效。

有一件事截至 2026 年 6 月你无法完全控制:Google 正在 regular Search 里单独测试「AI 生成标题」,且不给发布者 opt-out。这点放在文末讲,因为它改变了「修好了」的含义。

这事到底有多常见

标题被改写是常态,不是例外。被广泛引用的 Zyppy 研究分析了 2370 个站、8 万多条标题,发现 Google 至少部分改写了约 61% 的标题。后续行业追踪把 2025 年 Q1 的改写率推到了约 76%。所以你的标题被改,你属于大多数——目标不是把改写率压到 0%,而是让你真正在乎的那些页面留住你选的标题。

最大的杠杆是长度。在同一份数据里,51-60 字符的标题改写率最低,约 39-42%;而过长和过短的标题被改写的概率都超过 95%。

常见原因

1. <title> 太长

桌面端 SERP 标题视觉宽度约 580px,对应英文 50-60 字符、中文 28-32 字。超长会被截断,Google 倾向直接改写,而不是显示半句话。

如何判断:

curl -sL https://yourdomain.com/page | grep -oE '<title>[^<]+</title>'
# 然后数标签之间的字符数 / 汉字数

2. 关键词堆砌和竖线拼接

AI tools | ChatGPT | Claude | Best of 2026 | Must-have for devs 这种,读起来就是 SEO 模板。Google 会改写它,通常换成 H1 加站名。

用哪个分隔符的影响比想象中大。在 Zyppy 数据里,用 竖线 | 时 Google 约 41% 的情况会把它删掉;用 短横 - 时只有约 19.7% 会被删。方括号最糟:[方括号] 标题有 77.6% 被改写、32.9% 的情况整段被删掉,而 (圆括号) 是 61.9% / 19.7%。结论很实用:优先用单个短横或圆括号,少用竖线和方括号。

3. <title> 和页面意图对不上

<title> 写「完整指南」但正文只有 300 字,Google 就会从正文抽一句更贴 query 的话顶上来。或者标题里的关键词在正文里压根没出现。Google 是从多个页面来源拼标题链接的——<title>、H1 及其他显眼标题、可见的锚文本、结构化数据——所以一个和这些全都矛盾的标题会被否决。

4. 没有 H1,或有多个 H1

Google 重度依赖 H1(以及其他显眼、大字号的文字)作为标题信号。0 个 H1 或多个互相打架的 H1,会让 Google 从别处拼一个标题,通常是站名加第一段。

如何判断:

curl -sL https://yourdomain.com/page | grep -oE '<h1[^>]*>[^<]+</h1>'
# 应该正好返回一行

5. <title> 和 H1 说的不是一回事

<title> 和可见的 H1 指向不同方向时,Google 几乎总是信 H1——因为那才是真实读者在页面上看到的。两者不必一字不差,但语义必须对齐。

6. 多页用了完全一样的 <title> 模板

Blog - Company Name 这种全站重复的模板标题,让 Google 没法区分页面,于是它会改写以找一个独有信号。Google 的官方文档明确把重复 / 模板化的 <title> 文本列为问题,并建议每页都做差异化。

你属于哪一种

SERP 里的症状最可能的原因跳到
标题在词中间被切断,或以 结尾太长原因 1、Step 2
SERP 显示的是你的 H1,不是 titletitle 与 H1 不符或 title 太弱原因 3、5
SERP 显示「站名 + 第一句」缺 H1 或多个 H1原因 4
竖线 / 方括号被删、词序被打乱分隔符 + 堆词原因 2
一堆 URL 显示同一个被改写的标题模板化标题原因 6、Step 4

最短修复路径

Step 1:找出哪些 URL 被改写了

在 Search Console 里进 Performance → Search results(性能 → 搜索结果),切到 Pages(页面)标签,按展示量降序。挑 Top 20 URL,逐个把源码标题和 Google 实际显示的对比:

# 看你真实的 <title>
curl -sL "https://yourdomain.com/url" | grep -oE '<title>[^<]+</title>'
# 在 Google 里搜这个,读它显示出来的标题
site:yourdomain.com/url

显示的标题和源码 <title> 不一样,就是被改写了。

Step 2:按这个模板重写 title

[用户意图词或主关键词] + [独有限定 / 数字 / 年份] + [品牌(可选,放最后)]

差 → 好:

AI 工具 | ChatGPT | Claude | 最佳 20262026 我真正付费的 12 个 AI 工具(按省时排序)
博客 - MyCompanyAstro 部署 Vercel 完整指南(2026 更新)
完整指南(无主题)hreflang 配置指南:6 个常见错误及修复

字符预算:

  • 英文:50-60 字符(尽量落在 51-60 这个改写率最低的档)
  • 中文:26-30 字(含标点)

主关键词放进前 30 个字符内,移动端截断后也能看到;分隔符用单个短横或圆括号,别用竖线或方括号。

Step 3:保证页面有且只有一个 H1

# 扫描你构建产物里的全站 HTML
for f in $(find dist -name "*.html"); do
  count=$(grep -oE '<h1[\s>]' "$f" | wc -l)
  [ "$count" != "1" ] && echo "$f: H1=$count"
done

修:

  • <header><h1>站名</h1></header> 改成非标题容器,例如 <header><span>站名</span></header>
  • 文章正文里放且仅放一个 <h1>[文章标题]</h1>
  • 让 H1 和 <title> 语义对齐(同主题,不必同词)

Step 4:让每页的 title 模板都独有

如果你用 CMS / 静态站生成器,模板里:

---
const { title, brand = "MyCompany" } = Astro.props;
const fullTitle = `${title} | ${brand}`;
// 限长:超过 60 字符就只用 title
const safeTitle = fullTitle.length <= 60 ? fullTitle : title;
---
<title>{safeTitle}</title>

Step 5:在 build 阶段拦截重复和过长标题

// scripts/check-titles.mjs
import fg from "fast-glob";
import fs from "node:fs";

const seen = new Map();
const issues = [];
for (const f of fg.sync("dist/**/*.html")) {
  const html = fs.readFileSync(f, "utf8");
  const title = html.match(/<title>([^<]+)<\/title>/)?.[1]?.trim();
  if (!title) issues.push(`MISSING: ${f}`);
  else if (title.length > 60) issues.push(`TOO LONG (${title.length}): ${f}`);
  else if (seen.has(title)) issues.push(`DUPLICATE: ${f} == ${seen.get(title)}`);
  else seen.set(title, f);
}
if (issues.length) { console.error(issues.join("\n")); process.exit(1); }

Step 6:等重新抓取,再确认修好了

标题链接按 Google 的节奏更新,不按你的——通常在页面被重新抓取后的几天到一两周内。想更快确认,可以在 Search Console → URL Inspection → Test Live URL(网址检查 → 测试实际网址)里确认 Google 看到了你新的 <title> 和单个 H1,再用 site:yourdomain.com/url 盯实时 SERP。两周后在 Performance → Search results 里按 URL 对比 CTR:比如从 1.5% 涨到 3% 以上,说明新标题正在被显示和点击。

2026 年的例外:AI 生成的标题改写

2026 年 3 月,Google 向 The Verge 证实,它正在 regular Search 结果里测试 AI 生成标题——不只是老的 Discover 信息流。和普通改写复用你页面已有文字不同,这个会生成你页面里从未出现过的全新措辞。

截至 2026 年 6 月你需要知道:

  • 这个测试被描述为「small and narrow」(小范围、窄),不是全面上线。
  • 对单条改写没有 opt-out,要么全要么全不要。
  • 一个类似的 Discover 实验在 2026 年 1 月被 Google 判定有利于用户满意度后转为常驻功能,所以这个也可能跟进。

这不改变上面的修法——干净、准确、和页面对齐的标题仍是你最好的防线,在多数 query 上仍然胜出。但如果某个高流量 URL 在你已经对齐了 title 和 H1 之后,仍显示一个你从没写过的标题,那你可能落进了这个实验里,而不是撞上了某个可修复的触发点。在 Search Console 里跟踪它,别再去反复重写一个本来就正确的页面。

预防清单

  • 标题像人话,读出来不卡,别像机器人那样堆关键词
  • 每页有且仅有一个清晰 H1,与 <title> 语义对齐
  • title 模板永远是 {独有内容} - {品牌},独有内容放前面,用短横不用竖线
  • 51-60 字符是目标区间,60 是硬上限——超了就自动截掉品牌段
  • CI 在 build 阶段对重复 / 缺失 / 过长标题直接报错

常见问题

改完多久 Google 才显示我的新标题? 要等页面被重新抓取——通常几天到两周。用 URL Inspection 的「Test Live URL」可以立刻确认 Google 能读到新的 <title>,但 SERP 本身要等下一次索引刷新才更新。

<title> 和 H1 必须完全一样吗? 不必。两者要语义对齐——同主题、同意图、同语言。比如 title 是 hreflang 配置指南:6 个常见错误及修复、H1 是 hreflang 完整配置指南,就够接近了;Google 罚的是「矛盾」,不是「换种说法」。

我标题里没写品牌名,Google 为什么给我加上? 当标题太短、太泛、或模板化,或者它在页面上找不到强的独有信号时,Google 会把站名拼上去。一个具体、独有的 <title> 加一个匹配的 H1,通常就能止住。

竖线真的比短横差吗? 是的,有数据。在 Zyppy 数据集里,竖线分隔符约 41% 的情况被 Google 删掉,短横约 19.7%,方括号是被删得最多的。请用单个短横或圆括号。

我能强制 Google 用我的原标题吗? 不能。没有任何标记能保证你的 <title> 被显示,官方文档也确认 Google 始终可能自行生成标题链接。你能做的,只是把标题做成最清晰、最准确的那个选项,让 Google 没理由替换。

相关阅读

标签: #SEO #Google #Search Console #收录