概述
Sitemaps 协议使您能够告知搜索引擎您网站中可供抓取的网址。最简便的方式就是,使用 Sitemaps 协议的 Sitemaps 就是列有某个网站所有网址的 XML 文件。此协议可高度扩展,因此可适用于各种大小的网站。它还能够使网站管理员提供有关每个网址的其他信息(上次更新的时间、更改的频率、与网站中其他网址相比它的重要性)以便搜索引擎可以更智能地抓取该网站。
Sitemaps 在用户无法通过可浏览界面访问网站的所有区域时作用尤其明显。(通常,指用户无法通过追踪链接访问网站的特定页面或区域。)例如,那些只能通过搜索表单才能访问其中某些页面的网站都会从创建 Sitemaps 并将其提交到搜索引擎中获益。
此文件说明 Sitemaps 文件的格式,并解释您张贴 Sitemaps 文件的位置以便搜索引擎能够检索到。
请注意 Sitemaps 协议补充而不是取代搜索引擎已用来发现网址的基于抓取的机制。通过向搜索引擎提交一个 Sitemaps(或多个 Sitemaps),可帮助搜索引擎更好地抓取您的网站。
使用此协议并不能保证搜索索引中将包含您的网页。(请注意,使用此协议不会影响 Google 对您网页进行排名的方式。)
Sitemaps 0.84 是依据 Attribution-ShareAlike Creative Commons License 的条款提供的。
XML Sitemaps 格式
Sitemaps 协议格式由 XML 标记组成。Sitemaps 的所有数据数值应为实体转义过的。文件本身应为 UTF-8 编码的。
以下是只包含一个网址并使用所有可选标记的 Sitemaps 示例。可选标记为斜体。
<?xml version="1.0" encoding="UTF-8"?>
< urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
< url>
< loc>http://www.example.com/</loc>
< lastmod>2005-01-01</lastmod>
< changefreq>monthly</changefreq>
< priority>0.8</priority>
</url>
</urlset>
Sitemaps 应:
以 <urlset> 开始标记开始,以 </urlset> 结束标记结束。
每个网址包含一个作为父标记的 <url> 条目。
每一个 <url> 父标记包括一个 <loc> 子标记条目。
XML 标记定义
以下对可用 XML 标记进行说明。
<urlset>必填
封装此文件并提供当前协议标准作为参考。
<url>必填
每个网址条目有一个父标记。剩余标记为此标记的子标记。
<loc>必填
该页的网址。如果您的 Web 服务器需要网址的话,此网址应以协议开始(例如:http)并以斜线结尾。此值应少于 2048 个字符。
<lastmod>可选
该文件上次修改的日期。此日期应采用 W3C Datetime 格式。如果需要的话,此格式允许省略时间部分,而仅使用 YYYY-MM-DD。
<changefreq>可选
页面可能发生更改的频率。此值为搜索引擎提供一般性信息,可能与搜索引擎抓取页面的频率不完全相关。有效值为:
always
hourly
daily
weekly
monthly
yearly
never
值“always”应当用于描述每次访问时都会改变的文档。而值“never”应当用于描述已存档网址。
请注意此标记的值被视为提示而不是命令。尽管搜索引擎抓取工具在做决定时考虑此信息,但是它们对标记为“hourly”页面的抓取频率可能低于每小时一次,而对标记为“yearly”页面的抓取频率可能高于每年一次。抓取工具也可能定期抓取标记为“never”的页面,以便它们能够处理对这些页面的意外更改。
<priority>可选
此网址的优先级与您网站上其他网址的优先级相关。有效值范围从 0.0 到 1.0。此值不会影响您的网页与其他网站上网页的比较结果,只是告诉搜索引擎您认为您的那个网页最重要,从而它们对您页面的抓取可以按照您最喜欢的方式进行排序。
一个网页的默认优先级为 0.5。
请注意,您为页面指定的优先级不影响您的网址在搜索引擎的结果页的排名。搜索引擎在同一网站的不同网址之间进行选择时使用此信息,因此,您可以使用此标记来增加相对重要的网址在搜索索引中显示的可能性。
而且,请注意为您网站中的所有网址都指定高优先级对您没什么好处。由于优先级是相互关联的,只用于在您自己网站的网页之间进行选择;您网页的优先级不会与其他网站的页面优先级进行比较。
实体转义
我们要求您的 Sitemaps 文件为 UTF-8 编码(通常在保存文件时可以做到)。对于所有的 XML 文件,任何 数据数值(包括网址)都应对下表中列出的字符使用实体转义码。
字符 转义码
& 符号 & &
单引号 ' '
双引号 " & quot;
大于 > & gt;
小于 < & lt;
此外,所有的网址(包括您的 Sitemaps 的网址)都应编码,以便它们所在的以及网址转义的 Web 服务器识别。然而,如果您使用任何脚本、工具或日志文件来生成网址(除了手动输入之外的任何方法),通常这部分已经替您完成了。如果您提交了 Sitemaps 却收到 Google 无法找到某些网址的错误消息,请查看并确保您的网址遵循RFC-3986 URI 标准、RFC-3987IRI 标准以及 XML 标准。
以下是使用非 ASCII 字符(ü)以及要求实体转义的字符(&)的网址示例:
http://www.example.com/ümlat.html&q=name
以下是 ISO-8859-1 编码的(用于使用该编码的服务器上的托管)以及网址转义过的同一网址:
http://www.example.com/%FCmlat.html&q=name
以下是 UTF-8 编码(用于使用该编码的服务器上的托管)且网址转义过的同一网址:
http://www.example.com/%C3%BCmlat.html&q=name
以下是实体转义过的同一网址:
http://www.example.com/%C3%BCmlat.html&q=name
XML Sitemaps 示例
下例显示了一个 XML 格式的 Sitemaps。示例中的 Sitemaps 包含少数网址,每一个都用 <loc> XML 标记来识别。此示例中,为每个网址提供了一组不同的可选参数。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/catalog?item=12&desc=vacation_hawaii</loc>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.example.com/catalog?item=73&desc=vacation_new_zealand</loc>
<lastmod>2004-12-23</lastmod>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.example.com/catalog?item=74&desc=vacation_newfoundland</loc>
<lastmod>2004-12-23T18:00:15+00:00</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>http://www.example.com/catalog?item=83&desc=vacation_usa</loc>
<lastmod>2004-11-23</lastmod>
</url>
</urlset>
您可以使用 gzip 压缩您的 Sitemaps 文件。压缩 Sitemaps 文件会降低对带宽的要求。请注意,未压缩的 Sitemaps 文件不得大于 10MB。
使用 Sitemaps 索引文件(对多个 Sitemaps 文件进行分组)
您可以提供多个 Sitemaps 文件,但提供的每个 Sitemaps 文件包括的网址不得超过 50,000 个,并且未压缩时不能大于 10MB (10,485,760)。这些限制条件有助于确保 Web 服务器不会因传输非常大的文件而遇到麻烦。
如果要列出超过 50,000 个网址,您需要创建多个 Sitemaps 文件。如果预计您的 Sitemaps 网址数量会超过 50,000 个或大小超过 10MB,应考虑创建多个 Sitemaps 文件。如果您的确提供了多个 Sitemaps,您可以将其列在 Sitemaps 索引文件中。Sitemaps 索引文件只能列出不超过 1,000 个 Sitemaps。
Sitemaps 索引文件的 XML 格式与 Sitemaps 文件的 XML 格式非常相似。Sitemaps 索引文件使用以下 XML 标记:
loc
lastmod
sitemap
sitemapindex
注:Sitemaps 索引文件只能指定与其位于同一网站的 Sitemaps。例如,http://www.yoursite.com/sitemap_index.xml 可包含位于 http://www.yoursite.com 的 Sitemaps,但不能包含位于 http://www.example.com 或 http://yourhost.yoursite.com 的 Sitemaps。与 Sitemaps 一样,您的 Sitemaps 索引文件应为 UTF-8 编码。
XML Sitemaps 索引示例
下例展示了一个 XML 格式的 Sitemaps 索引。该 Sitemaps 索引列出了两个 Sitemaps:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.google.com/schemas/s


