跳至内容

技术 SEO、Sitemap 与索引排查

官方图文与原作者课程

创建和提交 Sitemap · 官方原文

Google Search Central · 中文 · 原始页面 · CC BY 4.0 · 采集于 2026-10-19。正文及原图按许可转载,仅调整排版与图片托管,代码示例遵循原文许可。

下载原文 PDF

创建和提交站点地图

本页面旨在介绍如何创建站点地图并将其提供给 Google。如果您刚开始接触站点地图,请先阅读我们的简介。

Google 支持由站点地图协议定义的站点地图格式。每种格式都有各自的优势和不足之处;请选择最适合您的网站和设置的站点地图格式(Google 没有偏好)。下表比较了不同的站点地图格式:

站点地图比较
XML 站点地图

XML 站点地图是用途最广的站点地图格式。该格式易于扩展,可用于提供关于图片、视频和新闻内容的其他数据,以及网页的本地化版本。

优点:
  • 可扩展且用途广泛。
  • 它可以提供有关网址的最详细信息。
  • 大多数内容管理系统 (CMS) 会自动生成站点地图,或者 CMS 用户可以找到大量站点地图插件。
缺点:
  • 处理起来可能会很麻烦。
  • 在大型网站或网址经常改变的网站上维护映射可能会比较复杂。
RSS、mRSS 和 Atom 1.0

RSS、mRSS 和 Atom 1.0 站点地图在结构上与 XML 站点地图类似,但它们通常最容易提供,因为 CMS 会自动创建这些站点地图。

优点:
  • 大多数 CMS 会自动生成 RSS 和 Atom Feed。
  • 可用于向 Google 提供有关您视频的信息。
缺点:
文本站点地图

这是最简单的站点地图格式,只能列出指向 HTML 和其他可编入索引的网页的网址。

优点:

  • 易于执行和维护,尤其是在大型网站上。

缺点:

  • 仅限 HTML 和其他可编入索引的文本内容。

站点地图最佳做法

站点地图最佳做法由站点地图协议定义。最容易被忽略的最佳做法与大小限制、站点地图位置以及站点地图中包含的网址相关。

站点地图大小限制:无论采用哪种格式,单个站点地图的文件大小一律不得超过 50MB(未压缩),并且其中包含的网址数量不得超过 50,000 个,否则必须将站点地图拆分成多个较小的站点地图。您也可以选择创建站点地图索引文件,然后将这个索引文件提交给 Google。您可以向 Google 提交多个站点地图和站点地图索引文件。如果您想在 Search Console 中跟踪各个站点地图的搜索效果,这么做可能会很有用。

站点地图文件编码和位置:站点地图文件必须采用 UTF-8 编码。您可以将站点地图托管在网站的任何位置,但除非您通过 Search Console 提交站点地图,否则站点地图只会影响父级目录中的下级目录。因此,如果站点地图发布在网站的根目录下,则可以影响网站上的所有文件,所以我们建议将站点地图发布在此目录下。

引用网址的属性:请在站点地图中使用完全限定的绝对网址。Google 会尝试抓取您列出的网址。例如,如果网站位于 https://www.example.com/,请不要指定诸如 /mypage.html(相对网址)这样的网址,而是使用完整的绝对网址:https://www.example.com/mypage.html。

在站点地图中添加您希望在 Google 搜索结果中看到的网址。Google 通常会在其搜索结果中显示规范网址,而您可以通过站点地图加以影响。如果您为网页的移动版和桌面版提供了不同的网址,建议在站点地图中仅指向一个版本。但是,如果您认为需要同时指向这两个网址,请为网址添加注解,指明桌面版和移动版分别是哪个。

如需查看完整的最佳做法列表,请参阅站点地图协议。

XML 站点地图

XML 站点地图是用途最广的受支持站点地图格式。借助 Google 支持的站点地图扩展,您还可以提供有关图片、视频和新闻内容的更多信息以及网页的本地化版本。

下方是一个非常基本的 XML 站点地图,其中仅包含 1 个网址的位置信息:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/foo.html</loc>
    <lastmod>2022-06-04</lastmod>
  </url>
</urlset>

您可以在 sitemaps.org 上找到更复杂的示例和完整文档。

关于 XML 站点地图的其他说明

  • 和所有 XML 文件一样,所有标记值都必须实体转义。
  • Google 会忽略 <priority> 和 <changefreq> 值。
  • 如果 <lastmod> 值始终准确并可验证(例如通过与网页的最后修改日期进行比较),Google 会使用该值。

RSS、mRSS 和 Atom 1.0

