用途:确认「站上有的」「索引里声明的」「目录里存着的」是同一批东西。三个数不等,就有人找不到东西。
覆盖:有对外索引的站点或文件集合 —— 站点地图、目录清单、站内导航、搜索索引。
产出:三个数 + 差值 + 每一处差值的具体清单与处置。
拿到就能跑:先对齐口径再数。口径不同的三个数,比出来的差值全是噪音。
这一步不做,后面全是噪音。三个数各自要回答:什么算一个。
常见口径分歧:
| 分歧点 | 要定的事 |
|---|---|
| 首页算不算 | 通常算,但要与索引一并处理 |
| 元文件算不算 | sitemap、robots、favicon 这类通常不算内容页 |
| 列表页 / 分页算不算 | 算不算要一致,不能一处算一处不算 |
| 草稿 / 未发布算不算 | 一律不算,三个数都不含 |
| 同一内容多个入口 | 算一次还是算多次——通常算一次,以规范地址为准 |
判据:三个数必须用同一份排除规则。写下来,不要靠记。
输出:一份口径说明(含排除清单),后面所有数字都按它数。
| # | 数什么 | 怎么数才准 |
|---|---|---|
| 1 | 实际可访问的页 | 从目录文件数推,⛔ 不要靠逐个请求——几百个请求会被限流,且慢 |
| 2 | 索引里声明的条数 | 数索引文件里的条目数(不是行数,一条可能跨行) |
| 3 | 源文件数 | 源目录里该被发布的文件数,按第一步的口径排除 |
三个数取完先别看差,先看它们是不是数同一层:源文件 → 发布后的页 → 索引条目,这是一条链,任一环断开都会表现成「数字不等」。
输出:三个数,各带取数方法与时间。
| 情况 | 含义 | 处置方向 |
|---|---|---|
| 三个数相等 | 对账通过 | 无需动作 |
| 页 > 索引 | 漏登记 | 把缺的补进索引 |
| 索引 > 页 | 死链 | 从索引里删,或把页补回来 |
| 源文件 > 页 | 发布漏了 | 查发布流程,不是索引问题 |
| 页 > 源文件 | 有孤儿页(线上有、源里没有) | 要么补回源,要么确认该删 |
⛔ 「页 > 索引」是最常见的,也最容易糊弄过去——补完索引必须再数一次,不能凭「我补了」就宣布通过。
输出:差值方向 + 属于哪一类。
「差 12 个」没有用,要的是「哪 12 个」。
取差集的方法:
输出:每处差值的清单(路径 + 属于哪类 + 建议动作)。
修的动作做完后,重新取一次三个数。
⛔ 不要只修看得见的那几个。差集是完整清单,按清单修,不按印象修。
输出:修前 / 修后两组数字。
| 现象 | 最可能的原因 | 处理 |
|---|---|---|
| 页比索引多很多 | 新内容只发布了、没登记 | 补登记;查发布流程里为什么漏了这一步 |
| 索引比页多 | 删页时没删索引 | 从索引删掉;建立「删页必删索引」的连带动作 |
| 三个数相等,但某些页搜不到 | 页在索引里,但字段缺失(标题/摘要为空) | 查这些页的元信息,不是数量问题 |
| 数字对不上,但一个个抽查都对 | 口径不同(某类文件一处算一处不算) | 回第一步,把排除清单写成文件 |
| 每次补完都对不上 | 索引是追加式的,补录时又新起了一条记录 | 查索引写入逻辑:是按日期合并,还是每条新起一块 |
| 差值里有一批「孤儿页」 | 线上有、源里没有(有人直接改了线上) | 要么补回源,要么确认删除——不能放着不管 |
| 索引更新了但访问仍看不到 | 缓存 / 索引文件没被重新加载 | 确认索引文件的更新时间与缓存策略 |
倒数第三条值得单独说:追加式的索引在补录历史内容时会静默出错——补进去的每一条都排在最前面,看似成功,实际顺序全乱、还产生重复块。数量对得上不等于结构对。
口径:含 <...>,排除 <...>
三个数:源文件 A / 实际页 B / 索引条 C
差值:页 - 索引 = X(漏登记)· 索引 - 页 = Y(死链)
清单:
漏登记 X 个:<路径列表>
死链 Y 个:<路径列表>
处置:<补了哪些、删了哪些>
复核:修后 源 A' / 页 B' / 索引 C' → 相等 / 仍差 Z
scope: {root, index_file, exclude: [...]}
counts: {source: n, pages: n, index: n}
diff: {missing_in_index: [paths], dangling: [paths], orphan: [paths]}
action: {added: n, removed: n}
recheck: {counts: {...}, equal: true|false}
equal 为 false 时,diff 不能为空——报了不等却给不出清单,等于没对账。
三数 1024/1024/1024 相等。 或 差 X 个:漏登记 a、死链 b,清单已列。
⛔ 不要只报「大概一致」。
2026-11-06。索引形式因站而异(站点地图 / JSON 清单 / 数据库表),但「三数 + 口径 + 差集清单」的对账方法通用。与所执行系统的既定标准冲突时,以那个系统的标准为准。