正如我们所知道的那样,网站地图总共有两种格式,一为HTML网站地图(就是我们在很多网站中常见的底部文件中的站点地图),主要是方便用户快速了解网站框架服务并快速定位到其所想访问的内容,同时有助于搜索引擎有组织、有条理的访问网站;另一种是XML网站地图,这种站点地图主要是为包括GOOGLE、YAHOO等在内的大型搜索引擎服务的,BAIDU目前虽还未明确表态支持这种网站地图,但随着目前各大搜索引擎纷纷支持的趋势发展下去,BAIDU恐也很难免俗。
我们今天要探讨的是XML格式的网站地图制作及提交流程,至于HTML的站点地图,留着以后再开篇文章专门讨论。
在探讨XML战地地图如何制作之前,我们要先知道:什么是XML网站地图?为什么要做XML的网站地图?
先来解决第一个问题:什么是XML格式的网站地图?
根据GOOGLE网站管理员工具中关于Sitemap.xml的定义:XML Sitemap - 通常称为 Sitemap(使用大写 S),是您向 Google 提供有关您网站信息的一种方法。 Sitemap 就是您网站上网页的列表。 创建并提交 Sitemap 有助于确保 Google 知道您网站上的所有网页,包括 Google 的正常抓取过程可能无法找到的网址。
是不是觉得GOOGLE官方的解释晦涩难懂呢,像我们这种非专业人士其实完全可以简单通俗易懂的理解一下,就是:Sitemap.xml是google搞出来的鬼,也就是网站地图,不过这个网站地图是用xml写的,而且要按google的标准来写,并且要将写出来的这个文件sitemap.xml上传到自己的服务器空间中去。至于什么是XML文件,怎么编写XML文件,也不在今天探讨的范围之内,建议有兴趣的可以自行GOOGLE学习一下。
好了,第一个问题解决了,紧接下来是第二个问题:为什么要制作sitemap.xml??
我们还是先看一下GOOGLE对于制作sitemap.xml的目的官方说明,然后再给个比较通俗点的理解(今天很多概念、说法等都需要引用GOOGLE的官方说法,同时再给个通俗一点的解释,倒不是为了反衬GOOGLE的说明有多难懂,而是站在我们草根一族角度来说:写不了高深的武林秘籍,题个读后感之类的露个脸也可以)。
GOOGLE对于为啥要做sitemaps.xml的官方解释:
如果网站属于下列情况,那么 Sitemap 会特别实用:
网站含动态内容。
网站有不容易被 Googlebot 在抓取过程中发现的页面,如有大量富 AJAX 或 Flash 内容的页面。
网站为新网站且指向网站的链接不多。 (Googlebot 会跟随链接从一个网页到另一个网页抓取网络,因此,如果您的网站没有很好地链接,我们可能很难发现它。)
网站有大量内容页存档,这些内容页相互没有很好地链接,或根本就没有链接。
草根一点的理解就是:提交sitemap一是有利于搜索抓取一些正常抓取过程中无法抓取的网址,比如动态网页,包含大量AJAX的网页或者flash的页面。二是为搜索蜘蛛指明“工作方向”。Sitemap就是你网站上页面的列表,googlebot就按照这个去一个个的抓取收录页面,显然比它自己去找会效率高,而且要全。
好了,回答完以上两个问题后,马上就切入正题了:如何制作符合搜索引擎要求的XML SITEMAP。
GOOGLE在其帮助指南中提供了多种创作sitemap.xml的方法,如基于GOOGLE协作平台创建并验证的网站可直接提交、使用RSS或ATOM供稿作为SITEMAP、根据SITEMAP协议创作的sitemap.xml与其他方式等。
这么多方法中,目前符合国内使用习惯或多数人采用的,是根据sitemap协议自行创作sitemap.xml,这也是我们今天要讨论的。如果网站采用ASP编程,可在网上搜索添加一段开源代码使其在后台中按照想要的格式生成相应的sitemap.xml文件;如果使用的是基于wordpress的开源系统,可使用WP自行携带的功能生成文件;如果你感觉自己的技术很牛又不喜欢用这些功能的话,可自行手动编写符合 sitemap协议0.9(GOOGLE支持的)标准的站点地图……………如果,再如果,你的网站不是以上情况中的任何一种,同时技术跟我一样很菜的情况下,那么,只能借助于目前一些免费的软件来制作我们所想要的地图了。
代码解释:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" >
这两行就相当于网页文件中的<html>标签一样的作用。不必管这两行什么意思,照抄即可。
切记:一个字符也不能错,即使多一个空格,google网站采集时也会报错。另外,千万别忘了在文件的末尾加上</urlset>标签。
<loc>http://www.kinig.com/contact.htm</loc>
这里是页面链接地址,也就是你希望蜘蛛访问的地址。
lastmod:页面最后修改时间
这个很重要。Google的机器人会在索引此链接前先和上次索引记录的最后更新时间进行比较,如果时间一样就会跳过不再索引。所以如果你的链接内容基于上次Google索引时的内容有所改变,应该更新该时间,让Google下次索引时会重新 对该链接内容进行分析和提取关键字。这里必须用ISO 8601中指定的时间格式进行描述,格式化的时间格式如下:
年:YYYY(2008)
年和月:YYYY-MM(2008-12)
年月日:YYYY-MM-DD(2008-12-29)
年月日小时分钟:YYYY-MM-DDThh:mmTZD(2008-12-29T10:37+08:00)
年月日小时分钟秒:YYYY-MM-DDThh:mmTZD(2008-12-29T10:37:30+08:00)
这里需注意的是TZD,TZD指定就是本地时间区域标记,像中国就是+08:00了
切记:其他格式可能引起出错,比如将2008-08-08 写成2008-8-8就会出问题。
changefreq:页面内容更新频率。
这里可以用来描述的单词共这几个:"always", "hourly", "daily", "weekly", "monthly", "yearly",具体含义我就不用解释了吧,光看单词的意思就明白了。如果要了解详细的意思,可以查看google对于更新频次的定义。
priority:相对于其他页面的优先权
定于0.1 - 1.0之间 。
切记:建议将各类网页根据重要性给出不同的数值,以方便蜘蛛的采集,不要耍小聪明全部写1.0,google管理工具会报错的。
sitemap.xml制作好后,上传到网站根目录下,如http://www.kinig.com/sitemap.xml,同时登陆GOOGLE管理员工具,按照其提示与要求进行提交。Google提交网址:
http://www.google.com/webmasters/sitemaps/?hl=zh-CN
提交后,在几个小时内,系统就会开始下载处理了。
提交后,还有一项工作需要做:SITEMAP的验证。
验证网站地图是否符合标准,最方便的手段就是使用google的管理员工具了。
在他下载sitemap.xml后几天内,这个工具就会将详细的分析结果反馈回来,包括:sitemap.xml中包含了多少地址,google已将多少地址加入索引,sitemap.xml中出现了哪些错误,甚至蜘蛛采集过程中遇到的各种问题,比如哪些网页有404,500错误都会详细的罗列出来,非常方便。
如果你提交的xml文件一切无误,那么接下来,你就是等着让它的搜索蜘蛛来爬了,sitemap的文件告知了文件更新的频率,这样搜索蜘蛛来得更勤快,页面被收录当然也就更快。