快递100 SEO 实测:119 个国际页,七成 canonical 失效
快递100 的站点地图只有 1,538 条地址,lastmod 却全部标成同一天。抽检 19 条国际页,14 条 canonical 指向 404;30 条公司页 3 条已死链;819 个公司页零互链。
快递100 的站点地图只有 1,538 条地址,lastmod 却全部标成同一天。抽检 19 条国际页,14 条的 canonical 指向 404;30 条公司页有 3 条已死链;819 个公司页彼此零互链。这篇摊开原始数据,给出九条按影响面排序的修改。
一、结论:三处硬伤都发生在「交出去了,但没接住」
这个站的抓取资源并不缺。首页 64,935 字节、大全页 91,202 字节,模板体量正常,没有把正文塞进内联脚本,也没有 30 万条地址挤在一个文件里那种失控。问题出在交接环节:站点地图把地址交出去,规范标签又把索引权交给另一个地址,而那个地址有七成不存在。
三处硬伤按影响面排序如下。
第一处是 119 个国际页的 canonical 集体指向 /all/ 同名地址,实测 73.7% 的目标返回 404。第二处是主站 robots.txt 只有 289 字节、11 行 Disallow(去重后 10 条),没有一行 Sitemap 声明,而移动站那份 robots 却声明了自己的地图。
第三处是 913 个公司页只有 /all/ 一个入口,页与页之间没有任何互链。
这三处都属于「改模板就能修、但没人回头验证」的类型。对比此前 链家的实测,那边的主域收录只剩 9 条,是入口层设计问题;穷游那篇 是 20 条城市链接全部指向 503,属于可用性问题。快递100 的问题在两者之间:入口是通的,规范声明是错的。
二、三条实测证据
2.1 站点地图:1,538 条地址,lastmod 只有 1 个取值
sitemap.xml 是一个 272,525 字节的单文件,没有用 sitemapindex 分片。1,538 条 loc 全部唯一,但 1,538 条 lastmod 只有一个值:2026-11-12。也就是说这张地图每天都声明「全站刚刚全部更新过」。
| 路径簇 | URL 数 | 占比 | 抽样结果 |
|---|---|---|---|
| /all/ 公司页 | 913 | 59.4% | 30 条抽样 3 条 404 |
| /network/ 网点页 | 488 | 31.7% | 14 个省份页 + 473 个城市页 |
| /global/ 国际页 | 119 | 7.7% | 19 条抽样 14 条 canonical 指 404 |
| 其他静态页 | 18 | 1.2% | about / help / openapi / price |
110 条公司地址在站点地图里、却从未被 /all/ 页面链接到;另有 16 条被 /all/ 链接、却不在站点地图里。
两套清单没有对齐,爬虫无论走哪条路径都只能看到全集的一部分。

「其他」这一类里还有一个重复提交:/all/index.shtml 与 /all/ 返回完全相同的 91,202 字节,前者的 canonical 写的是 /all/,但两个地址都进了站点地图。规范标签让它们合并,地图又把它们分开,等于各说一半。
2.2 国际页:canonical 指向了一个不存在的地址
/global/ 下的页面本身是正常的:HTTP 200、有标题、有正文,其中 /global/dpd.shtml 32.8 KB、/global/aae.shtml 48.9 KB。问题在 head 里那一行:canonical 被统一改写为 /all/ 同名地址。
/global/dpd.shtml 的 canonical 是 /all/dpd.shtml,后者返回 404;/global/kcs.shtml、/global/swisspost.shtml 同样如此。19 条随机抽样中 14 条的目标为 404,按比例折算约 88 条。而 /all/aae.shtml 恰好存在,那一条的链路是完整的,这也说明不是设计如此,而是数据没有同步。

这里补一个细节:404 页面返回的确实是 404 状态码,响应体 7,221 字节的 404 模板,处理是规范的。所以问题不在错误页设计,而在「规范声明指向了一个从来没被生成出来的地址」。
顺带发现一条编码缺陷:/all/flowerkd.shtml 声明的字符集是 UTF-8,标题里却含着 EF BF BD 替换字符与残留的 GBK 字节,实际渲染出来是乱码。这类页面在结果摘要里会直接显示成方块。
2.3 内链:819 个公司页,平均入链 1 条
首页 163 条 a 标签、67 条唯一链接;/all/ 大全页 916 条链接、881 条唯一,其中 819 条指向公司页;公司页自身 105 条链接里,指向其它公司页的是 0 条,唯一那条 /all/ 链接是面包屑里的自身地址。
这就是典型的「单入口扇出」:913 个页面共享一个入口,任何一个环节出问题,损失是全量的。而 /all/ 页面上 0 个 H1、0 个 H2,819 条链接排在同一层,没有按地区、类型或业务场景做分组。

