XML 站点地图生成器
粘贴 URL 列表,即刻生成规范的 sitemap.xml——不抓取网站,纯本地处理
本工具仅根据你粘贴的 URL 列表生成站点地图——不会抓取你的网站。
URL 列表
无效行(已跳过):
生成的 sitemap.xml
在上方输入 URL 即可生成站点地图……
站点地图生成器把一份纯文本的页面 URL 清单转换成符合 sitemaps.org 0.9 规范的 XML 站点地图。每行粘贴一个绝对 URL,可选地设置全局的 lastmod、changefreq 和 priority,工具会在输出 <urlset> 文档前对每一行做去空格、校验、去重和 XML 转义。它严格只根据你提供的清单构建——从不抓取或爬取网站,因此无法替你发现 URL。
从 URL 列表构建站点地图
- 从 CMS、静态站点构建产物、服务器日志或页面数据表查询中导出 URL。只保留希望被索引的页面。
- 将清单粘贴到输入框,每行一个绝对 URL。每行会去除首尾空格,空行被忽略。
- 可选设置全局更新频率、优先级(0.0–1.0)和 lastmod 日期。任意一项设为「省略」即完全不输出该元素。
- 查看警告面板。无效行会带行号列出,重复计数器会告诉你丢弃了多少条重复项。
- 复制 XML,或直接下载为
sitemap.xml。 - 托管到网站根目录,在 robots.txt 中引用,并在 Search Console 提交。
实操示例:输入三个 URL,输出一份站点地图
给定以下输入,lastmod 为 2026-09-11,changefreq 为 weekly,priority 为 0.8:
https://example.com/
https://example.com/about
https://example.com/blog/?tag=js&page=2
输出为:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-09-11</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://example.com/about</loc>
<lastmod>2026-09-11</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://example.com/blog/?tag=js&page=2</loc>
<lastmod>2026-09-11</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
注意查询串里的 & 被转义成了 &,XML 因此保持良构。把 https://example.com/about 粘贴两次,第二份会作为重复项被丢弃;粘贴 example.com/about 或 ftp://example.com/file,这些行会被报告为无效,而不会破坏整个文件。
可选元素详解
| 元素 | 可接受取值 | 实用建议 |
|---|---|---|
lastmod | W3C 日期,如 2026-09-11,或完整 ISO 8601 | 能取到每个页面的真实修改时间就用,否则省略 |
changefreq | always、hourly、daily、weekly、monthly、yearly、never | 仅提示;Google 会忽略,除非其他引擎需要,否则省略 |
priority | 0.0–1.0,一位小数 | 只在同一站点内表示相对重要性;会被截断,且 Google 忽略 |
限制与失败模式
- 体积限制: 单个文件最多 5 万个 URL 或未压缩 50 MB。更大的站点需要用站点地图索引指向多个子站点地图。
- 去重是精确且区分大小写的。
https://example.com/About与https://example.com/about会同时保留,仅尾部斜杠不同的 URL 也一样。粘贴前请先做规范化。 - 它只校验语法,不校验可达性。
new URL()接受语法良构但会返回 404 或重定向的地址,生成器仍会照单收录。 - 不做压缩。 如果需要
sitemap.xml.gz,请自行压缩下载后的文件;这是有效的,且仍在 50 MB 限制内。 - 转义 覆盖
&、<、>、"和',查询串和特殊路径都能原样保留。
何时需要站点地图索引
对于超过 5 万个 URL 的站点,或按板块清晰拆分的内容,请发布多个站点地图文件和一个顶层索引。索引使用不同的根元素 <sitemapindex>,通过各自的 <loc> 和可选 <lastmod> 指向每个子文件:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2026-09-11</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-blog.xml</loc>
<lastmod>2026-09-11</lastmod>
</sitemap>
</sitemapindex>
每个子文件最多容纳 5 万个 URL,因此两个文件的索引覆盖 10 万页面,以此类推。robots.txt 中只需引用索引,爬虫会通过它发现子文件。本生成器只产出单个扁平站点地图,超大站点请按板块分别生成,再手工拼装索引。
常见错误
- 把重定向、已被规范化掉的或 404 的 URL 列进去——爬虫会浪费抓取配额。
- 每次构建都用当天日期填充 lastmod,使该字段失去意义。
- 以为 priority 会影响排名。它只表达你自己站点内的相对重要性。
- 使用相对或协议相对 URL。每个
loc都必须是绝对的,并以http://或https://开头。 - 只发布了
sitemap.xml,却让 robots.txt 指向sitemap-index.xml。 - 混用
http与https,或www与非www,导致同一页面出现两次。
相关工具
- Robots.txt 生成器 — 编写与站点地图配套的爬虫规则。
- Meta 标签生成器 — 为你列出的页面生成 canonical、OG 和 Twitter 标签。
- XML 格式化 — 美化或校验生成的 XML。
- URL 编码/解码 — 在把查询串放入
loc前先编码。 - URL 解析器 — 把 URL 拆成各部分以便审查。
常见问题
这个生成器会抓取我的网站来发现 URL 吗?
不会。它只根据你粘贴的 URL 列表(每行一个)生成站点地图,不会请求、抓取或探测你的网站。请先从 CMS、框架或现有站点地图导出 URL 清单,再粘贴到这里。
不是合法 URL 的行会怎么处理?
空行会被静默跳过。非空但不是绝对 http 或 https URL 的行(例如 `example.com/about`、`ftp://...` 或误入的标题)会带原始行号列为警告并排除在 XML 之外,其余内容仍能正常生成。
changefreq 和 priority 是必填的吗?
不是。两者都只是提示,Google 已公开忽略多年。可以选择「省略」完全不输出。如果确实要填,它们会被复制到每个 URL,且符合 sitemaps.org 规范。
单个站点地图最多能放多少个 URL?
sitemaps.org 规定每个文件上限 5 万个 URL、未压缩 50 MB。超出后请拆成多个带编号的站点地图(如 sitemap-1.xml、sitemap-2.xml),再单独写一个站点地图索引指向它们。
lastmod 需要什么日期格式,可以省略吗?
lastmod 接受 W3C 日期时间,最稳妥的是仅日期的 YYYY-MM-DD 形式,也是本工具默认填入的格式。如果拿不到每个页面的真实修改时间,请选择「省略」——不准确的 lastmod 比不写更糟,爬虫可能因此不再信任该字段。
生成的文件托管在哪里,如何通知搜索引擎?
把下载的 sitemap.xml 上传到网站根目录,使其能通过 https://yourdomain.com/sitemap.xml 访问。在 robots.txt 中加入一行 `Sitemap: https://yourdomain.com/sitemap.xml`,再到 Google Search Console 或 Bing Webmaster Tools 提交一次该地址。
由 HandyTools Hub 团队审校 · 最后更新