如果您的 CMS 会生成 RSS 或 Atom Feed,您可以将该 Feed 的网址作为站点地图提交。 大多数 CMS 都会为您创建 Feed,但请注意,此类 Feed 仅提供近期网址的相关信息。

关于 RSS、mRSS 和 Atom 1.0 的其他说明

  • Google 支持 RSS 2.0 Feed 和 Atom 1.0 Feed。
  • 您可以使用 mRSS(媒体 RSS)Feed 向 Google 提供有关您网站上视频内容的详情。
  • 和所有 XML 文件一样,所有标记值都必须实体转义。

文本站点地图

如果您只想提供网页网址,您可以创建一个通用的文本文件(每行包含一个网址),然后将该文件提交给 Google。例如,如果您的网站有两个网页,您可以将它们添加到位于 https://www.example.com/sitemap.txt 的文本站点地图中,如下所示:

https://www.example.com/file1.html
https://www.example.com/file2.html

文本文件站点地图的其他说明

  • 请勿在站点地图文件中添加除网址以外的任何其他内容。
  • 您可以随意对该文本文件进行命名,但前提是要确保它的扩展名为 .txt(例如,sitemap.txt)。

如何创建站点地图

创建站点地图,就是在告诉搜索引擎您希望让哪些网址显示在搜索结果中。这些就是规范网址。如果不同网址下可供访问的内容相同,请选择您偏好的网址并将其加入站点地图,而不是将所有指向相同内容的网址都加入站点地图。

在确定要将哪些网址加入站点地图后,选择下列方式之一来创建站点地图,具体取决于您网站的架构和大小:

让您的 CMS 为您生成站点地图

如果您使用的是 WordPress、Wix 或 Blogger 等 CMS,那么您的 CMS 可能已经向搜索引擎提供了站点地图。尝试搜索以下方面的信息:您的 CMS 如何生成站点地图,或者在您的 CMS 没有自动生成站点地图时如何创建站点地图。例如,如果您使用的是 Wix,请搜索“wix 站点地图”;如果您使用的是 Blogger,请搜索“Blogger RSS”。

手动创建站点地图

如果要创建的站点地图包含的网址不到几十个,您或许能够手动创建站点地图。 为此,请打开 Windows Notepad、Nano(Linux、MacOS)等文本编辑器,然后按照站点地图格式部分中所述的语法创建站点地图。您可以随意对该文件命名,只要网址中允许使用相应字符即可。

您可以手动创建较大的站点地图,但此过程非常繁琐,而且长期难以维护。

使用工具自动生成站点地图

如果要创建的站点地图包含的网址超过几十个,您需要自动生成站点地图。有很多工具可以生成站点地图。不过,最好是让您的网站制作软件为您生成站点地图。例如,您可以从您网站的数据库中提取网站的网址,然后将网址导出到屏幕上或网络服务器的实际文件中。请与您的开发者或服务器管理员讨论此解决方案。如果您需要代码方面的指导,不妨看看我们以前汇总的第三方站点地图生成器列表(已停止维护)。

您不必担心站点地图中的网址顺序,这些顺序对 Google 而言无关紧要。请注意站点地图的大小要求;如果站点地图过大,您必须将其拆分为多个较小的站点地图。详细了解如何管理大型站点地图。

将站点地图提交给 Google

请注意,提交站点地图只是给 Google 一个提示:我们无法保证 Google 一定会下载该站点地图或使用站点地图抓取网站上的网址。您可通过以下几种不同方法将站点地图提交给 Google:

  • 使用站点地图报告在 Search Console 中提交站点地图。 这样,您就可以查看 Googlebot 何时访问了站点地图,以及潜在的处理错误。
  • 使用 Search Console API 程序化地提交站点地图。
  • 将下面这行内容插入到 robots.txt 文件中的任意位置,指定站点地图的路径。我们会在下次抓取 robots.txt 文件时找到该站点地图:
    Sitemap: https://example.com/my_sitemap.xml

    您可以指定多行站点地图,并且 robots.txt 文件中包含的站点地图数量没有限制。

  • 如果您使用 Atom 或 RSS,则可以使用 WebSub 向搜索引擎(包括 Google)广播您的更改。

如何跨网站提交多个网站的站点地图

