一、 SiteMap是什么东西?
SiteMap是Google提出一个用于辅助网页收录的XML协议。通过向Google网站管理员工具后台提交SiteMap(即一个XML文件),可以帮助网站更快地被谷歌的蜘蛛爬行和收录。是收录这个步骤中重要工具。
二、SiteMap的作用
SiteMap对于加快Google的收录有非常显著的帮助,同样的对于百度雅虎也有类似的功效。而雅虎更喜欢让人提交RSS Feed订阅。百度也有它的SiteMap,就是那个称为"互联网新闻开放协议"的东东(提交入口也是在这个页面)。
三、SiteMap的制作
虽然Google Sitemap和百度的规范协议不一样,但是它们都是XML格式。网上流传有许多制作SiteMap的方法,参差不齐,有的甚至直接用ASP的Response.Write一行一行地输出XML内容,这是不规范的做法。
因为XML本身就有几个特殊字符被保留了,如果加入的内容中出现这个几个符号,首先必须把它们转义再加入。Response.write方法直接输出的SiteMap有时候会不符合规范,无法通过XML的检查。这几个需要转义的字符是:
| 字符 | 转义后的字符 | ||
| HTML字符 | 字符编码 | ||
| 和(and) | & | & | & |
| 单引号 | ' | ' | ' |
| 双引号 | " | " | " |
| 大于号 | > | > | > |
| 小于号 | < | < | < |
谷歌的SiteMap协议地址是(英文):https://www.google.com/webmasters/tools/docs/en/protocol.html
百度的互联网新闻开放协议地址: http://news.baidu.com/newsop.html
在Google和百度的协议里面已经列出了这些要注意的地方。
一般来说流行的CMS都具有SiteMap插件,只有少数老牌的和自制的CMS需要自己制作SiteMap。制作SiteMap有三种方法:
第一种是用Xenu Link或者SiteMapBuilder之类的软件包爬行一次网站,然后生成全部的URL结果为SiteMap,我个人常用的是“老虎Sitemap生成器”。用软件几乎整站所有链接都会被爬到,并且剔除了不存在的错误链接。但这种方法的缺点是每次都要爬行整个网站,耗费时间很多,并且要拆分成几个部分相当不容易,每次都要手动生成更新频率也很低。
第二种是通过分析服务器的日志来生成。优点是日志格式是规范的,只需要做一些转换即可。缺点是爬行日志是有重复的,并且它没有遍历所有的连接,对它进行分类整理也是难上加难。如果日志文件非常大,也不是一个理想的方法。所以使用日志制作SiteMap的方法用得最少。
第三种是直接从CMS的数据库里面读出URL,然后整理为SiteMap。这种方法的优点是能保持自动更新,并且分类和数量都可以自由的掌握。缺点是数据库中的链接不完全与实际的网页页面符合,可能会出现死链接。同时有些分页列表是不在数据库内的,幸好这种情况是少数。
自己没有写程序能力的人,通常用第一种方法,显然它是要耗费一些手工时间的。而用流行CMS和会ASP的人,用第三种方法较多,代码写完以后一劳永逸,到谷歌网站管理工具后台提交了SiteMap后就不用再去管它了。
这里我提供一个生成Google Site的ASP类,就是属于第三种方法。是从ZBlog的SiteMap文件里面剥离出来的,因为感觉它这个类已经写得很好了,用的是标准的XML节点操作,无需担心会出现多余的错误。只要在它的基础上和数据库做一个连接接口即可。
Google SiteMap生成类(ASP)
·下载地址
http://www.nosword.com/download/google-sitemap-asp.rar
·如何使用?
里面包含了两个文件,tsitemapclass.asp就是这个ASP类,而smdemo.asp则是小弟写的一个使用的简单演示程序,在IIS上运行这个smdemo.asp文件就能看到效果,编辑里面代码则能看到这个类代码如何掉调用。
以上两个文件都使用UTF-8的编码。有了这个ASP类,可以应用到很多地方,从单一的博客和公司网站到五花八门的门户站点,或者是按照频道分类输出都很可以灵活。活用这个ASP的SiteMap类,可以从繁琐的手工劳动中解脱出来,使日常SEO工作轻松不少。
原创作者:无剑网(http://www.nosword.com/),转载请注明作者和此声明。
原文链接:http://www.nosword.com/200712/google-sitemap-and-create-asp-class/