网点页是另一条支线,同样没有出口。473 个城市页的 URL 是 city_{公司ID}_{城市ID}.htm,实测出现的公司 ID 只有 1 到 14,也就是说 819 家在册公司里只有 14 家有网点页,覆盖率 1.7%,每家公司平均 34 个城市。
三、页面层:0 个 H1,85% 的图上没有 alt
3.1 标题层级:三类模板页一个 H1 都没有
五个模板页的实测结构如下,字节数为解压后长度,可见字数按去标签后的中文字符计。
| 页面 | 字节 | 可见汉字 | H1 / H2 / H3 | 图 / 无 alt |
|---|---|---|---|---|
| 首页 | 64,935 | 2,309 | 0 / 0 / 1 | 56 / 45 |
| /all/ 大全 | 91,202 | 3,815 | 0 / 0 / 0 | 19 / 1 |
| /all/sf.shtml | 51,510 | 2,090 | 1 / 5 / 7 | 48 / 41 |
| /network/city_1_11.htm | 23,541 | 417 | 0 / 0 / 0 | 24 / 17 |
| m./all/sf.htm | 15,973 | 356 | 0 / 0 / 0 | 9 / 5 |
按 URL 数加权,913 个公司页加 488 个网点页共 1,401 条地址里,绝大多数落在「0 个 H1」的模板上,占全站 91%。唯一结构完整的是公司页模板,1 个 H1、5 个 H2、7 个 H3;它的 48 张图里 41 张没有 alt,占 85%,五个页面合计 156 张图、109 张无 alt,占 70%。
网点页是最薄的一层:417 个汉字、0 个标题标签、77 条链接里大部分是导航。这类页面的价值本应在「城市 + 快递公司 + 网点地址电话」,但正文实际上只有一段模板话术。
3.2 移动端:两份自指 canonical,等于交了两份索引
iPhone UA 访问 /all/sf.shtml,得到 302 跳转到 m.kuaidi100.com/all/sf.htm,扩展名从 .shtml 改成 .htm,路径保留,这一步是对的。但 /network/city_1_11.htm 在同样 UA 下不跳转,直接返回 200 的桌面页,同一站内两套设备识别规则并存。
更关键的是规范声明:桌面页 canonical 指向自身,移动页 canonical 也指向自身,两侧都没有 rel=alternate 互指。后果是同一内容在两个主机上各被当成一份独立文档,而移动页只有 356 个汉字,在移动优先索引下,代表这个 URL 的正是这份薄内容。
两份 robots 也不对称:主站 289 字节、0 行 Sitemap;移动站 4.1.0 版、13 条 Disallow、明确写了一行 Sitemap 指向 m 站的 1,037 条地图。裸域跳转同样不一致:http 版本用 301,https 版本用 302。
四、九条建议与优先级
排序依据只有两条:影响多少条 URL,以及修复要动多少东西。P0 全部可以在半天内上线并验证。
| 优先级 | 动作 | 影响面 | 工作量 | 验收标准 |
|---|---|---|---|---|
| P0 | 国际页 canonical 改自指,或补全 /all/ 目标页 | 119 条 | 模板 1 行 + 补 88 条数据 | 19 条抽样目标全部 200 |
| P0 | 主站 robots 增加 Sitemap 声明 | 1,538 条 | 改 1 行文本 | robots 中出现地图地址 |
| P0 | 站点地图剔除死链与 index.shtml | 约 92 条 | 生成脚本加过滤 | 抽样死链率降到 0 |
| P1 | 公司页增加 8 到 12 条同类互链 | 913 条 | 模板 + 关联表 | 平均入链升到 3 以上 |
| P1 | lastmod 按真实变更加权分档 | 1,538 条 | 生成脚本改造 | 至少出现 3 个取值 |
| P1 | 桌面与移动 canonical 互指 | 两条 URL | 模板各加 1 行 | 两侧出现 alternate |
| P2 | 三类模板页补 H1 与 H2 分组 | 1,401 条 | 模板改动 | 抽检 10 页均有 H1 |
| P2 | 图片 alt 批量回填 | 缺 70% | 模板 + 图注规范 | 首页无 alt 降到 10% 以下 |
| P2 | 网点矩阵从 14 家扩到 30 家 | 473 到 2,400 | 数据接口扩展 | 新增页均有独立正文 |
P0 的第一条有两种解法,选哪种取决于数据侧的成本。若 /all/ 能补齐 88 个国家页,保留 canonical 指向即可,国际页会和国内页合并成同一批资产;若补不齐,就把 canonical 改成自指,先让 119 条地址各自成立。两种都比现状好,现状是最坏的第三种:既没合并,也没独立。
P0 第三条要连 /all/index.shtml 一起清掉。它已经有 canonical 指向 /all/,说明团队本来就把它当重复页处理,只是地图没跟上。
P1 的互链建议按「同省 + 同类型」两维做关联,不必全站互链。819 页每页出 8 到 12 条,入链自然会摊到 3 条以上,同时也把 /all/ 单页 819 条链接的扇出压力降下来。
P2 里的网点矩阵是最有长期价值的一条。473 个页面覆盖 14 家公司,而全站在册 819 家;按「30 家公司 × 80 个城市」先做到 2,400 页,每页正文补足网点地址、联系电话、派送范围三段实数据,才撑得起「城市 + 快递公司 + 网点」这个搜索意图。当前 417 个汉字的模板页,即使收录了也很难拿到排名。

小结:这不是抓取问题,是交付问题。爱站当前数据显示,这个站百度来路 59,009 到 108,356 IP,移动来路 39,409 到 79,852 IP,PC 词 9,856 个、移动词 7,567 个;收录量百度 1,080 万、搜狗 3,251 万、360 140 万,谷歌只有 1.72 万,与百度收录相差 628 倍。国际页本该是谷歌那条线的资产,七成却把索引权交给了 404 地址,这个比例和收录落差的方向是一致的。
站点地图、规范标签、内链结构这三件事,任何一件做错都还能靠权重硬扛;三件同时出问题,表现就是「收录数字很大、单页排名很差、抓取预算年年涨」。这家站的模板质量不算差,公司页有完整的三级标题,404 也返回了正确状态码,缺的只是把交出去的地址逐个接住。
对比 什么值得买那 5 万条挤在 11 分钟里的 lastmod,两次实测指向同一个结论:站点地图不是导出行,是承诺书。
数据说明:本文所有字节数、链接数、状态码均为 2026-11-12 单线程直抓所得,抽样以 sitemap 全量为抽样框、固定随机种子、间隔 1.0 到 1.2 秒;收录与来路数据来自爱站综合查询,口径为第三方估算,仅作趋势参考。
登录后可点赞、收藏与反馈。