如果您拥有多个网站,您可以创建一个或多个站点地图,其中包含您所有经过验证的网站对应的网址,然后将这些站点地图保存到同一位置,从而简化站点地图提交过程。您可以选用:

  • 包含多个网站(包括不同网域中的网站)网址的单个站点地图。例如,位于 https://host1.example.com/sitemap.xml 的站点地图可以包含以下网址。
    • https://host1.example.com
    • https://host2.example.com
    • https://host3.example.com
    • https://host1.example1.com
    • https://host1.example.ch
  • 位于同一位置的多个站点地图(每个网站各一个)。 例如,https://host1.example.com 可以托管以下所有站点地图:
    • https://host1.example.com/host1-example-sitemap.xml
    • https://host1.example.com/host2-example-sitemap.xml
    • https://host1.example.com/host3-example-sitemap.xml
    • https://host1.example.com/host1-example1-sitemap.xml
    • https://host1.example.com/host1-example-ch-sitemap.xml

如需提交在同一位置托管的跨网站站点地图,您可以使用 Search Console 或 robots.txt。

使用 Search Console 跨网站提交站点地图

  1. 对于您要添加到站点地图中的所有网站,请确保您已验证所有权。
  2. 创建一个站点地图(如果您愿意,也可以创建多个),其中包含要涵盖的所有网站的网址。如果您愿意,可以将站点地图添加到站点地图索引文件中,并从此开始使用该站点地图索引。
  3. 使用 Google Search Console 提交站点地图或站点地图索引文件。

使用 robots.txt 跨网站提交站点地图

  1. 为每一个网站创建一个或多个站点地图。对于每一个站点地图文件,请确保其中仅包含来自特定网站的网址。
  2. 将所有站点地图上传到您可控制的单个网站,例如 https://sitemaps.example.com。
  3. 对于每一个网站,请确保相应 robots.txt 文件引用的是该网站的站点地图。例如,您为 https://example.com/ 创建了站点地图,并将站点地图托管在 https://sitemaps.example.com/sitemap-example-com.xml,请在 robots.txt 文件(网址为 https://example.com/robots.txt)中引用该站点地图。
    # robots.txt file of https://example.com/
    sitemap: https://sitemaps.example.com/sitemap-example-com.xml

站点地图问题排查

如果您在站点地图方面遇到问题,可以使用 Google Search Console 调查错误。 如需帮助,请参阅 Search Console 的站点地图问题排查指南。

规范网址:处理重复页面 · 官方原文

Google Search Central · 中文 · 原始页面 · CC BY 4.0 · 采集于 2026-10-19。正文及原图按许可转载,仅调整排版与图片托管,代码示例遵循原文许可。

下载原文 PDF

如何使用 rel="canonical" 及其他方法指定规范网址

若要向 Google 搜索指定重复网页或非常相似网页的规范网址,您可以使用多种方法指明您更愿意使用哪个网址。这些方法按照其对规范化的影响程度排列如下:

请注意,这些方法可以叠加,因此组合使用会更有效。 这意味着,如果您使用两种或更多种方法,将会增加您的首选规范网址出现在搜索结果中的几率。

虽然我们建议您使用这些方法,但并非硬性要求;即使您不指定首选规范网址,您的网站或许也能表现不错。这是因为,如果您没有指定规范网址,Google 会客观地确定哪个版本的网址最适合在 Google 搜索中向用户显示。

指定规范网址的原因

虽然指定首选规范网址通常并不重要,但您还是会出于各种原因希望将一组重复或类似网页中的规范网页明确告知 Google:

  • 指定您希望用户在搜索结果中看到的网址。 您可能希望用户通过 https://www.example.com/dresses/green/green-dress.html(而非 https://example.com/dresses/cocktail?gclid=ABCD)访问您的绿色连衣裙商品页。
  • 整合类似网页或重复网页的信号。指定规范网址可帮助搜索引擎将它们掌握的关于各个网址的信号(例如指向它们的链接)整合到一个首选网址上。这意味着,从其他网站到 https://example.com/dresses/cocktail?gclid=ABCD 的信号会整合到指向 https://www.example.com/dresses/green/green-dress.html(如果该网址成为规范网址)的链接。
  • 简化一段内容的跟踪指标。如果特定内容可以通过多个网址访问,获取此内容的综合指标的难度会更大。
  • 避免花费时间抓取重复网页。您可能希望 Googlebot 在您的网站上发现尽量多的内容,因此最好让 Googlebot 将时间用于抓取您网站上的新网页(或更新后的网页),而不是抓取相同内容的重复版本。

最佳做法

