这个工具做什么
站点地图生成器把一份普通的网址列表转换成符合 sitemaps.org 协议的 sitemap.xml。每行粘贴一个网址,XML 随输入实时生成:网址会被百分号编码和 XML 转义,去掉 #片段,重复的只保留一次。/pricing 这样的相对路径会按你设置的基础网址解析;没设置时,按列表里第一个完整网址的域名解析。
全局设置可以给每条记录加上 <lastmod> 日期(今天或指定日期)、<changefreq> 和 <priority>。优先级还可以按路径层级自动设置:首页 1.0,下一级 0.8,再下一级 0.6,更深的 0.4。把类型切换为站点地图索引,就可以列出多个站点地图文件而不是页面。
校验并格式化模式用来检查已有的站点地图或站点地图索引:XML 是否格式正确,根元素和命名空间是否正确,每条记录是否有完整的 http(s) <loc>,<lastmod> 是否是 W3C 日期,<changefreq> 是否是允许的取值,优先级是否在 0.0 到 1.0 之间,以及是否超过 50,000 条。错误会指出是第几条记录并跳到对应行。合法的文件会重新缩进或压缩输出,注释和 image:image 这类扩展标签都会保留。
怎么用
- 粘贴网址,每行一个。以
#开头的行会被忽略。 - 可以在网址后面用空格隔开写上这一行自己的值:日期、更新频率和优先级,顺序随意。它们会覆盖这一行的全局设置。
- 选择最后修改时间、更新频率和优先级的默认值;需要按字母顺序排列时打开「网址排序」。
- 把结果下载为
sitemap.xml,上传到网站。
要检查现有的站点地图,切换到校验并格式化,粘贴 XML 即可。
示例
下面的输入混合了普通网址、带值的行和相对路径:
https://example.com/
https://example.com/blog/ 2024-05-01 daily
https://example.com/docs/getting-started weekly 0.9
/pricing
生成结果:
<?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>
<lastmod>2024-05-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://example.com/docs/getting-started</loc>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://example.com/pricing</loc>
</url>
</urlset>
小贴士
- 只列出返回 200 的规范网址:不要放重定向、
noindex页面,也不要放带跟踪参数的重复网址。 - 站点地图里的网址通常要和站点地图文件在同一个主机上,除非你通过各主机的 robots.txt 提交它。
- 日期可以写成
YYYY-MM-DD,也可以是带时区的完整时间,例如2024-05-01T09:30:00+00:00。 - 大的站点地图可以用 gzip 压缩成
sitemap.xml.gz提供;数量和大小限制按未压缩的文件计算。
常见问题
› lastmod、changefreq 和 priority 必须写吗?
只有 loc 是必填的。Google 只在 lastmod 一贯准确时才使用它,并忽略 changefreq 和 priority;Bing 等搜索引擎仍会读取它们。lastmod 应该填页面内容真正变化的日期,而不是生成文件的日期。
› 一个站点地图最多能放多少网址?
最多 50,000 个网址,未压缩时不超过 50 MB。站点更大时,把网址拆成多个站点地图,再用站点地图索引列出这些文件,本工具也能生成索引。
› 我的网址列表会被上传吗?
不会。站点地图完全在浏览器里生成和校验,工具不会访问你的网址。用「下载」按钮保存 sitemap.xml 即可。
› 怎样让搜索引擎知道我的站点地图?
把 sitemap.xml 上传到网站(通常放在根目录),在 robots.txt 里加一行 Sitemap: https://example.com/sitemap.xml,并在 Google Search Console 和 Bing 网站管理员工具里提交这个网址。