">Sitemaps 文件的位置
Sitemaps 文件的位置决定该 Sitemaps 中所能包含的一组网址。位于http://example.com/catalog/sitemap.gz 的 Sitemaps 文件。
可包含以http://example.com/catalog/ 开始的任何网址,但不能包含以http://example.com/images/ 开始的网址。
如果您有更改 http://example.org/path/sitemap.gz 的许可,您应该也可以提供以http://example.org/path/ 作为前缀的网址的信息。http://example.com/catalog/sitemap.gz 中,被
认为有效的示例网址包括:http://example.com/catalog/show?item=23 http://example.com/catalog/show?item=233&user=3453http://example.com/catalog/sitemap.gz 中被认为无效的网址包括:http://example.com/image/show?item=23
http://example.com/image/show?item=233&user=3453https://example.com/catalog/page1.html被认定为无效的网址将不再考虑。强烈建议将 Sitemaps 放置在 Web 服务器的根目录处。
例如,如果 Web 服务器位于example.com,则 Sitemaps 索引文件应位于http://example.com/sitemap.gz。
在某些情况下,您需要针对不同的路径创建对应的Sitemaps,例如,如果在您的组织中,安全许可对应不同目录划分上传权限。
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 标记定义
实体转义
我们要求您的 Sitemaps 文件为 UTF-8 编码(通常在保存文件时可以做到)。对于所
有的XML 文件,任何 数据数值(包括网址)都应对下表中列出的字符使用实体转义码。此 外,所有的网址(包括您的 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_newfoundlan
d</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。
创建SiteMap
如果您有多个网站,可以创建一个或多个 Sitemap 将所有经过验证网站的网址包含在其中,
然后将这些 Sitemap 保存在一个位置,以此来简化 Sitemap 的创建和提交过程。您可以通过以下多种方式创建 Sitemap:
根据Sitemap 协议创建 Sitemap:
1. 创建一个文本文件并将其带 .xml 扩展名保存。
2. 将以下内容添加到文件顶部:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3. 将以下内容添加到文件底部: </urlset>
4. 为各网址创建一个条目。 <loc> 为必需,其余标记为可选。
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
5. 将 Sitemap 上传到您的网站。然后使用网站管理员工具将其提交给 Google。
Sitemap 生成器
如果您可以访问网络服务器并且服务器装有 Python,则可以利用我们的脚本来创建采用 Sitemap 协议的 Sitemap。Google Sitemap 生成器(后面的章节介绍)是一个 Python 脚本,可以使用 Sitemap 协议为您的网站创建 Sitemap。此脚本可以通过网址列表、网络服务器目录或通过访问日志创建 Sitemap。要使用此脚本:
1. 您需要连接到您的网络服务器,并在上面运行脚本。
2. 您的网络服务器需安装 Python 2.2 或更高版本。
3. 您需要知道启动 Python 的命令。(该命令通常为 python,但可能会因安装不同而异。) 例如,如果网络服务器安装了两种版本的 Python,命令 python 可调用较早的版本,而命令 python2 则可调用较晚的版本。
4. 您需要知道指向贵网站的目录路径。如果您的网络服务器托管一个网站,则路径可能是 var/www/html 等。如果您拥有一个托管多个网站的虚拟服务器,路径可能是 home/virtual/site1/fst/var/www/html 等。
5. 您需要能够将文件上传到自己的网络服务器(例如,使用 FTP)。
6. 如果您要根据访问日志生成一个网址列表,则需要了解用于这些日志的编码,以及指向它们的完整路径。Sitemap 生成器可以用于生成常规 XML Sitemap。
不过,一些特殊种类的 Sitemap(如代码搜索和视频 Sitemap) 有非常独特的要求。因此,您
最好不要使用 Sitemap 生成器来创建这些 Sitemap。
使用第三方工具。
很多第三方提供了可用于创建有效的 Sitemap 的工具。
您可以提供多个 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/sitemap/0.84">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz</loc>
<lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap2.xml.gz</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
</sitemapindex>
备注:与 XML 文件中的所有值一样,Sitemaps 网址需要实体换码.
Sitemaps 索引 XML 标记定义
需要有 <loc> 标记并用其来识别 Sitemaps 的位置。<lastmod> 标记是可选标记,用于指示相应 Sitemap 文件的修改时间。它并不对应于该 Sitemap 中列出的任一网页的更改时间。lastmod 标记的值应采用 W3C Datetime 格式。通过提供最近修改的时间戳启用搜索引擎抓取工具,抓取工具将只检索索引中的Sitemaps 的一个子集,也就是说,抓取工具只检索某特定日期之后修改的 Sitemaps。通过这一递增的 Sitemaps 提取机制,可以
快速发现超大型网站上的新网址。
<sitemap> 标记封装单个 Sitemaps 的相关信息。
<sitemapindex> 标记会压缩有关文件中的所有 Sitemaps 的信息。验证您的 SitemapsGoogle 使用 XML 架构定义可以出现在 Sitemaps 文件中的元素和属性。您可从以下链接下载此架构:
对于 Sitemaps: http://www.google.com/schemas/sitemap/0.84/sitemap.xsd
对于 Sitemaps 索引文件:http://www.google.com/schemas/sitemap/0.84/siteindex.xsd
有多种工具可帮助您根据此架构来验证您的 Sitemaps 结构。在下面的每一个位置您都可以找到 XML 相关的工具列表:
http://www.w3.org/XML/Schema#Tools
http://www.xml.com/pub/a/2000/12/13/schematools.html
为了根据某个架构验证您的 Sitemaps 或 Sitemaps 索引文件,XML 文件需要有附加的标头。如果您使用的是 Sitemaps 生成器,这些标头已经包含其中。如果您使用不同的工具创建Sitemaps,XML 文件中的标头应如下例所示。
Sitemaps:
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
<url>
...
</url>
</urlset>
Sitemaps 索引文件:
<?xml version='1.0' encoding='UTF-8'?>
<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/siteindex.xsd">
<sitemap>
...
</sitemap>
</sitemapindex>
提交SiteMap
SiteMap 制作完成以后直接传到空间上(只要传到网络上,能访问就行),然后在各个搜索网站提交。
向Google 提交网站地图Sitemap: 通过http://www.google.com/webmasters 管理提交;
向 Yahoo!提交网站地图Sitemap: 通过http://siteexplorer.search.yahoo.com 管理提交;
向百度 Baidu 提交网站地图Sitemap: 没办法,现在百度不支持Sitemap。但可通过http://www.baidu.com/search/url_submit.html 来提交你的网址。百度自行搜索,更新速度很快.
总的来说 Sitemaps 还是很实用的!