问题:我如何在 Sitemaps 中表示网址?
对于所有 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&count>2 问题:使用哪种字符编码方法生成 Sitemaps 文件有关系吗? 是的。您的 Sitemaps 文件应该使用 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 日期。使用一个近似日期或时间戳就可以帮助抓取工具避免抓取还未更改的网址。这将降低 Web 服务器的带宽和 CPU 要求。
问题:我将 Sitemaps 放在哪里?
强烈建议将 Sitemaps 放置在 HTML 服务器的根目录中,即,将其放置在 http://example.com/sitemap.xml.gz。
在某些情况下,您或许会希望在网站上针对不同的路径创建对应的 Sitemaps — 例如,如果在您的组织中,安全许可对应不同目录划分上传权限。
我们认为如果您有上传 http://example.com/path/sitemap.xml.gz 的许可,那么您也可以通过 http://example.com/path/ 报告元数据。
问题:我的 Sitemaps 可以有多大?
Sitemaps 在压缩时不应超过 10MB(10,485,760 字节),且最多可以包含 50,000 个网址。也就是说,如果您的网站包含的网址超过 50,000 个或 Sitemaps 大于 10MB,您需要创建多个 Sitemaps 文件,并使用 Sitemaps 索引文件。即使您的网站较小,但计划的网址数量超出 50,000 个或文件大小超过 10MB,也应使用 Sitemaps 索引文件。
问题:我的网站拥有数千万个网址;我可以采用某种方式只提交最近更改过的网址吗?
您可以在少数频繁更改的 Sitemaps 中列出已更新的网址,然后使用 Sitemaps 索引文件中的 lastmod 标记验证这些 Sitemaps 文件。随后,搜索引擎即可逐步抓取(只抓取)这些已更改的 Sitemaps。
问题:创建 Sitemaps 后会发生什么?
在创建 Sitemaps 后,您需要通知搜索引擎 Sitemaps 的位置。得到通知的搜索引擎就可以检索您的 Sitemaps 并使网址可以由抓取工具抓取。
问题:需要完整地指定 Sitemaps 中的网址吗?
是的。您需要在网址中提供协议(例如,http)。如果 Web 服务器有要求,您还需要提供尾随斜线。例如,http://www.google.com/ 是有效的 Sitemaps 网址,而 www.google.com 则不是。
问题:我的网站有“http”和“https”两个网址版本。需要把它们都列出来吗?
否。请在您的 Sitemaps 中只列出一种版本的网址。包含多个版本的网址可能导致抓取工具无法完整抓取您的网站。
问题:我网站上的网址中包含会话 ID 号。需要将其删除吗?
是的。网址中包含会话 ID 号可能导致网站抓取不完整以及重复抓取。
问题:Sitemaps 中网址的位置是否会影响它的使用?
否。网址在 Sitemaps 中的位置不会影响搜索引擎对它的使用或识别方式。
问题:我们网站上的一些网页使用框架。我们应该提供框架组网址或框架内容的网址吗?请将两种网址都包括进来。
问题:可以压缩 Sitemaps 吗?或者需要以 gzip 压缩吗?
请使用 gzip 压缩您的 Sitemaps。
问题:XML Sitemaps 中的“priority”提示会改变我的网页在搜索结果中的排名码?
否。Sitemaps 中的“priority”提示只表示在您网站上,某一特定网址与其他网址的相对重要性。
问题:有可以用作 XML Sitemaps 验证依据的 XML 架构吗?
位于 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd 上的 XML 构架适用于 Sitemaps 文件,在 http://www.google.com/schemas/sitemap/0.84/siteindex.xsd 上可以找到对应 Sitemaps 索引文件的构架。可以在此处阅读有关验证网站地图的详细信息。