首页两个区块都带 id=price,页面里出现两个相同 ID,点目录锚点永远跳到第一个。HTML 校验工具标了 2 处 duplicate ID,控制台却没有报错。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

grep -o 'id="[^"]*"' page.html | sort | uniq -d

区块的锚点是写在区块注释属性里的普通字符串,复制粘贴时原样带过去,编辑器不会重新生成。手工给段落加过锚点再整段复制,两个 ID 就撞在一起了。这一点先确认清楚,后面就不用反复试。

「区块复制 id 重复」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

具体做法是,复制后逐个打开区块的高级面板 把锚点改成唯一值;不需要锚点就整个删掉 让主题按序号生成;发布前全站查一遍重复 ID 再收工。

改完照着核一遍,重复 ID 列表为空,目录里每个锚点都能跳到各自的段落。

作者 9823189