GEO-042·第 04 期·技术底座·42 / 132
让 AI 正确摘录:HTML 语义与段落边界
AI 摘录读的是 DOM 切块,不是你的视觉排版。本文拆开标题层级、段落边界、表格与折叠内容对抽取的影响,给出从源码审查到句子重写的五步改造,并说明五种不值得改的情况与常见误用。
本期主线答案单元:品类页与商品页的 GEO 写法
周四上午,一家做便携储能电源的出海团队收到客服转来的截图:买家在 ChatGPT 里问“露营两天给相机和笔记本供电,哪款够用”,答案列了三款,参数栏里他们那款写着“容量信息未明确”。工程师打开商品页,1024Wh 明明写在上面——只是写在一个 div 拼的网格里,字段名是 span,单位单独一行,桌面版和移动版各有一份 DOM,靠 CSS 藏掉一份。
AI 摘录的不是你的排版,而是 DOM 里能被切成独立块的句子;语义标签决定它切得对不对,段落边界决定它切得准不准。
抽取是按块切的,不是按屏读的
模型读页面,先删导航、页脚、推荐位,再按标题层级把正文切成块,最后挑块来用。它没有你的视觉设计,拿到的是一份源码和一棵元素树。
这条管线大致分四段:抓 HTML、去噪、分块、选块生成。分块靠的是 h1–h6、p、li、table、main、article 这些元素自带的边界,不靠 class 名,也不靠字号。div class="spec-title" 在人眼里是一行小标题,在抽取器眼里只是一个容器,它的文字会和下一个容器的文字并成一段。
第二个断裂点是顺序。CSS 的 order、绝对定位、移动端与桌面端各渲染一份只隐藏一份,都会让 DOM 顺序和视觉顺序分家。屏幕上价格在标题下面,源码里价格可能在标题前面,或者在页面里出现两次。抽取器按源码读,你按屏幕看,两边的判断标准从来不一致。渲染本身也有前提,先确认AI 能不能渲染你的店。
语义标签:少而准,别堆
真正需要改的标签只有几类,错一类就丢一条事实。
| 现在的写法 | 抽取器读到什么 | 改成 |
|---|---|---|
div class="h2" 当小标题 | 一段裸文本,和上下文粘连 | h2 / h3 |
| div 网格排的规格 | 键和值的顺序可能颠倒,或被并成一行 | table + th scope="row" |
| span 标价、单位另起一行 | 金额缺币种,或被当成两条事实 | 一个元素内写完整价格与币种 |
用 br 分隔的卖点 | 一整个长段落 | ul > li,一项一句 |
| 点击后才插入的 FAQ | 源码里不存在 | 折叠也留在 DOM 里(details/summary) |
判断标准很简单:把 CSS 全部关掉,页面还是一份读得懂的文档,就基本对了。标签不是越多越好——article 和 section 满天飞,段落仍然是三百字一段,等于什么都没改。标签解决边界,句子解决内容。
段落边界:一段一义,一句一事实
摘录失败更常见的原因不是缺标签,而是一段里塞了三个问题的答案。
抽取器按 token 窗口切文本,长段落被拦腰截断时,结论句可能留在被丢掉的那一半。一段同时讲容量、重量和适用场景,模型要么整段引用(太长,只能删),要么整段放弃。买家问“能不能带出国”,答案要靠跨段拼接,拼错的概率比你想的高。
三条规矩够用:首句给结论,后面两句给证据;一段只回答一个小标题下的一个问题;数值、单位和条件写在同一句里——“在 -10°C 到 40°C 之间可正常放电”,不是“工作温度见下表”。指代也要落地,“它”和“该产品”在跨段摘录时会失去所指。
反例就在多数商品页上:“采用高品质电芯,容量大、重量轻、充电快。”三个形容词换不来一个能填进参数栏的值,模型只能写“信息未明确”。
五步改造:从源码开始
改造顺序要反过来:先看源码,再改文案,最后才动标签。
| 步骤 | 做什么 | 谁来做 | 怎么算过 |
|---|---|---|---|
| 1 看源码 | 用 curl 或禁用 JS 的浏览器抓核心页,确认标题、价格、规格、FAQ 都在 HTML 里,顺序与阅读顺序一致 | 工程 | 不点击也能读到关键字段 |
| 2 定块 | 一个 H2 一个问题,H3 只在拆子问题时用,每块不超过三段 | 内容 | 遮住其他块,这块能独立回答 |
| 3 修句子 | 一段一义,首句结论,数值带单位与条件 | 内容 | 单看这句仍成立,能填进表格 |
| 4 换标签 | 规格换 table,卖点换 li,折叠换 details | 前端 | 阅读模式抽出的文本仍成对 |
| 5 复测 | 同一批问题再问一遍,比对答案句子与你页面原句 | 增长 | 出现句子级重合,而不只是提及品牌 |
第 2 步最容易被跳过,也最贵。团队往往先动标签,标签改完段落还是老样子,复测没有任何变化,于是得出“语义 HTML 没用”的结论。
示例:一块规格区的改法
示例:以下品牌、型号与参数均为虚构,只用于演示结构。
改之前:容量、输出功率、工作温度是三个 div 网格,字段名用 span,单位后面空一格再写,规格表是一张图片,FAQ 里“能不能同时带两台设备”要点击才由 JS 插入。
改之后,同一个问题的答案变成这样:
<h2>这台 1024Wh 电源能带动哪些设备</h2>
<p>额定输出 1800W,可同时带动一台 1200W 电水壶和一台 60W 笔记本。</p>
<h3>关键规格</h3>
<table>
<tr><th scope="row">电池容量</th><td>1024Wh</td></tr>
<tr><th scope="row">额定输出</th><td>1800W</td></tr>
<tr><th scope="row">工作温度</th><td>-10°C 至 40°C</td></tr>
</table>
变化不在关键词,在边界:每个值有了自己的位置和单位,首段直接回答了一个真实提问。参数栏从“未明确”变成可填的三行,靠的是结构,不是形容词。
边界:什么时候不值得改
第一,成交集中在平台内。亚马逊、Shopee 的详情页 HTML 不由你控制,先修 listing 属性与 feed,这部分字段的口径是另一条线。
第二,事实本身不够。语义标签只会让空话更容易被抽出来,然后被识别成空话。没有可验证证据时,先补证据,第一方证据怎么写比改标签更值得排队。
第三,抽取器之间差异很大。去噪规则、分块窗口、是否保留隐藏内容,各家不同;一次抽不出来不等于永远抽不出来,别拿一个工具的输出当唯一标准,用两三个入口交叉验证。
第四,懒加载与无限滚动。内容在点击或滚动之后才请求,源码里根本没有,语义再正确也解决不了“不存在”。
第五,指望改标签提排名。标签影响的是被正确摘录的概率,不影响你进不进候选集;候选集靠实体、证据和对比,那是另一条线的事。
这条线上其他文章在技术底座主题页;一段话怎么写得让 AI 说清你卖什么,见本期主线答案单元:一段话让 AI 说清你卖什么。改完有没有效果,别只看一次截图,用实体覆盖率那套采样口径复测。
本月只做一件事:挑流量最高的一个商品页,用 curl 取一次源码,把规格区换成真 table,把买家最常问的那句话写成该块的第一句,然后再问一次 AI,看答案里有没有你写下的原句。