HandyTools Hub

XML 站点地图生成器

粘贴 URL 列表,即刻生成规范的 sitemap.xml——不抓取网站,纯本地处理

ℹ️

本工具仅根据你粘贴的 URL 列表生成站点地图——不会抓取你的网站。

URL 列表

生成的 sitemap.xml

在上方输入 URL 即可生成站点地图……

站点地图生成器把一份纯文本的页面 URL 清单转换成符合 sitemaps.org 0.9 规范的 XML 站点地图。每行粘贴一个绝对 URL,可选地设置全局的 lastmod、changefreq 和 priority,工具会在输出 <urlset> 文档前对每一行做去空格、校验、去重和 XML 转义。它严格只根据你提供的清单构建——从不抓取或爬取网站,因此无法替你发现 URL。

从 URL 列表构建站点地图

  1. 从 CMS、静态站点构建产物、服务器日志或页面数据表查询中导出 URL。只保留希望被索引的页面。
  2. 将清单粘贴到输入框,每行一个绝对 URL。每行会去除首尾空格,空行被忽略。
  3. 可选设置全局更新频率、优先级(0.0–1.0)和 lastmod 日期。任意一项设为「省略」即完全不输出该元素。
  4. 查看警告面板。无效行会带行号列出,重复计数器会告诉你丢弃了多少条重复项。
  5. 复制 XML,或直接下载为 sitemap.xml。
  6. 托管到网站根目录,在 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&amp;page=2</loc>
    <lastmod>2026-09-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

注意查询串里的 & 被转义成了 &amp;,XML 因此保持良构。把 https://example.com/about 粘贴两次,第二份会作为重复项被丢弃;粘贴 example.com/about 或 ftp://example.com/file,这些行会被报告为无效,而不会破坏整个文件。

可选元素详解

元素可接受取值实用建议
lastmodW3C 日期,如 2026-09-11,或完整 ISO 8601能取到每个页面的真实修改时间就用,否则省略
changefreqalways、hourly、daily、weekly、monthly、yearly、never仅提示;Google 会忽略,除非其他引擎需要,否则省略
priority0.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,导致同一页面出现两次。

相关工具

常见问题

这个生成器会抓取我的网站来发现 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 团队审校 · 最后更新