首页 / SEO book / 本地 SEO / XML 站点地图

XML 站点地图:是什么,以及如何生成一份

XML 站点地图本地 SEO

XML 站点地图帮助搜索引擎发现和抓取网站 URL。本文说明 sitemap.xml 的结构,以及如何在 Google Search Console 中生成、验证并提交它。

XML 站点地图在技术 SEO 中发挥着基础性作用,它支持搜索引擎发现和处理网站的 URL。

sitemap.xml 文件本身相对简单,但如何生成、组织和维护它,会直接影响抓取效率和索引覆盖率。

本指南说明 XML 站点地图的工作方式、它们在什么时候最重要,以及如何正确地创建和管理。读完之后,就能生成一份可靠的网站 sitemap XML 文件,并随着网站的发展让它始终符合 SEO 最佳实践。

什么是 XML 站点地图?

XML 站点地图是一个文件(通常命名为“sitemap.xml”),它列出网站中希望搜索引擎发现、抓取和索引的 URL。

除 URL 之外,XML 站点地图还可以包含帮助搜索引擎了解页面新鲜度和内容更新的元数据,例如:

  • 网站上某个页面最近一次有意义更新的时间
  • 通过站点地图扩展提供的图片或视频数据

搜索引擎使用 XML 站点地图来提升抓取和索引效率,尤其是当网站页面很多或导航结构复杂时。一份维护良好的 XML 站点地图可以帮助搜索引擎:

  • 发现网站上那些可能无法轻易通过内链找到的 URL
  • 优先抓取已更新或重要的页面
  • 降低重要页面在索引过程中被遗漏的风险

XML 站点地图是面向爬虫的文件,它不同于 HTML 站点地图,后者为访问者设计,充当导航页面。

XML 站点地图长什么样?

XML 站点地图是用可扩展标记语言(XML)编写的文本文件,这是一种搜索引擎能够轻松读取和处理的结构化格式。站点地图把网站上的 URL 列在 <urlset> 元素内,每个希望搜索引擎抓取的页面对应一个 <url> 条目。

以下是一个基本的站点地图示例(其中包含可选的标签):

核心的站点地图协议支持以下标签:

  • <urlset>:包裹整个站点地图文件
  • <url>:包裹一个 URL 条目
  • <loc>:希望被索引的 URL(必需)
  • <lastmod>:最后一次有意义的内容更新时间(可选)
  • <changefreq>:内容大致的更改频率(可选)
  • <priority>:从 0.0 到 1.0 的相对重要程度(可选)

也可以使用站点地图扩展,或为特定内容类型创建单独的站点地图,包括:

  • 图片站点地图
  • 视频站点地图
  • 新闻站点地图

站点地图索引长什么样?

站点地图索引是一个列出多个站点地图文件的文件。当需要不止一份站点地图时(例如因为站点地图限制,或因为按内容类型划分站点地图),通常会使用站点地图索引。

以下是站点地图索引的样子:

“apple.com”的站点地图索引,列出多个站点地图文件。

需要 XML 站点地图吗?

是的,如果希望搜索引擎可靠地发现并索引网站上的重要页面,就需要一份 XML 站点地图。

提供一份 XML 站点地图,可以让搜索引擎清晰地、直接地了解哪些 URL 是被认为重要的,从而提升抓取效率和索引覆盖率。

从技术上讲,XML 站点地图是可选的,但如果没有它,搜索引擎主要依靠内链和外链来发现 URL。这可能延迟或减少抓取覆盖范围,尤其是在导航结构复杂或链接深度有限的网站上。

如果网站具备以下情况,XML 站点地图尤其有用:

  • 页面很多(例如数百到数千个 URL,或任何经常添加新页面的网站)
  • 有新的或频繁更新的内容
  • 有些页面没有通过内链很好地连接起来
  • 有希望被索引的富媒体或专门内容

在实践中,当网站规模超出几十个页面后,XML 站点地图会变得越来越重要,尤其是当新 URL 经常被添加,或并非所有页面都能轻易通过内链到达时。

如何自动创建 XML 站点地图

可以使用网站平台内置的站点地图功能,或使用 XML 站点地图生成器来自动创建 XML 站点地图。

自动生成站点地图是生成 sitemap XML 文件最简单的方式。对大多数网站来说,自动生成是推荐做法,因为它会随着 URL 变化让站点地图保持最新。

使用平台的内置功能

许多网站平台会自动生成 XML 站点地图,包括像 Shopify 这样的电商平台,因此第一步应该是检查是否已经存在一份站点地图。

要检查,请访问“https://yourdomain.com/sitemap.xml”

如果看到一份结构化的 URL 或站点地图文件列表,说明平台已经生成了一份站点地图。请查看其中包含了哪些 URL,然后继续进入验证和提交环节。

