SEO / AIO
帮网页写 FAQ,再做成 FAQPage 结构化资料
我们跑过
- 适合谁
- 有网站、想把常见问题讲清楚的老板
- 你会得到
- 一个 faq.html 和一段可以直接贴进网站的 faq-snippet.html:网页上的问答,加上一字不差的 FAQPage JSON-LD,还有一张资料缺口清单
- 工具
- Codex、Claude Code
- 时间 / 费用
- 大约 20 分钟 · 用你现有的订阅;需要还有额度,用 API 或超出额度可能另外收费
- 难度
- 入门
- 最后测试
- 2026-10-16
开始前准备
你需要:网页上真的有的资料(价钱、时间、地区、流程、保修),5 到 8 个客户真的问过的问题,Codex 或 Claude Code(要能在电脑上建立文件),浏览器,还有可以编辑那个网页的权限。
步骤
- 写下这个网页在讲什么,还有网页上真的有的资料:价钱、时间、地区、流程、保修。
- 翻 WhatsApp 和邮件,抄下客户真的问过的 5 到 8 个问题,用客户自己的说法。
- 开一个新文件夹,在里面打开 Codex 或 Claude Code。复制下面的 prompt,填好三个地方,交给它。
- 逐条对答案,每个数字、地区和时间都要在你的资料里找得到。看最后的“资料缺口”,想补的话,把答案加进资料,再叫它重做。
- 用浏览器打开 faq.html,看问答显示得正不正常。
- 用记事本或 TextEdit 打开 faq.html,全选复制,贴进 validator.schema.org 检查。看到 FAQPage 和每一个 Question 没有错误之后,再自己对一次网页上的问答跟 JSON-LD 是不是一样。
- 用记事本或 TextEdit 打开 faq-snippet.html,全选复制,贴进你网站的那一页(WordPress 可以用“自定义 HTML”区块)。保存后再检查。如果 FAQPage 不见了,请网站管理员帮你加入 JSON-LD。
- 发布后,在 validator 里输入网址再检查一次。
Prompt
帮我的网页写一组 FAQ,再做成 FAQPage 结构化资料(JSON-LD)。
网页讲什么:{一两句话}
网页上真的有的资料:
{价钱、时间、地区、流程、保修……}
客户真的问过的问题(用客户的说法):
{贴上 5 到 8 个问题}
要求:
1. 用客户的问题来写 FAQ,问题可以修顺一点,但意思不要改。答案只能用我给的资料,数字和地区要一模一样。
2. 每个答案的第一句先直接回答问题,例如“可以”“不可以”“有”或多少钱,再补资料里的细节。
3. 资料里找不到答案的问题,不要放进 FAQ,也不要猜。在最后列成“资料缺口”,写清楚我要补什么资料。
4. 答案用短句,不加资料里没有的形容词,例如“最专业”“最便宜”。不要用分号。
5. 做一个 faq.html:问答显示在网页上,同一组问答也放在 <script type="application/ld+json"> 里,类型是 FAQPage。
6. 网页上显示的问题和答案,要跟 JSON-LD 里的一字不差。JSON-LD 的答案只放纯文字,不放 HTML。
7. 另外存一个 faq-snippet.html,只有问答区块和那段 script,让我可以直接贴进现有的网页。它的内容要跟 faq.html 里的一样。
8. 检查 JSON 格式对不对,再检查网页上的问答跟 JSON-LD 是不是一字不差。
9. 直接在对话里列出全部问答和资料缺口。我们测试的结果
<section aria-labelledby="faq-title">
<h2 id="faq-title">常见问题</h2>
<div class="faq-item">
<h3>洗冷气几钱一台?</h3>
<p>一般清洗 RM80 一台,深度清洗(拆洗)RM150 一台。</p>
</div>
<div class="faq-item">
<h3>我家有三台,有便宜一点吗?</h3>
<p>有,两台以上每台减 RM10。</p>
</div>
<div class="faq-item">
<h3>星期天可以来吗?</h3>
<p>不可以。服务时间是星期一到星期六,早上 9 点到傍晚 6 点。</p>
</div>
<div class="faq-item">
<h3>洗一台要多久?</h3>
<p>每台大约 45 分钟到 1 小时。</p>
</div>
<div class="faq-item">
<h3>洗完漏水怎么办?</h3>
<p>清洗后 30 天内漏水,免费回来检查一次。</p>
</div>
<div class="faq-item">
<h3>要怎样预约?</h3>
<p>通过 WhatsApp 预约,至少提早 1 天。</p>
</div>
</section>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "洗冷气几钱一台?",
"acceptedAnswer": {
"@type": "Answer",
"text": "一般清洗 RM80 一台,深度清洗(拆洗)RM150 一台。"
}
},
{
"@type": "Question",
"name": "我家有三台,有便宜一点吗?",
"acceptedAnswer": {
"@type": "Answer",
"text": "有,两台以上每台减 RM10。"
}
},
{
"@type": "Question",
"name": "星期天可以来吗?",
"acceptedAnswer": {
"@type": "Answer",
"text": "不可以。服务时间是星期一到星期六,早上 9 点到傍晚 6 点。"
}
},
{
"@type": "Question",
"name": "洗一台要多久?",
"acceptedAnswer": {
"@type": "Answer",
"text": "每台大约 45 分钟到 1 小时。"
}
},
{
"@type": "Question",
"name": "洗完漏水怎么办?",
"acceptedAnswer": {
"@type": "Answer",
"text": "清洗后 30 天内漏水,免费回来检查一次。"
}
},
{
"@type": "Question",
"name": "要怎样预约?",
"acceptedAnswer": {
"@type": "Answer",
"text": "通过 WhatsApp 预约,至少提早 1 天。"
}
}
]
}
</script>
容易出错的地方
- Google 从 2026 年 5 月 7 日起不再显示 FAQ 富媒体搜索结果。做它是为了方便客户看答案,也提供机器读得懂的结构化资料,不保证排名,也不保证 AI 会引用。
- 网页上看得到的问答,要跟 JSON-LD 一字不差。改了网页上的文字,JSON-LD 也要一起改,或者叫 AI 重做一次。
- AI 会顺手加“最专业”“最便宜”这类话。资料里没有的形容词都删掉。
- 只放客户真的会问、你的资料里有答案的问题。为了 SEO 硬塞很多问题,读的人只会更难找到答案。
- 有些 SEO 插件会自己输出 FAQ 结构化资料。贴进去后用 validator 查网址,如果同一组问答出现两份 FAQPage,只关掉插件里重复的 FAQ 输出,其他结构化资料和插件本身不用动。
这是我们自己的用例,自己测试过。