Sitemap 生成器
Sitemap 生成器,是指把网址列表一键转换成符合 sitemaps.org 协议的 sitemap.xml 网站地图的在线工具。它免费、无需注册,可统一或逐行设置 lastmod、changefreq、priority,自动去重、转义 & 等特殊字符、编码中文网址,超过 5 万条自动拆分并生成 sitemap 索引文件。网址全在浏览器本地处理,不上传。
网址列表
一行一条;可从 Excel 复制多列(制表符分隔),日期、更新频率、0~1 的权重按形态自动识别、与列顺序无关;# 开头的行是注释。刷新即恢复示例,网址不会保存在本机。
字段与选项
lastmod(最后修改时间)
默认不写:lastmod 只有一贯准确才会被 Google 采用,本工具不替你填「今天」。
changefreq(更新频率)
Google 会忽略此项。
priority(权重)
Google 会忽略此项。
高级:归一、排序、拆分与文件名
生成结果
单个文件上限 50,000 条、未压缩 50.00 MB,任一先到即自动拆分;百度对单文件体积要求更严(约 10.00 MB)。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
</url>
<url>
<loc>https://example.com/blog/</loc>
</url>
<url>
<loc>https://example.com/products/</loc>
</url>
<url>
<loc>https://example.com/%E4%BA%A7%E5%93%81/%E6%89%8B%E6%9C%BA?%E5%9E%8B%E5%8F%B7=%E6%96%B0%E6%AC%BE</loc>
</url>
<url>
<loc>https://example.com/search?q=sitemap&page=2</loc>
</url>
<url>
<loc>https://example.com/about</loc>
</url>
</urlset>
sitemap 帮助搜索引擎发现网址,但不保证收录。
问题清单
未发现常见问题
归一改动(2 行)
下一步
- 把生成的文件上传到网站根目录(或上面「sitemap 存放目录」指向的目录),确保能在浏览器里直接打开。
- 在 robots.txt 加一行:
Sitemap: https://example.com/sitemap.xml,完整文件可以用 robots.txt 生成器 编辑。 - 到 Google Search Console、百度搜索资源平台、Bing Webmaster Tools 的「站点地图 / sitemap」页面提交 sitemap 地址(多文件时提交索引文件的地址)。
如何使用Sitemap 生成器
sitemap 在线生成:每行粘贴一个网址,可以从 Excel 连同日期、更新频率、权重几列一起复制进来;以斜杠开头的相对路径会用站点地址补全,已有的 sitemap.xml 可以点「导入」转回列表接着改。
在三张卡片里选 lastmod、changefreq、priority 的填法(默认都不写),再看问题清单:必须改的行不会写进文件,点一条就能跳到输入框对应的行;缺 https:// 的行可以一键补上。
复制或下载 sitemap.xml(拆成多个文件时下载 sitemaps.zip),上传到网站根目录,在 robots.txt 加一行 Sitemap: 地址,再到 Google、百度、Bing 的站长平台提交。
关于Sitemap 生成器的常见问题
- Sitemap 生成器会上传我的网址吗?
- 不会上传。你粘贴的网址列表、填写的站点地址和日期,全部在浏览器本地解析、编码和拼成 XML,不发给任何服务器,本工具也不会替你去抓取你的网站或线上的 sitemap。列表只放在当前页面的内存里,刷新即恢复示例,不写进本地存储;只有输出格式、缩进和三个字段的填法这几项展示偏好会记在本机。站点本身仅有匿名访问量统计,与你填的内容无关。
- sitemap.xml 怎么做?最少要写哪些标签?
- 最少三层标签:最外面一个 urlset 根元素,并带上 sitemaps.org 的命名空间;每条网址一个 url 元素;url 里面一个 loc,写带 https 和域名的完整网址。lastmod、changefreq、priority 都是可选的。文件要用 UTF-8 编码,网址里的 & 要写成 & 这样的实体。本工具把网址列表粘进来就会按这个结构自动生成,并把转义、编码、去重这些容易出错的细节一并处理掉。
- 一个 sitemap 最多能放多少条网址?超出怎么办?
- 按 sitemaps.org 协议,单个 sitemap 文件最多 50,000 条网址,未压缩体积不超过 50MB,两条线任一先到就要拆分。拆开后再写一个 sitemap 索引文件,把各个子文件的地址列进去,提交时只交索引文件的地址即可;索引文件里不能再套索引。百度对单个文件的体积要求更严,以百度搜索资源平台说明为准。本工具会按条数与实测字节数自动拆分并生成索引,每个文件的条数也可以自己调小。
- sitemap 的 lastmod 和 priority 要不要填?
- priority 和 changefreq 可以不填:Google 官方文档写明会忽略这两项,全部写成相同的值更是等于没写。lastmod 值得填,但前提是准确——Google 只在它一贯、可验证地准确时才采用,Bing 也会用它判断何时重新抓取。所以本工具默认三项都不写,也不提供一键填今天的按钮:每天把所有页面写成今天,等于告诉搜索引擎这个字段不可信。真实的修改日期可以作为一列从 CMS 或 Excel 导出后粘进来。
- sitemap 做好后怎么提交给百度和谷歌?
- 先把文件上传到网站根目录,确认在浏览器里能直接打开。然后在 robots.txt 里加一行 Sitemap: 加完整地址,搜索引擎读 robots.txt 时会顺带发现它。再分别登录 Google Search Console、百度搜索资源平台(普通收录里的 sitemap 提交)、Bing Webmaster Tools,在站点地图页面填入地址提交;拆成多个文件时提交索引文件的地址。几个平台都要求先验证站点归属。Google 已停用旧的 sitemap ping 接口,本工具也不会替你发请求。
- sitemap 里的网址为什么要转义和编码?
- 这是两层不同的处理,顺序不能反。第一层是百分号编码:中文路径、空格这类字符不能直接出现在网址里,要按 UTF-8 编成 %E4%BA%A7 这样的形式,已经编过码的 %XX 不能再编一次,否则就变成另一个网址。第二层是 XML 实体转义:sitemap 是 XML 文件,网址里的 & 必须写成 &,单双引号和尖括号也要转,否则整个文件解析失败。本工具两层都自动做,并在归一改动清单里逐行列出改了什么。
- 提交了 sitemap 为什么页面还是没被收录?
- sitemap 只是告诉搜索引擎有这些网址,帮助它更快发现,并不保证收录;收不收录取决于页面内容质量、重复程度和抓取情况。常见的自查点:网址是否返回 200 而不是跳转或 404;是否被 robots.txt 禁止抓取——写进 sitemap 又被 robots.txt 禁止是矛盾信号;页面是否带了 noindex;canonical 是否指向了别的网址;同一页面的 http 与 https、带不带 www、带不带尾斜杠是否混着提交。本工具的问题清单会把后三类混用标出来。
- sitemap 能放其他域名或子目录以外的网址吗?
- 一般不能。一个 sitemap 只能列它所在站点的网址,而且存放位置决定范围:放在 /blog/sitemap.xml 的文件只能列 /blog/ 下面的网址,放在根目录才能列整站。http 与 https、www 与不带 www 也被当成不同站点。需要跨站点列网址时,要在 Search Console 里验证所有相关站点,或者通过 robots.txt 声明。本工具在「高级」里可以填 sitemap 存放目录,不在这个目录之下的网址和多个域名混用都会在问题清单里提示。
- sitemap.xml 文件应该放在网站哪个目录?
- 最常见也最省心的是放在网站根目录,即 https://你的域名/sitemap.xml,这样它可以列整站的网址。放在子目录也可以,但只能列那个目录下面的网址。拆成多个文件时,索引文件和全部子文件要一起上传,并保证索引文件里写的子文件地址都能打开,本工具生成索引时会用你填的存放目录拼出这些地址。放好之后在 robots.txt 写一行 Sitemap: 加完整地址,各家搜索引擎都会读。
- Next.js 项目的 sitemap.ts 怎么写?
- Next.js 的 App Router 可以在 app 目录下放一个 sitemap.ts,默认导出一个返回 MetadataRoute.Sitemap 数组的函数,每一项写 url、lastModified、changeFrequency、priority,构建时自动生成 /sitemap.xml。本工具的 Next.js 页签会把同一份网址表转成这种写法,日期按你写的字符串原样输出,避免时区换算出错。网址超过 5 万条时不能写进一个数组,要用 generateSitemaps 分片,页签里会给出骨架写法,每一片从你的数据源按编号取网址。
- txt sitemap 和 XML 格式有什么区别?
- TXT 格式就是纯文本文件,一行一个完整网址,不能带 lastmod 等任何附加信息,Google、Bing 和百度都支持,适合网址多、只想快速列清单的场景。XML 格式可以附带最后修改时间,也支持索引文件和图片、视频等扩展。两者的单文件上限相同,同样是 5 万条、50MB。TXT 文件也必须用 UTF-8 编码,网址里的中文同样要编码。本工具的 TXT 页签与 XML 页签来自同一份网址表,超过上限时同样自动拆分。
- 网站有图片、视频或多语言版本,sitemap 要怎么写?
- 这几类要用扩展 sitemap:图片用 image 命名空间的 image:image 标签,视频用 video:video,多语言版本用 xhtml:link 加 hreflang 属性,都写在对应的 url 元素里面。本工具目前只生成标准的网址 sitemap,不生成这些扩展标签,需要的话可以在生成后手工补充,或者交给 CMS 插件生成。导入已有 sitemap 时,扩展标签会被丢弃,工具会如实提示丢弃了几个图片标签、几个 hreflang 链接,不会静默丢掉。
功能特点:网址列表到 sitemap 文件一步到位
- 网站地图生成器:一行一个网址,生成 UTF-8、LF 换行的标准 sitemap.xml,子元素顺序固定为 loc、lastmod、changefreq、priority,同样的输入永远得到同样的字节。
- sitemap.xml 生成时自动转义与编码:中文路径按 UTF-8 百分号编码、中文域名转 punycode,& 等五种字符转成实体,已编码的 %XX 原样保留;每一处改动都列在归一改动清单里。
- 逐行问题清单:内置 29 项检查,按必须改、注意、提示三级标出缺协议、相对路径、坏日期、未来时间、多域名、跟踪参数、重复网址等问题,点一条跳到对应行。
- 自动拆分与 sitemap 索引文件:超过 50,000 条或 50MB 自动拆成多个文件并生成索引,一次打包下载 zip。
- 四种输出来自同一份网址表:sitemap.xml、TXT、Next.js sitemap.ts 与 robots.txt 的 Sitemap 行,下载的就是预览的那一份。
- 导入已有 sitemap:粘贴或拖入 sitemap.xml,转回多列列表继续编辑;索引文件、扩展标签都会如实提示。
- priority 按层级推算:首页 1.0,每深一层减 0.2,最低 0.1;不过 Google 会忽略 priority,默认不写。
英文里这类工具叫 sitemap generator 或 xml sitemap generator;本页不在线爬取你的网站(那需要大量外发请求且受跨域限制),网址可以从 CMS 导出、从 Excel 复制,或用「提取链接」工具从网页源码里抽出来再粘贴。
写 sitemap 前要知道的四件事
- Google 忽略 changefreq 与 priority:lastmod 也只在一贯准确时才采用。所以本工具默认三项都不写,更不替你填今天。
- 先百分号编码,再 XML 转义:中文先编成
%E4%BA%A7这样的形式,再把&写成&;已经编码过的%XX不能再编一次。 - 存放位置决定能列哪些网址:
/blog/sitemap.xml只能列/blog/下的网址,放在根目录才能列整站。 - sitemap 不等于收录:它只帮助搜索引擎发现网址;写进 sitemap 又被 robots.txt 禁止抓取是矛盾信号,要二选一。
sitemap 格式标签速查
XML 网站地图只有六个标签,必填的只有 urlset、url、loc 三个。下表「Google 是否使用」一栏来自 Google 搜索中心文档(核对于 2026-10)。
| 标签 | 必填 | 写法 | Google 是否使用 | 说明 |
|---|---|---|---|---|
<urlset> | 必填 | <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> | 使用 | 根元素,命名空间必须一字不差 |
<url> | 必填 | 每条网址一个 <url> | 使用 | 子元素顺序不限,本工具固定 loc → lastmod → changefreq → priority |
<loc> | 必填 | <loc>https://example.com/a</loc> | 使用 | 完整网址,带协议,少于 2048 字符,& 等五种字符要转义 |
<lastmod> | 可选 | <lastmod>2026-10-01</lastmod> | 一贯准确时才用 | W3C Datetime:YYYY-MM-DD 或带时区的完整时间;Bing 也使用 |
<changefreq> | 可选 | <changefreq>weekly</changefreq> | 忽略 | always / hourly / daily / weekly / monthly / yearly / never |
<priority> | 可选 | <priority>0.8</priority> | 忽略 | 0.0 ~ 1.0,默认 0.5,只表示站内相对重要性 |
sitemap 提交百度、谷歌与 Bing:格式与上限
三家都支持在 robots.txt 里用 Sitemap 行声明;查不到官方说法的写「未公开」。上限数字核对于 2026-10,以各平台当期说明为准。
| 搜索引擎 | 支持格式 | 单文件上限 | 提交入口 | 备注 |
|---|---|---|---|---|
| XML、RSS/Atom、TXT | 5 万条 / 50MB(未压缩) | Google Search Console →「站点地图」 | 忽略 changefreq 与 priority;也可在 robots.txt 写 Sitemap 行 | |
| Bing | XML、RSS/Atom、TXT | 5 万条 / 50MB(未压缩) | Bing Webmaster Tools →「Sitemaps」 | 使用 lastmod;读取 robots.txt 的 Sitemap 行 |
| 百度 | XML、TXT | 5 万条 / 10MB(以平台说明为准) | 百度搜索资源平台 →「普通收录」→「sitemap」 | 字段支持情况未公开;需先验证站点归属 |
转义与编码示例:网址写进 sitemap 后的样子
右列由本工具的归一与转义函数现场算出,不是手写的结果。
| 原始网址 | 处理 | 写进 sitemap 后 |
|---|---|---|
https://example.com/search?q=a&page=2 | & 转成 & | <loc>https://example.com/search?q=a&page=2</loc> |
https://example.com/产品/手机 | 中文路径按 UTF-8 百分号编码 | <loc>https://example.com/%E4%BA%A7%E5%93%81/%E6%89%8B%E6%9C%BA</loc> |
https://example.com/%E4%BA%A7%E5%93%81 | 已编码的 %XX 原样保留 | <loc>https://example.com/%E4%BA%A7%E5%93%81</loc> |
https://example.com/100% | 孤立的 % 编码为 %25 | <loc>https://example.com/100%25</loc> |
https://例子.cn/ | 中文域名转 punycode | <loc>https://xn--fsqu00a.cn/</loc> |
HTTPS://Example.COM/Path/A#top | 协议与域名转小写、去锚点,路径大小写不动 | <loc>https://example.com/Path/A</loc> |
https://example.com/it's | 单引号转成 ' | <loc>https://example.com/it's</loc> |
问题清单覆盖的 29 项检查
| 级别 | 触发条件 |
|---|---|
| 必须改 | javascript:、data: 等危险协议 |
| 必须改 | 协议不是 http 或 https(ftp:、mailto: 等) |
| 必须改 | 网址没写 https:// |
| 必须改 | 以 // 开头、没写协议的地址 |
| 必须改 | 以 / 开头的相对路径,但没填站点地址 |
| 必须改 | 网址里带了账号密码 |
| 必须改 | 中文域名无法转成 punycode |
| 必须改 | 网址里有残缺的 emoji 等无效字符 |
| 必须改 | 网址里有控制字符 |
| 必须改 | 网址无法被解析 |
| 必须改 | 网址达到或超过 2048 字符 |
| 必须改 | 网址后面有识别不了的列(常见于网址里有空格) |
| 注意 | 关闭了编码,网址里仍有中文等非 ASCII 字符 |
| 注意 | 日期写法无法识别或日期不存在 |
| 注意 | lastmod 晚于今天超过 1 天 |
| 注意 | 同一个文件里出现多个域名 |
| 注意 | 网址不在 sitemap 存放目录之下 |
| 注意 | 同一域名同时出现 http 与 https |
| 提示 | /a 与 /a/ 同时出现 |
| 提示 | 带 www 与不带 www 的域名同时出现 |
| 注意 | 网址带 utm_ 等跟踪参数 |
| 提示 | 同一网址出现多次(已去重) |
| 注意 | 重复网址的日期、频率或权重不一致 |
| 注意 | 关闭了去重,sitemap 里有重复网址 |
| 提示 | 所有网址的 priority 都相同 |
| 提示 | 输出了 changefreq 或 priority |
| 提示 | 单个文件超过 10MB |
| 注意 | 选了「用列表里的值」但列表里没有这一列 |
| 注意 | 选了统一日期但没填日期 |