如果没有出现站点地图,以下是一些针对特定平台的选项:

WordPress

WordPress 默认(自 WordPress 5.5 起)会在“https://yourdomain.com/wp-sitemap.xml”生成一份 XML 站点地图,但自定义选项有限。

核心站点地图包括文章、页面、分类、标签和作者归档页。

如果需要更多控制,像 Yoast SEO 和 Rank Math 这样的 SEO 插件可以通过让你做到以下几点来替换或扩展默认站点地图:

  • 包含或排除特定内容类型
  • 移除低价值的归档页或分类法
  • 为大型网站控制站点地图结构

也可以通过这些插件的高级设置自定义 WordPress 站点地图。

使用 SEO 插件时,站点地图通常是位于“https://yourdomain.com/sitemap_index.xml”的一份站点地图索引(例如 Yoast SEO 和 Rank Math 使用 sitemap_index.xml)。

发布或更新内容时,站点地图会自动更新。

Drupal

Drupal 需要一个模块来生成 XML 站点地图。

要创建一份:

  1. 安装 XML Sitemap 模块
  2. 配置要包含哪些内容类型和分类法
  3. 在“https://yourdomain.com/sitemap.xml”访问站点地图

配置完成后,站点地图会随着内容变化自动更新。

Joomla

Joomla 需要一个扩展来生成 XML 站点地图。

要创建一份:

  1. 安装像 OSMap 这样的扩展
  2. 选择要包含哪些内容类型和菜单项
  3. 在“https://yourdomain.com/sitemap.xml”访问站点地图

发布新内容时,站点地图会根据扩展设置自动更新。

使用站点地图生成器工具

可以使用站点地图生成器工具来制作 sitemap XML 文件。当平台不会自动生成站点地图,或需要更多控制纳入哪些 URL 时,这些工具最有用。

站点地图生成器工具通常通过抓取网站、识别可索引的 URL,并导出一个可直接上传或提交的 XML 文件来工作。

工具

最适合

可用套餐

Semrush 站点地图生成器

为任何网站快速创建站点地图

免费

Semrush Site Audit

站点地图验证与持续监控

付费(可试用)

Yoast SEO

为 WordPress 自动生成站点地图

免费版与高级版

XML Sitemap Generator for Google

需要更多控制的 WordPress 网站

免费

Screaming Frog

技术型用户和大型网站

免费(有功能限制),提供付费套餐

XML-Sitemaps.com

中小型网站

免费(有功能限制),提供付费套餐

SEOptimer

带基础控制项、可配置的抓取

免费(有功能限制),提供付费套餐

选择站点地图生成器时,重点关注它与网站规模和实际工作流程的契合程度:

  • 网站规模:许多免费工具将抓取上限设为 500 个 URL
  • 更新行为:有些工具只生成一次性文件,而另一些则会自动更新
  • URL 控制:能否排除 noindex 页面、参数或重复内容
  • 验证:内置对格式错误和非 200 URL 的检查
  • 专用站点地图:对图片、视频或新闻站点地图的支持
  • 易用性:基于浏览器的工具更简单,桌面抓取工具提供更多控制

对大多数网站来说,当需要一份一次性站点地图或基于抓取的对比时,生成器工具最快。对于持续监控,像 Semrush Site Audit 这样的工具更合适。

如何手动创建 XML 站点地图

可以通过编写并上传一个 sitemap.xml 文件来手动创建 XML 站点地图,但这种方法仅当需要完全控制如何制作 sitemap XML 条目时才实用。

如果网站只有数量有限且稳定的 URL(例如几十个页面),或需要完全控制每一个条目,那么手动创建站点地图是合理的选择。对大多数网站来说,这种方法比自动化方案更慢、也更容易出错。

要手写一份 XML 站点地图:

  1. 新建一个文本文件,并将其保存为“sitemap.xml”
  2. 按照站点地图协议添加所需的 XML 结构和站点地图命名空间
  3. 使用 <url> 和 <loc> 标签列出每个规范 URL
  4. 仅在你能够保持准确时才添加 <lastmod>(最后修改时间)
  5. 在上传前验证 XML 语法
  6. 将文件上传到网站的根目录,使其可通过“https://yourdomain.com/sitemap.xml”访问

像 <changefreq> 和 <priority> 这样的可选标签是站点地图协议的一部分,但像 Google 这样的搜索引擎会忽略它们,因此维护这些值通常收效甚微。

对大多数网站来说,使用平台内置的站点地图功能或站点地图生成器工具会更快、更可靠,也更容易随着网站变化而维护。

如何验证站点地图

一份有效的 XML 站点地图必须能成功加载、遵循站点地图协议,并且只包含可索引的规范 URL。

