# 网站只有100个页面，需要提交Sitemap吗？

URL: https://caijiao.org/posts/148
Source: docs/posts/148.md
Description: 100 页的站，sitemap 的作用不是"让 Google 找到页面"——这点靠内链就够了。真正的价值是 lastmod 信号和"已抓取未索引"的诊断清单。Google 对单份 sitemap 的硬上限是 5 万条 URL、未压缩 50MB。

需要，但理由跟大多数人想的不一样。

100 个页面这个规模，爬虫从首页顺着内链走两三跳就能全部摸到。sitemap 在"被发现"这件事上几乎不加分——一个连内链都没做通的 100 页站点，加了 sitemap 也救不回来。真正值得提交的是另外三件事。

## lastmod 是 Google 唯一愿意信的更新信号

sitemap 里那个 `<lastmod>` 字段，Google 用它决定要不要重新抓取某个页面。前提是它必须真实、可验证、符合 W3C Datetime 格式（`2026-09-24` 这种日期，或者带时区的时间戳）。

我见过最多的问题是构建脚本每次都把所有 URL 的 lastmod 写成当天。这种写法用久了，Google 会发现这个字段毫无信息量，然后整份忽略——等于你主动放弃了唯一一个能主动告诉搜索引擎"这页改过了"的通道。

正确做法是让它跟文件在 Git 里的真实修改时刻绑定，构建时读出来写进去。静态站生成器通常有现成插件做这件事，自己实现也就是一条 `git log -1 --format=%cI -- <file>`。

## 不提交 sitemap，你根本看不到有多少页面被拒绝

Search Console「网页」报告里那两类状态——"已发现 – 尚未抓取"和"已抓取 – 目前未编入索引"——只有在提交过 sitemap 之后才会成系统地出现。

100 页里有 30 页没进索引，是很常见的比例。不提交 sitemap，这 30 页会安静地躺在某个角落，你只会觉得"这个站怎么没流量"，永远定位不到具体是哪 30 页。sitemap 在这里的作用是一份待核对清单，不是通行证。

## 100 页不需要分片，但要知道阈值在哪

Google 对单份 sitemap 文件的硬限制是 50,000 条 URL、未压缩 50MB。100 页离这个上限差 500 倍，所以答案很干脆：一个 `sitemap.xml` 就够，别搞 sitemap index，别按类型拆。拆了只会多一个要维护的东西。

需要分片的是几万页的站。[Sitemap 与 robots.txt](/google-search-central/04-sitemaps-robots) 那一节讲了完整的格式规范和索引文件写法，提前看一遍能省掉后面的返工。

`changefreq` 和 `priority` 两个字段 Google 早就公开说过不采用，输出它们只是增大文件体积，可以省掉。

## sitemap 里只放能进索引的 URL

规则其实只有一条：每一条都必须是 canonical、能被抓取、且没有 noindex 的绝对 URL。翻过来就是三个高频错误。

放了被 robots.txt 挡住的 URL——Google 会报"无法访问"，这类报错积累多了会影响整份文件的可信度。放了带 `?utm_source=` 这类跟踪参数的地址——它不是 canonical 版本。放了 301 跳转之前的旧地址——这条最隐蔽，因为旧地址往往还在数据库里。

生成完之后自查一遍：拿 sitemap 里随机十条 URL，curl 一下看返回码是不是 200、页面上的 canonical 是不是等于这个地址本身。十分钟能查完。

## 交付方式就两行

robots.txt 顶部写一行 `Sitemap: https://example.com/sitemap.xml`，然后在 Search Console 里提交一次。

动态生成的话，用 [Nginx](/nginx/) 把 `/sitemap.xml` 反代到生成服务，或者直接指向静态文件都可以，但要确认响应头是 `application/xml` 而不是 `text/plain`——后者会被当成普通文本忽略掉。这个坑在默认配置里很容易踩到，尤其当 sitemap 是由某个后端接口吐出来的时候。

像 10015.io 那种用 Next.js 做的站，50 多个工具页面由框架路由自动产出 sitemap，100 页量级完全够用，没必要自己写生成器。等哪天页面数到了四位数，再自己接管也不迟。

![10015.io 官网首页截图](/images/2026-09/10015.io.png)

*10015.io 首页把 Product Finder 放在 Explore Tools 旁边，先描述需求再找工具的路径成了显性入口。*

## 提交完之后等什么

24 小时内看"已发现"的计数有没有涨，一周内看"已编入索引"有没有开始动。

一周后索引数还是 0，别急着改 sitemap，先去 URL 检查工具里手动跑一条。它返回的如果是抓取错误（404、5xx、robots 拦截），那是配置问题，改完立刻见效；如果是"已抓取 – 目前未编入索引"，那是内容判定问题，改 sitemap 完全没有用。这两条路的处理方式完全不同，先分清再动手。

---

*Google sitemap 5 万条 URL / 50MB 上限引自 Search Central 官方文档；10015.io 技术选型（Next.js + styled-components、50+ 工具）来自其公开说明。*