无论使用哪种规范化方法,都请遵循以下最佳实践:

  • 请勿使用 robots.txt 文件进行规范化。 Google 仍然可能将 robots.txt 中禁止抓取的网址编入索引,但不会收录其内容。
  • 请勿使用网址移除工具进行规范化,它会在搜索结果中隐藏网址的所有版本。
  • 请勿使用不同的规范化方法为同一网页指定不同的规范网址(例如,请勿既在站点地图中为某个网页指定一个规范网址,又使用 rel="canonical" 为同一网页另行指定一个规范网址)。
  • 请勿将网址片段指定为规范网址,因为 Google 通常不支持网址片段。
  • 请务必在规范网页本身上添加 rel="canonical" 链接(也称为自引用规范)。
  • 我们不建议使用 noindex 阻止选择单个网站中的规范网页,因为这样会完全阻止该网页显示在 Google 搜索结果中。rel="canonical" link 注释是首选解决方案。
  • 如果您使用的是 hreflang 元素,请务必指定一个采用同一语言的规范网页;如果没有这样的规范网页,请指定一个采用最佳替代语言的规范网页。
  • 在网站中提供链接时,请链接到规范网址(而非重复网址)。 始终链接到您认定的规范网址有助于 Google 了解您偏好的网址。
  • 如果您使用 JavaScript 进行客户端渲染,请务必确保规范网址的相关信息尽可能清晰。 最好的方法是在 HTML 源代码中指定规范网址,并确保 JavaScript 不会更改规范 link 元素。 如果您无法在 HTML 源代码中设置规范网址,请将其省略,仅使用 JavaScript 进行设置。 这样可确保规范网址的相关信息尽可能清晰。

不同规范化方法之间的比较

下表比较了不同的规范化方法,重点说明了它们在不同场景中在维护和效果方面的优势和劣势。

方法和说明
rel="canonical" link 元素

在所有重复网页的代码中分别添加一个 <link> 元素,使其指向规范网页。

优点:
  • 可以映射无限多个重复网页。
缺点:
  • 在大型网站或网址经常改变的网站上维护映射可能会比较复杂。
  • 仅适用于 HTML 网页,不适用于 PDF 之类的文件。在这类情况下,您可以使用 rel="canonical" HTTP 标头。
rel="canonical" HTTP 标头

在网页响应中发送 rel="canonical" 标头。

优点:
  • 不会导致网页大小增加。
  • 可以映射无限多个重复网页。
缺点:
  • 在大型网站或网址经常改变的网站上维护映射可能会比较复杂。
站点地图

在站点地图中指定您的规范网页。

优点:

  • 易于实施和维护,尤其是在大型网站上。

缺点:

  • Google 仍必须为您在站点地图中声明的所有规范网页确定关联的重复网页。
  • 此方法向 Google 发送的信号不如 rel="canonical" 映射方法发送的信号强。
重定向 使用永久重定向告知 Google,重定向网址是比其重定向到的网址更差的版本。请仅在弃用重复网页时使用此方法。
AMP 变体 如果您的某个网页变体是 AMP 网页,请按照 AMP 指南指明规范网页和 AMP 变体。

Google 支持明确的 rel canonical link 注释(如 RFC 6596 中所述)。系统会忽略建议网页替代版本的 rel="canonical" 注释;具体来说就是,带有 hreflang、lang、media 和 type 属性的 rel="canonical" 注释不用于规范化。请改为使用适当的 link 注释来指定网页的备用版本;例如用 link rel="alternate" hreflang 进行语言和国家/地区注释。

您可以通过以下两种方式提供 rel="canonical" link 注释:

我们建议您从中选择一个使用;在受支持的情况下,同时使用这两种方法更容易出错(例如,您可能会在 HTTP 标头中提供一个网址,在 rel="canonical" link 元素中提供另一个网址)。

rel="canonical" link 元素(也称为“规范元素”)是指在 HTML 的 head 部分中使用的元素,用于指明另一个网页可体现该网页上的内容。

假设您想将 https://example.com/dresses/green-dresses 设为规范网址(即使有很多个网址指向该内容),那么您可通过执行以下步骤,将此网址指定为规范网址:

  1. 将具有 rel="canonical" 属性的 <link> 元素添加到重复网页的 <head> 部分中,并使其指向规范网页。例如:
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  2. 如果规范网页有采用不同网址的移动版变体,请为其添加 rel="alternate" link 元素,并使该链接指向此网页的移动版:
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="alternate" media="only screen and (max-width: 640px)"  href="https://m.example.com/dresses/green-dresses">
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  3. 为此网页添加适当的 hreflang 或其他元素。

对于 rel="canonical" link 元素,请使用绝对路径(而非相对路径)。尽管 Google 支持相对路径,但从长远来看,相对路径可能会造成问题(例如,如果您无意中允许抓取您的测试网站),因此我们不建议您这样做。

正面示例: https://www.example.com/dresses/green/green-dress.html

