以文本方式查看主题

-  咿思舞论坛  (http://bbs.145829.com/index.asp)
--  『网站资源』  (http://bbs.145829.com/list.asp?boardid=8)
----  [分享]什么是Sitemap.xml,Sitemap.xml怎么写  (http://bbs.145829.com/dispbbs.asp?boardid=8&id=786)

--  作者:admin
--  发布时间:2012/2/3 13:35:23
--  [分享]什么是Sitemap.xml,Sitemap.xml怎么写

Sitemaps 协议使你能够告知搜索引擎网站中可供抓取的网址。最简便的方式就是,使
用 Sitemaps 协议的 Sitemaps 就是列有某个网站所有网址的 XML 文件。此协议可高度扩
展,因此可适用于各种大小的网站。它还能够使网站管理员提供有关每个网址的其他信息(上
次更新的时间、更改的频率、与网站中其他网址相比它的重要性等),以便搜索引擎可以更
智能地抓取该网站。
Sitemaps 协议补充而不是取代搜索引擎已用来发现网址的基于抓取的机制。通过向搜
索引擎提交一个 Sitemaps(或多个 Sitemaps),可帮助搜索引擎更好地抓取你的网站。
1、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> 子标记条目。
2、XML 标记定义
以下对可用 XML 标记进行说明。
表6-8-2 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。
请注意,你为页面指定的优先级不影响你的网址在搜索引擎的结果
页的排名。搜索引擎在同一网站的不同网址之间进行选择时使用此
信息,因此,你可以使用此标记来增加相对重要的网址在搜索索引
中显示的可能性。
而且,请注意为你网站中的所有网址都指定高优先级对你没什么好
处。由于优先级是相互关联的,只用于在你自己网站的网页之间进
行选择;你网页的优先级不会与其他网站的页面优先级进行比较。
3、实体转义
Sitemaps 文件为 UTF-8 编码(通常在保存文件时可以做到)。对于所有的 XML 文件,
任何数据数值(包括网址)都应对下表中列出的字符使用实体转义码。
表6-8-3 实体转义
字 符 转 义 码
& 符号 & &
单引号 \' \'
双引号 " "
大于 > &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&amp;q=name
4、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。
5、使用 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 标记:&#1048698; 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 编码。
6、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 标记定义
&#1048698; 需要有 <loc> 标记并用其来识别 Sitemaps 的位置。
&#1048698; <lastmod> 标记是可选标记,用于指示相应 Sitemap 文件的修改时间。它并不
对应于该 Sitemap 中列出的任一网页的更改时间。lastmod 标记的值应采用
W3C Datetime 格式。通过提供最近修改的时间戳启用搜索引擎抓取工具,抓
取工具将只检索索引中的Sitemaps 的一个子集,也就是说,抓取工具只检索
某特定日期之后修改的Sitemaps。通过这一递增的Sitemaps 提取机制,可以
快速发现超大型网站上的新网址。
&#1048698; <sitemap>标记封装单个Sitemaps 的相关信息。
&#1048698; <sitemapindex>标记会压缩有关文件中的所有Sitemaps 的信息。
7、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=3453
http://example.com/catalog/sitemap.gz 中被认为无效的网址包括:
http://example.com/image/show?item=23
http://example.com/image/show?item=233&user=3453
https://example.com/catalog/page1.html
被认定为无效的网址将不再考虑。强烈建议将Sitemaps 放置在Web 服务器的根目录处。
例如,如果Web 服务器位于example.com,则Sitemaps 索引文件应位于
http://example.com/sitemap.gz。在某些情况下,你需要针对不同的路径创建对应的Sitemaps,
例如,如果在你的组织中,安全许可对应不同目录划分上传权限。
8、验证你的Sitemaps
Google 使用 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>
9、Google sitemaps Builder .Net V1.5 使用教程
这是一款由国外编程人员开发的Google Sitemap 制作软件,通过该软件那些不懂XML
语法的人也很容易制作出xml 版本的Google Sitemap 和纯文本链接地址。
该软件可运行于Windows 2000 / XP / 2003 平台,必须在.NET Framework 1.1 环境下安
装,如果你的电脑没有安装.NET Framework 1.1,你可以到微软官方网站上下载
(http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=262d25e3-f589-4842-8157-034d1e7cf3a3&displayLang=en ;)。
Google sitemaps Builder .Net V1.5 软件可以到下面的网站地址下载:
http://www.sitemapbuilder.net/download.aspx
Google sitemaps Builder 软件的安装相当容易,这里就不做介绍了。接下来,主要来讲
解一下Google sitemaps Builder 的使用方法。
安装完Google sitemaps Builder 软件后,点击任务栏里的“开始”,从“所有程序”里找
到“Sitemaps Builder .Net”,运行该程序。当然,安装完Google sitemaps Builder 软件后,电
脑的桌面会有其快捷方式,直接点击它可快速运行该软件