在将站点地图提交给 Google 之前先验证,以避免抓取错误和索引问题。

以下是最常见的 XML 站点地图验证问题,以及它们通常的原因和修复方法:

  • 未找到站点地图:站点地图文件无法在预期 URL 访问
    • 修复:确认 sitemap.xml 存在于网站的根目录(例如“https://yourdomain.com/sitemap.xml”),且该文件可公开访问
  • XML 格式错误:站点地图包含无效的 XML,例如未闭合的标签或未转义的字符
    • 修复:验证 XML 语法,正确闭合所有标签,并转义特殊字符(例如用 & 代替 &)
  • 文件过大:站点地图超出协议限制(未压缩时 50 MB 或 50,000 个 URL)
    • 修复:将站点地图拆分为多个文件,并使用站点地图索引来引用它们
  • 站点地图中存在非 200 URL:站点地图包含返回重定向或错误的 URL(例如 301 或 404)
    • 修复:移除非 200 URL 并重新生成站点地图,使其只包含有效的、可索引的页面
  • 包含了非规范 URL:站点地图列出了重复 URL、带参数的 URL 或页面的其他版本
    • 修复:只包含规范 URL,排除重复项或参数变体
  • HTTPS 网站上出现 HTTP URL:即使网站使用 HTTPS,站点地图却列出了 HTTP URL
    • 修复:重新生成站点地图,使其只包含 HTTPS URL
  • 站点地图未在 robots.txt 中引用:站点地图没有列在 robots.txt 文件中
    • 修复:在 robots.txt 文件中添加一行类似“Sitemap: https://yourdomain.com/sitemap.xml”的内容,有助于爬虫找到它
  • 站点地图中存在孤立页面:站点地图包含没有任何内链指向它们的页面
    • 修复:为重要页面添加内链,或从站点地图中移除孤立 URL

可以使用 Semrush 的 Site Audit 工具自动识别与站点地图相关的问题。

要检查站点地图问题,请为网站运行一次 Site Audit,并在报告准备好后前往“Issues(问题)”标签页。

搜索“sitemap”,查看与站点地图相关的警告和错误。

Site Audit Issues 输入“sitemap”,显示站点地图相关错误和警告列表。

点击每个错误上的“Why and how to fix it(原因及修复方法)”,获取具体步骤。

点击“Rerun campaign(重新运行项目)”,在修复问题后重新运行审计,以确认它们已正常工作。

Site Audit Issues 点击“Rerun campaign”按钮。

这种方法可以帮助你验证站点地图,并发现影响可抓取性和索引的相关技术 SEO问题。

如何将 XML 站点地图提交给 Google

将 XML 站点地图提交给 Google后,就可以在 Google Search Console(GSC)中监控站点地图状态、捕捉错误,并查看 Google 如何处理这些 URL。

要提交 XML 站点地图,请打开 GSC 并选择资源。

在左侧导航中前往“Sitemaps”。在“Add a new sitemap(添加新的站点地图)”部分输入站点地图 URL,然后点击“Submit”。

Google Search Console 上的添加新站点地图板块,已点击“Submit”。

然后应该在“Submitted sitemaps(已提交的站点地图)”部分看到站点地图。

当 Google 抓取了站点地图后,会在“Status(状态)”列中看到一条“Success(成功)”提示。

Google Search Console 上已提交的站点地图,高亮“Status”列中的“Success”。

Google 会随着时间推移自动重新抓取已提交的站点地图以检查变化。如果对网站结构或站点地图内容做了重大更新,可以重新提交同一个站点地图 URL,请 Google 更快地重新抓取。

提交站点地图并不保证会被索引。但它有助于 Google 发现 URL,并报告可能影响抓取和索引的问题。

进阶 XML 站点地图类型

进阶 XML 站点地图类型通过在标准页面站点地图之外提供额外的结构,帮助搜索引擎更好地理解大型网站、媒体密集型页面或国际化内容。

只在特定情况下才需要这些站点地图类型。对许多网站来说,一份单页站点地图就足够了。

站点地图类型

它是什么

何时使用

常见用例

站点地图索引

一个列出多个站点地图文件的文件

当你的网站超出站点地图限制,或你按内容类型划分站点地图时

大型电商网站、企业网站、多板块网站

图片站点地图

一份在页面 URL 之外还包含图片元数据的站点地图

当图片在搜索发现中发挥关键作用时

电商产品图片、摄影作品集、图片画廊

视频站点地图

一份包含缩略图、标题和描述等视频元数据的站点地图

当你希望 Google 发现并索引视频内容时

视频教程、产品演示、课程、媒体网站

新闻站点地图

一份专为时效性新闻内容设计的站点地图

当你为 Google News 发布符合条件的内容时

新闻发布者、媒体机构、新闻网站

多语言站点地图(Hreflang)

一份定义语言和地区页面变体的站点地图

当大规模管理多语言或多地区网站时

国际化企业、全球电商、多语言博客

只有在进阶站点地图类型能解决特定的索引或规模问题时才使用它们。例如:

  • 一旦网站达到站点地图大小限制或需要进行逻辑分段,就使用站点地图索引
  • 当媒体可见性超出标准页面索引的范畴而变得重要时,使用图片或视频站点地图
  • 当在页面级标记中维护大量语言或地区变体变得困难时,使用hreflang 站点地图

如果网站很小或以文本内容为主,这些进阶格式是可选的,且往往没有必要。

XML 站点地图最佳实践

XML 站点地图最佳实践可确保站点地图只包含可索引的规范 URL,并遵循搜索引擎所期望的技术规则。

大多数平台和工具默认会生成合规的站点地图,但回顾这些准则有助于避免常见的抓取和索引问题。

只包含希望被索引的 URL

XML 站点地图应只引用希望搜索引擎抓取和索引的 URL。

纳入符合以下条件的 URL:

  • 用于被索引:排除测试环境 URL、站内搜索结果、结算或确认页面,以及其他不可索引的 URL
  • 返回 200 状态码:不要包含返回重定向(如 301 重定向)、客户端错误(如 404 错误)或其他表示错误的 HTTP 状态码的 URL
  • 使用完全限定的绝对 URL:每个 <loc> 值都应包含完整 URL,包括协议(例如“https://www.semrush.com/blog/”)
  • 是规范 URL:只包含每个页面的首选版本。排除重复 URL、带参数的变体和替代版本。

遵循站点地图的技术要求

站点地图文件还应满足以下技术要求:

  • 使用 UTF-8 编码:这一编码机制确保搜索引擎能理解你所使用的所有字符。特殊字符必须被正确转义(例如用 & 代替 &)。
  • 保持在站点地图限制之内:每个站点地图文件必须小于 50 MB(未压缩),且包含不超过 50,000 个 URL。如有需要,请使用多个站点地图和一个站点地图索引。
  • 指定正确的 XML 命名空间:命名空间就像一个标签,告诉搜索引擎你的站点地图遵循哪些规则。大多数站点地图使用“http://www.sitemaps.org/schemas/sitemap/0.9”来遵循标准站点地图协议。
  • 在适用情况下包含语言和地区变体:对于多语言或多地区网站,使用 hreflang 引用替代版本(可以在页面内,也可以通过站点地图)。更多信息请参阅Google 的这份资料。

在 Robots.txt 中引用站点地图

在 robots.txt 文件中链接到站点地图,有助于搜索引擎更容易地发现它。这是一个网站文件,用于告诉搜索引擎哪些页面应该抓取、哪些不应该抓取。

例如:“Sitemap: https://yourdomain.com/sitemap.xml”

确保 XML 站点地图符合规范

使用 Semrush 的 Site Audit 来识别 XML 站点地图问题。让站点地图 XML 长期保持准确,有助于搜索引擎更高效地抓取和索引新的 URL。

Site Audit 会检查诸如无效 URL、非 200 状态码、格式错误,以及站点地图与实际网站结构不匹配等站点地图错误。它还会呈现相关的技术问题,例如死链和孤立页面,这些问题会削弱站点地图的有效性。

创建一个免费的 Semrush 账号来审计网站,并让网站站点地图符合 SEO 最佳实践。

XML 站点地图常见问题

什么是 sitemap XML?

sitemap XML(通常为“sitemap.xml”)列出网站中希望搜索引擎发现和抓取的 URL。它帮助搜索引擎理解网站结构,并在抓取时优先处理重要页面。

sitemap.xml 位于哪里?

大多数情况下,sitemap.xml 位于网站的根目录,可通过“https://yourdomain.com/sitemap.xml”访问。有些平台使用不同的默认位置,例如 WordPress 上的“wp-sitemap.xml”。

如何生成 sitemap XML?

对大多数网站来说,自动生成站点地图是推荐做法。可以使用网站平台内置的站点地图功能或 XML 站点地图生成器工具来自动生成一份 sitemap XML。

需要手动更新 sitemap.xml 吗?

大多数情况下,不需要手动更新 sitemap.xml。如果站点地图由内容管理系统(CMS)或 XML 站点地图生成器生成,它会随着 URL 变化自动更新。只有手写编码的站点地图才需要手动更新。

XML 站点地图和 HTML 站点地图有什么区别?

XML 站点地图为搜索引擎设计,有助于抓取和索引。HTML 站点地图为用户设计,有助于站内导航。XML 站点地图支持 SEO 流程,HTML 站点地图支持易用性。