常见问题解答

在 Sitemaps 中如何表示网址?

我使用哪种字符编码方法生成 Sitemap 文件有关系吗?

我如何指定时间?

如何计算 lastmod 日期?

应该将 Sitemap 文件放在哪里?

我的 Sitemap 可以有多大?

我的网站拥有几千万个网址;我可以只提交最近更改过的网址吗?

创建 Sitemap 后该作些什么?

Sitemap 中的网址需要完整地指定吗?

我的网站同时具有“http”和“https”格式的网址。需要把它们都列出来吗?

我网站的网址中包含会话 ID。我需要将它们删除吗?

网址在 Sitemap 中的位置是否会影响它的使用?

我网站上的一些网页使用框架。应该提供框架组网址或框架内容的网址吗?

我可以压缩我的 Sitemap 吗?它们是否需要用 gzip 压缩?

XML Sitemap 中的“priority”提示会影响我的网页在搜索结果中的排名吗?

有可以用作 XML Sitemap 验证依据的 XML 架构吗?

如果我在使用协议或提交 Sitemap 时遇到其他问题怎么办?


问题:在 Sitemap 中如何表示网址?

就像所有 XML 文件一样,任何数据值(包括网址)都应使用以下字符的实体转义码:& 符号 (&)、单引号 (')、双引号 (")、小于号 (<) 和大于号 (>)。还应确保所有网址遵循 RFC-3986 URI 标准、RFC-3987 IRI 标准以及 XML 标准。如果您要使用脚本来生成网址,通常可以使用网址转义的方式将其转义为该脚本的一部分,并且您仍然需要对它们进行实体转义。例如,以下 Python 脚本实体转义 http://www.example.com/view?widget=3&count>2

$ python
Python 2.2.2 (#1, Feb 24 2003, 19:13:11)  
>>> import xml.sax.saxutils
>>> xml.sax.saxutils.escape("http://www.example.com/view?widget=3&count>2")

以上示例所得网址为:

http://www.example.com/view?widget=3&amp;count&gt;2

问题:我使用哪种字符编码方法生成 Sitemap 文件有关系吗?

是的。您的 Sitemap 文件必须使用 UTF-8 编码。

问题:我如何指定时间?

对本协议中的 lastmod 时间戳以及所有其他日期和时间,请使用 W3C Datetime 编码。例如,2004-09-22T14:12:14+00:00。

此编码允许您省略 ISO8601 格式的时间部分,例如,2004-09-22 也是有效的。然而,如果您的网站频繁更改,则建议您使用时间部分,以便抓取工具可获取关于您网站的更全面的信息。

问题:如何计算 lastmod 日期?

对于静态文件,这是实际的文件更新日期。可以使用 UNIX 日期命令获取此日期:

$ date --iso-8601=seconds -u -r /home/foo/www/bar.html
>> 2004-10-26T08:56:39+00:00

对于许多动态网址,您可以根据基本数据的更改时间或使用一些定期更新(如果适用的话)的近似值,轻松推算出 lastmod 日期。使用一个近似日期或时间戳就可以帮助抓取工具避免抓取还未更改的网址。这将降低网络服务器的带宽和 CPU 要求。

问题:应该将 Sitemap 文件放在哪里?

强烈建议将 Sitemap 放在 HTML 服务器的根目录中,即 http://example.com/sitemap.xml。

在某些情况下,您或许希望在网站上针对不同的路径创建不同的 Sitemap,例如,如果您公司的安全许可对应不同的目录划分写入权限。

我们认为,如果您有上传 http://example.com/path/sitemap.xml 的权限,那么您也可以通过 http://example.com/path/ 报告元数据。

Sitemap 列出的所有网址必须和 Sitemap 位于同一个主机上。例如,如果 Sitemap 位于 http://www.example.com/sitemap.xml,就不能包含 http://subdomain.example.com 中的网址。如果 Sitemap 位于 http://www.example.com/myfolder/sitemap.xml,就不能包含 http://www.example.com 中的网址。

返回页首

问题:我的 Sitemap 可以有多大?

Sitemap 不得超过 50MB(52,428,800 字节),所包含的网址数最多为 50,000 个。这些限制条件有助于确保网络服务器不会因传输非常大的文件而遇到麻烦。这表示如果您网站包含的网址超过 50,000 个或您的 Sitemap 超过 50MB,则需要创建多个 Sitemap 文件,并且需要使用 Sitemap 索引文件。即使您的网站较小,但计划增长到网址数量超出 50,000 个的大网站或文件大小超过 50MB,也应使用 Sitemap 索引文件。Sitemap 索引文件最多可包含 50,000 个 Sitemap,并且不得超过 50MB(52,428,800 字节)。您也可以使用 gzip 压缩 Sitemap。

问题:我的网站拥有几千万个网址;我可以只提交最近更改过的网址吗?

您可以在少数频繁更改的 Sitemap 中列出已更新的网址,然后使用 Sitemap 索引文件中的 lastmod 标记识别这些 Sitemap 文件。随后,搜索引擎即可逐步抓取(只抓取)这些已更改的 Sitemap。

问题:创建 Sitemap 后该作些什么?

Once you have created your Sitemap, let search engines know about it by submitting directly to them, pinging them, or adding the Sitemap location to your robots.txt file.

问题:需要在 Sitemap 中指定完整的网址吗?

是的。您需要在网址中提供协议(例如,http)。如果网络服务器有要求,您还需要在网址中加入尾随斜杠。例如,http://www.example.com/ 对 Sitemap 来说是有效网址,而 www.example.com 则不是。

问题:我网站上同时有“http”和“https”格式的网址。需要把它们都列出来吗?

否。请在 Sitemap 中只列出一种格式的网址。包含多种格式的网址可能会导致抓取工具无法完整地抓取网站。

问题:我网站的网址中包含会话 ID。我需要将它们删除吗?

是的。在网址中包含会话 ID 号可能会导致网站抓取不完整以及重复抓取。

问题:网址在 Sitemap 中的位置是否会影响它的使用?

否。网址在 Sitemap 中的位置并不会影响搜索引擎对它的使用或识别方式。

问题:我网站上的一些网页使用框架。我应该加入框架组网址或框架内容的网址吗?

请将两种网址都包括进来。

问题:我可以压缩我的 Sitemap 吗?它们是否需要用 gzip 压缩?

请使用 gzip 压缩 Sitemap。请记住,无论压缩与否,Sitemap 均不得超过 50MB(52,428,800 字节)。

问题:XML Sitemap 中的“priority”提示会影响我的网页在搜索结果中的排名吗?

Sitemap 中的“优先级”提示只是说明特定网址相对于您自己网站上其他网址的重要性,并不会影响网页在搜索结果中的排名。

问题:有可以用作 XML Sitemap 验证依据的 XML 架构吗?

是的。在 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd 上可以找到适用于 Sitemap 文件的 XML 架构;在 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd 上则可以找到适用于 Sitemap 索引文件的架构。您也可以进一步了解有关验证 Sitemap 的详情。

问题:如果我在使用协议或提交 Sitemap 时遇到其他问题该怎么办?

有关提交和使用 Sitemap 的详情,请参阅各个搜索引擎提供的文档。

返回页首

上次更新日期:2016 年 11 月 21 日