文章目录
title: "Speakable Schema 与语音搜索:为 Google Assistant 和 Siri 优化内容" description: "Speakable schema 标记最适合朗读的文本段落——帮助内容出现在 Google Assistant、智能音箱和 AI 语音助手中。面向越南新闻博客、电子报纸和信息网站的实施指南。" date: "2026-08-11" author: "AEO Saigon" category: "huong-dan" faqs:
- question: "Speakable schema 是如何工作的?" answer: "Speakable schema 将页面中的一个或几个文本段落(通常每段 20-50 个词)标记为"适合朗读"。当用户通过语音询问 Google Assistant("嘿 Google,最新的股市新闻是什么"),Assistant 会找到具有有效 Speakable schema 的页面,获取标记的文本段落并朗读出来。没有 schema——AI 必须自行决定朗读哪个段落,通常准确度较低。Speakable 目前被 Google 正式支持用于新闻页面(NewsArticle),但正在扩展到其他内容类型。"
- question: "哪些页面适合使用 Speakable schema?" answer: "目前 Google 优先考虑:(1) 新闻页面和电子报纸(NewsArticle schema)——这是 Speakable 的官方用例,(2) 概念定义/解释页面——AI 在回答"X 是什么?"时常朗读开头部分,(3) FAQ——简短的答案适合朗读,(4) 分步骤指南——AI 逐步朗读给用户操作。避免将 Speakable 用于长篇内容、数据表格或包含大量 URL 和特殊字符的段落。"
- question: "应该标记哪些文本段落为 Speakable?" answer: "选择满足以下标准的段落:(1) 长度 20-70 个词——足够短,AI 朗读时不会失去上下文,(2) 可以独立理解——听众无需阅读前文即可理解,(3) 不包含表格、有序列表、URL、特殊符号——这些朗读起来很奇怪,(4) 是文章的关键信息——定义、结论或直接答案,(5) 完整的句子——不截断句子。通常是文章的第一段(导语)和结论段。"
- question: "可以使用 CSS 选择器而不是为每个段落设置 @id 吗?" answer: "可以——Speakable schema 支持两种标记方式:(1) cssSelector:指定包含文本的 HTML 元素的 CSS class 或 ID(例如:'.article-summary'、'#main-definition'),(2) url:设置指向具有 id 的特定 HTML 元素的片段 URL(例如:'https://example.vn/bai-viet#dinh-nghia')。对于 Next.js/React:CSS 选择器更简单,只需为组件添加 className。对于静态 HTML:片段 URL 也能很好地工作。不必二选一——同时使用两者可以获得更高的覆盖率。"
- question: "Speakable schema 对普通 SEO 排名有帮助吗?" answer: "Speakable 不直接影响传统 Google 搜索排名——它不是排名信号。然而,优化语音搜索间接改善了 AEO(Answer Engine Optimization):当 AI 选择您的内容朗读时,可以提高品牌认知度、增加来自语音驱动查询的流量,并建立作为可信 AI 来源的权威性。随着 AI 搜索越来越多地整合语音(iOS Siri + ChatGPT、Google Assistant + Gemini),Speakable schema 是一项长期投资。" howToSteps:
- name: "确定适合朗读的文本段落" text: "重新阅读文章并标记 2-4 个满足所有条件的段落:少于 70 个词、脱离上下文也能独立理解、不含表格或有特殊字符的列表、包含文章的关键信息(定义、结论、最重要的数据)。通常是开头段落和结论段落。对于新闻:导语段落(前 50 个词中包含 who/what/when/where/why)。"
- name: "为选定的段落设置 CSS class 或 id" text: "在 React/Next.js 中:将 className='speakable' 添加到包含所选文本段落的 p 或 div 标签中。在纯 HTML 中:为每个段落添加 id='speakable-1'、id='speakable-2'。确保选择器或 id 在页面中是唯一的,且在部署后不会更改(更改选择器将使已被 Google 索引的 schema 失效)。"
- name: "使用 cssSelector 编写 Speakable JSON-LD" text: "创建包含 @type SpeakableSpecification 和 cssSelector(所选段落的 CSS 选择器数组)的 JSON-LD。将 Speakable 放在 NewsArticle 或 WebPage schema 内部——而非独立 schema。放置在页面的 head 或 body 结束标签之前。"
- name: "使用 Google 富媒体搜索结果测试工具进行测试" text: "访问 search.google.com/test/rich-results,输入页面 URL,运行测试。如果有效,Speakable 将显示在结果中。注意:Google 富媒体搜索结果测试工具会显示"Speakable",但不会预览音频——仅确认 schema 有效。目前没有专门的 Speakable 测试工具。"
当用户问 Google Assistant "今天股市怎么样?"或"当前银行利率是多少?",Assistant 需要决定数百个网页中哪个段落适合朗读。Speakable schema 是您告诉 AI 的信号:"就是这里——朗读这段。"
Speakable 在 AI 生态系统中的运作方式
用户通过语音提问
↓
Google Assistant / Siri / Alexa 搜索
↓
优先选择具有有效 Speakable schema 的页面
↓
朗读标记为 speakable 的段落(20-70 个词)
↓
以语音回答用户 + 显示来源页面
没有 Speakable——AI 仍然可以找到您的页面,但必须自行分析文本,通常会选择准确度较低的段落。
NewsArticle 中的 JSON-LD Speakable
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"@id": "https://example.vn/vi/tin-tuc/lai-suat-ngan-hang-thang-8-2026",
"headline": "Lãi suất ngân hàng tháng 8/2026: Vietcombank và BIDV điều chỉnh xuống 4.5%",
"description": "Từ ngày 10/8/2026, Vietcombank và BIDV đồng loạt giảm lãi suất tiết kiệm kỳ hạn 12 tháng xuống 4.5%/năm, mức thấp nhất trong 3 năm qua.",
"datePublished": "2026-08-11T08:00:00+07:00",
"dateModified": "2026-08-11T10:30:00+07:00",
"author": {
"@type": "Person",
"name": "Nguyễn Minh Tuấn"
},
"publisher": {
"@type": "Organization",
"name": "Tin Tức Tài Chính VN",
"url": "https://example.vn",
"logo": {
"@type": "ImageObject",
"url": "https://example.vn/images/logo.png",
"width": 600,
"height": 60
}
},
"image": "https://example.vn/images/lai-suat-8-2026.jpg",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-lead", ".article-summary", ".article-conclusion"]
},
"articleBody": "..."
}
在 React/Next.js 中使用 cssSelector 的 Speakable
// components/news/ArticleContent.tsx
interface ArticleContentProps {
lead: string;
body: string;
conclusion: string;
}
export function ArticleContent({ lead, body, conclusion }: ArticleContentProps) {
return (
<article>
{/* 此段落标记为 speakable — 适合朗读 */}
<p className="article-lead text-lg font-medium leading-relaxed">
{lead}
</p>
{/* 主要内容 — 不 speakable */}
<div className="article-body prose">
{body}
</div>
{/* 结论 — 适合朗读 */}
<p className="article-conclusion text-base border-l-4 border-orange-500 pl-4">
{conclusion}
</p>
</article>
);
}
// app/[lang]/tin-tuc/[slug]/page.tsx
export default async function NewsPage({ params }) {
const article = await getArticle(params.slug);
const jsonLd = {
"@context": "https://schema.org",
"@type": "NewsArticle",
headline: article.title,
datePublished: article.publishedAt,
author: { "@type": "Person", name: article.author },
publisher: {
"@type": "Organization",
name: "Tin Tức VN",
url: "https://example.vn",
logo: { "@type": "ImageObject", url: "https://example.vn/logo.png" },
},
speakable: {
"@type": "SpeakableSpecification",
cssSelector: [".article-lead", ".article-conclusion"],
},
};
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(jsonLd).replace(/</g, "\\u003c"),
}}
/>
<ArticleContent
lead={article.lead}
body={article.body}
conclusion={article.conclusion}
/>
</>
);
}
使用片段 URL 的 Speakable(不使用 React)
{
"@context": "https://schema.org",
"@type": "WebPage",
"name": "Lãi suất ngân hàng 2026",
"speakable": {
"@type": "SpeakableSpecification",
"url": [
"https://example.vn/vi/tin-tuc/lai-suat#tom-tat",
"https://example.vn/vi/tin-tuc/lai-suat#ket-luan"
]
}
}
对应的 HTML:
<p id="tom-tat">
Từ ngày 10/8/2026, Vietcombank và BIDV giảm lãi suất tiết kiệm 12 tháng
xuống 4.5%/năm — mức thấp nhất kể từ 2023.
</p>
<!-- ... nội dung bài ... -->
<p id="ket-luan">
Với xu hướng giảm lãi suất hiện tại, người gửi tiền nên cân nhắc kỳ hạn
dài hơn (24-36 tháng) để khóa lãi suất trước khi thị trường điều chỉnh tiếp.
</p>
各类内容及 Speakable 标记方式
| 内容类型 | 应标记为 Speakable 的段落 | 备注 |
|---|---|---|
| 新闻 | 导语(前 50 个词)+ 结论 | Google 官方用例 |
| 定义文章 | 第一段(定义) | 当 AI 回答"X 是什么?"时 |
| 指南 | 摘要部分 + 每个简短步骤 | 每步少于 30 个词 |
| FAQ | 每个问题的答案 | 已有 FAQPage schema——Speakable 作为补充 |
| 报价/定价 | 价格摘要句 + 条件 | 不标记价格表格 |
| 产品页面 | 核心优势描述句 | 不是整段描述 |
Speakable schema 检查清单
- 选择 2-4 个合适的段落:20-70 个词,可独立理解,无表格/URL
- 为选定段落添加 CSS class(
.speakable、.article-lead) - 在 NewsArticle 或 WebPage 中编写包含 cssSelector 的 SpeakableSpecification
- 使用 Google 富媒体搜索结果测试工具测试——确认"Speakable"出现
- Google 索引后不要更改 CSS class
- 当文章内容更新时,同步更新 speakable 段落
Speakable schema 目前是 structured data 中使用最少的信号——很少有开发者实施——因此现在实施可以在语音搜索和 AI 助手查询中创造明显的竞争优势。
位于胡志明市的答案引擎优化(AEO)机构 — 帮助企业网站被 AI 引用。 关于 AEO Saigon →
想让您的网站也这样被 AI 引用吗?
免费审计