GEO-042·第 04 期·技术底座·42 / 132

让 AI 正确摘录:HTML 语义与段落边界

AI 摘录读的是 DOM 切块,不是你的视觉排版。本文拆开标题层级、段落边界、表格与折叠内容对抽取的影响,给出从源码审查到句子重写的五步改造,并说明五种不值得改的情况与常见误用。

6 分钟GEO技术底座出海

本期主线答案单元:品类页与商品页的 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,看答案里有没有你写下的原句。