🗺️ sitemap.xml 生成器
粘贴 URL 列表 (每行一个) 生成 sitemap.xml,支持 lastmod、changefreq、priority、hreflang 多语言、图片视频扩展。
🔒 关于隐私
- ・URL 列表不会发送到服务器
- ・浏览器内处理
- ・无需注册、登录或付款
0 URL
批量默认值
hreflang 多语言 (可选)
格式 "lang: URL前缀",每行一个。
📄 sitemap.xml
📖 常见的坑
根据 URL 列表生成 sitemap.xml,支持批量设置 lastmod、changefreq、priority,用 hreflang 描述多语言版本,以及图片与视频扩展。处理全部在浏览器内完成。站点地图并不保证被收录——它只是告知「这个页面存在」,是否收录由搜索引擎依据内容自行判断。忽略这个前提,就会把时间花在毫无效果的工作上。
| 情形 | 会发生什么 | 怎么处理 |
|---|---|---|
| 放进站点地图了,却没有被收录 | 站点地图辅助的是「发现」,它对「收录」不作任何承诺。内容单薄、与其他页面重复、或只是从模板生成的页面,无论在站点地图里多显眼,都不会被收录。它甚至可能起反作用:把带 noindex 的页面、canonical 指向别处的页面、会重定向的 URL、返回 404 的 URL 列进站点地图,就是把互相矛盾的信号摆在爬虫面前。在它看来,你一边请求收录、一边又拒绝收录,整份站点地图的可信度随之下降。 |
只把你希望被收录的页面列进去。规则很简单,但自动生成站点地图的网站常常做不到——它们会机械地枚举所有页面。未被收录的原因可以在 Search Console 的「网页」报告里查到:「已发现 - 尚未编入索引」意味着它连抓取都还没被抓取(被判定优先级低);「已抓取 - 尚未编入索引」意味着读过之后被判定不值得收录,两者该采取的对策截然不同。前者是链接结构的问题,后者是内容的问题。不区分这两者就去「重新提交站点地图」,对哪一种都无济于事。 |
| 在 priority 与 changefreq 上花时间 | Google 已公开表明它基本忽略 priority 与 changefreq。原因显而易见:它们由站点方自行申报,而把所有页面都设为 1.0、daily 的网站实在太多,这两个字段早已不再承载信息。priority 本意是表达站内的相对重要度,全都填成同一个值,就什么也没说。lastmod 至今仍会被参考,但当所有页面都写着今天的日期时,它同样失去可信度——而静态站点生成器的默认行为恰恰如此,「构建时间成了所有页面的 lastmod」的站点极为常见。 |
priority 与 changefreq 直接省略即可——不写它们不会带来任何不利。该花时间的是让 lastmod 反映真实的更新时间:请使用数据库中的 updated_at,或 Git 中该文件最后一次提交的时间。当它准确时,搜索引擎会更快地重新抓取被更新的页面——这是站点地图里为数不多真正起作用的部分之一。反过来,不要在内容未变的情况下只更新 lastmod:它或许能诱发一次抓取,但反复声称「更新了」却什么都没变,这个声明本身就不再被相信了。 |
| 超过 5 万 URL / 50MB 的上限 | 上限是每个文件 5 万个 URL、未压缩 50MB,Google 与 Bing 一致。一旦超出,超出的部分并不会被丢弃,而是整份文件报错——也就是说,加进第 50,001 个 URL 的那一刻,原本正常工作的 5 万个也一起失效了。在电商或媒体网站上,商品与归档不断累积,某一天就这么越了线。而且在 Search Console 报错之前你不会察觉,这才是麻烦之处——没人会每天去看自己的站点地图。 | 请用站点地图索引来拆分——即在 <sitemapindex> 中列出多个 <sitemap>。索引本身也可容纳 5 万条,因此实际上限可达 25 亿个 URL。按「更新频率」来拆分最有效率:把经常变动的页面(新文章、库存)汇总成一个小文件,几乎不变的归档另放一个文件,爬虫就会频繁访问前者、极少访问后者,抓取预算才花在刀刃上。请从一开始就拆分,而不是等接近上限再拆——事后改动结构,会导致所有 URL 需要被临时重新发现一遍。 |
只要在 robots.txt 中写上一行 Sitemap: https://example.com/sitemap.xml,站点地图就会被发现。在 Search Console 中注册并非必须,但因为能看到错误与收录数量,仍推荐注册。其中的 URL 有约束:必须是绝对 URL,且与站点地图自身处于同一主机、同一协议——若要包含其他域名的 URL,需要在 Search Console 中完成所有权验证。而且,站点地图不是「做一次就完事」:已删除页面的 URL 若仍留在其中,就会排出一串 404,Search Console 里的警告也会持续存在。本站自身在 2026 年 7 月下线葡萄牙语与德语版时也经历过这一步:站点地图从 2,016 个 URL 精简到了 1,440 个。请把「配置 301 重定向」与「从站点地图中删除 URL」当作同一项工作——只做其中一半,必定会留下不一致。
📖 使用方法
-
1
粘贴 URL每行一个 URL。
-
2
设置选项按需设置 lastmod、changefreq 等。
-
3
下载放在站点根目录并提交到 Search Console。
❓ 常见问题
单文件上限?
priority 影响 SEO?
应该写在 sitemap?
🔗 相关工具
🐛 此工具出现问题了吗?
免费、无需注册。仅提供复现步骤也有帮助。报告将直接发送给运营者并用于改进。
感谢您的反馈!
已送达运营者,将用于改进工具。