反面示例: /dresses/green/green-dress.html

rel="canonical" link element 仅当出现在 HTML 的 <head> 部分时才被接受,因此请确保至少 <head> 部分是有效的 HTML。

如果您使用 JavaScript 添加 rel="canonical" link 元素,请务必正确注入规范 link 元素。

rel="canonical" HTTP 标头

如果您能更改服务器配置,则可使用 link HTTP 响应标头(带有 RFC5988 中定义的 rel="canonical" 目标属性)(而不是 HTML 元素)为 Google 搜索支持的文档(包括 PDF 文件等非 HTML 文档)指明规范网址。

Google 仅支持在网页搜索结果中使用此方法。

如果您以多种文件格式(例如 PDF 或 Microsoft Word)发布内容,并且均采用自己的网址,那么您可以返回 rel="canonical" HTTP 标头,告知 Googlebot 哪个是非 HTML 文件的规范网址。例如,若要指明 PDF 版本的 .docx 版本应为规范网址,您可以为内容的 .docx 版本添加此 HTTP 标头:

HTTP/1.1 200 OK
Content-Length: 19
...
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"
...

与 rel="canonical" link 元素一样,请在 rel="canonical" HTTP 标头中使用绝对网址。

使用站点地图

请分别为您的每个网页选择一个规范网址,然后通过站点地图提交这些规范网址。您在站点地图中列出的所有网页都会被视为向系统建议的规范网页;Google 会根据内容相似度决定哪些网页是重复网页(如果有)。

在站点地图中提供首选规范网址,即可轻松为大型网站指定规范网址。站点地图还能有效地告诉 Google,您认为网站上的哪些页面最为重要。

使用重定向

如果您想移除现有的重复网页,请使用此方法。所有永久重定向方法对 Google 搜索的效果相同,但搜索引擎发现不同重定向方法所用的时间可能有所不同。

要实现最快效果,请使用 HTTP(也称为“服务器端”)重定向。

假定用户可通过以下几种方式访问您的网页:

  • https://example.com/home
  • https://home.example.com
  • https://www.example.com

您可从这些网址中挑选一个作为规范网址,并使用重定向将来自其他网址的流量引导至首选网址。

其他信号

除了明确提供的方法之外,Google 还使用一组规范化信号,这些信号通常基于网站设置:优先选择 HTTPS(而非 HTTP)以及优先选择 hreflang 集群中的网址。

优先选择 HTTPS(而非 HTTP)网址作为规范网址

Google 会优先选择 HTTPS 网页(而非等效的 HTTP 网页)作为规范网页,除非存在如下问题或冲突信号:

  • HTTPS 网页的 SSL 证书无效。
  • HTTPS 网页包含不安全的关联功能(图片除外)。
  • HTTPS 网页会将用户重定向至 HTTP 网页或通过 HTTP 网页重定向用户。
  • HTTPS 网页包含指向 HTTP 网页的 rel="canonical" link。

虽然我们的系统在默认情况下会优先选择 HTTPS 网页(而非 HTTP 网页),但您可通过执行以下任一操作来确保此行为始终都会发生:

  • 添加从 HTTP 网页指向 HTTPS 网页的重定向。
  • 添加从 HTTP 网页指向 HTTPS 网页的 rel="canonical" link。
  • 实施 HSTS。

为防止 Google 误将 HTTP 网页选为规范网页,请避免以下几种做法:

  • 避免使用错误的 TLS/SSL 证书和 HTTPS 到 HTTP 重定向,因为这会导致 Google 非常倾向于选择 HTTP 网页。即使实施 HSTS 也无法消除这种强烈的倾向。
  • 请勿在站点地图或 hreflang 注释中包含网页的 HTTP 版本(而不是 HTTPS 版本)。
  • 避免为错误的主机版本实施 SSL/TLS 证书。例如,在 example.com 上提供 subdomain.example.com 的证书。该证书必须与您的完整网站网址匹配,或者必须是可用于同一网域上多个子网域的通配证书。

优先选择 hreflang 集群中的网址

为了方便网站进行本地化,出于规范化目的,Google 会优先选择 hreflang 集群中的网址。例如,如果 https://example.com/de-de/cats 和 https://example.com/de-ch/cats 通过 hreflang 注释指向对方,而不是指向 https://example.com/de-at/cats,de-de 和 de-ch 的网页将成为首选规范网页(而不是未出现在 hreflang 集群中的 /de-at/ 网页)。

详细了解如何排查和解决规范化问题。

原作者提供的第三方播放器;无法播放时可使用教程条目中的原始链接。