用 Sitemaps 轻松搞定 Google 之全攻略(图文版)
作者:佚名 seo教程来源:互联网 点击数: 更新时间:2007-10-17
>http://www.googlepub.com/html/200511/285.html。
对于大多数虚拟主机用户,还有一些PHP或者ASP的生成器代码可以用(详见:http://www.playhosts.com/bbs/read.php?tid=183),可以使用这些生成器来生成网站静态页面的Sitemaps文件。另外,还有一些比较现成的工具程序,比如 phpSitemapNG 之类(在本帖子下面的回复中下载),可以用来生成 Sitemaps。
另外,在网上,还有很多可以在线生成 Sitemaps 的网站(有些是免费的,或者也提供免费服务),只要在这些网站注册一下,就可以自动搜索你的网站,并为你生成 Sitemaps 文件。
但是这些生成器常常只能搜索你的 Web 根目录,查找静态网页文件,并生成网址列表。所以 Google 常常建议你使用静态 HTML 页面,一些 CMS 和 BBS 也都建议你生成静态 HTML 页面,但是生成静态页面虽然可以提高访问速度,却大大加大了硬盘的占用量(一般会额外占用数据库容量的两倍以上),有些论坛使用静态页面还有一些别的问题,所以对于虚拟主机用户来说常常并不适用。而一些 BBS 也常常提供一些被称为“搜索引擎友好”的技术,来模仿静态页面的访问方式,但我们不认为这会对 Google 抓取页面的方式有很大改进。
那么动态页面怎样才能比较好的生成 Sitemaps 呢?请看本文第六部分。
6、动态网页怎样生成Sitemaps?
要想让你的动态网页生成 Sitemaps,基本上有三种办法:
(1)可以使用一些本地或者在线的生成工具,通过检查和分析你的网页结构,来生成动态网页的Sitemaps。
目前我们测试了几个在线生成动态页面 Sitemaps 的网站,在消耗了很长时间以后,也没有生成比较完全的 Sitemaps,只是收录了很少一部分网址。另外,还有一些本地工具或者服务器端工具,号称可以自动生成动态网页的索引列表,但是效果也不是很理想。
我们认为,通过这种方式来自动生成网址列表,是一个比较复杂的过程,工作量是很大的,需要工作很长时间,而且常常会进入循环链接陷阱,而效果却不理想。
(2)通过 CMS 或者 BBS 的数据库结构,直接生成 Sitemaps
最理想的办法,就是直接根据你的 CMS 或者 BBS 数据库结构,来直接生成网址列表,这样可以非常真实的获取所有有价值的网页网址,而不必收录那些没有价值的网址(如登录网页、注册网页、短消息网页等等)。但是 CMS 和 BBS 的种类成千上万,数据结构千变万化,这样就需要你对自己的数据结构比较了解,才能正确的生成 Sitemaps 。目前国外一些常见的论坛或者CMS程序,比如VBB、phpBB、Drupal、Plone、Wikka等,都有了插件程序,以生成动态网页的 Sitemaps。Google 在这里提供了生成 Sitemaps 第三方工具(包括一些在线生成工具)的列表:http://code.google.com/sm_thirdparty.html ,大家可以参考一下。
目前,针对国内最常见的 PHPWind 和 Discuz!论坛,本站已经制作了这两种论坛常见版本的 Sitemaps 生成器程序,可以自动生成论坛所有网页的网站地图,需要的话,可以到此网址下载: http://www.playhosts.com/bbs/read.php?tid=424 。如果您不熟悉通过编程方式获得你的 CMS 或者 BBS 系统的 Sitemaps ,也可以与我们联系,如果您的系统比较有代表性,我们也可以帮助你们制作生成程序。
(3)通过 RSS
联合供稿—Google 接受 RSS(真正简单的联合供稿)2.0 和 Atom 0.3 供稿。通常,只有您的网站已有联合供稿时才能使用此格式。请注意,此方法可能不能让 Google 了解您网站的所有网址,因为供稿可能只提供最近访问的网址的信息。
目前 Google 接受 RSS 2.0 和 Atom 0.3 馈送(使用 <link> 与修改日期字段)。如果您以这些格式之一为自己的网站使用联合供稿馈送,则可以添加馈送的网址以便 Google 了解网站最近的更新。Google 使用您馈送中的 <link> 字段收集来自您网站的网址,并使用修改日期字段(RSS 馈送的 <pubDate> 字段和 Atom 馈送的 <modified> 日期)来了解每个网址的最后修改时间。可以根据需要使用修改日期字段。请确保该馈送位于您希望搜索引擎抓取的最高一级目录。
一些论坛和CMS程序都提供了生成 RSS 文件的功能,可以生成最新网页的 RSS 文件,这种格式的文件,也可以被 Google 所识别,用来当作 Sitemaps 文件使用。
目前的论坛程序提供的 RSS 常常只有最新网页的网址,但 Google 仍然可以从这些网页的链接中查找其它网址。但是我们发现目前一些论坛程序,提供的RSS并不好用,只有部分网址提供了,这些网址也不是最新的网址,有点莫名其妙。
7、怎样在提交前,检验 Sitemaps 文件是否符合Google的协议规定?
是的,可以使用 Google 的 XML schema来定义可以出现在 Sitemaps 文件中的元素和属性。验证需要下载一个 sitemap.xsd 文件,可在本帖子下面的回复贴中下载。
我个人认为,如果你手工修改了 Sitemap.xml 文件,建议大家在本地使用一个叫做 XSV 的 Python 程序,根据上面下载的 sitemap.xsd 文件,来验证你生成的 Sitemaps 文件是否符合Google的规定,目前版本是2.10,大家可以在下面的回复贴中下载。
8. 此服务如何收费?
完全免费!根据 Google 的声明,Google 从未针对搜索结果中的位置收取过费用,
对于大多数虚拟主机用户,还有一些PHP或者ASP的生成器代码可以用(详见:http://www.playhosts.com/bbs/read.php?tid=183),可以使用这些生成器来生成网站静态页面的Sitemaps文件。另外,还有一些比较现成的工具程序,比如 phpSitemapNG 之类(在本帖子下面的回复中下载),可以用来生成 Sitemaps。
另外,在网上,还有很多可以在线生成 Sitemaps 的网站(有些是免费的,或者也提供免费服务),只要在这些网站注册一下,就可以自动搜索你的网站,并为你生成 Sitemaps 文件。
但是这些生成器常常只能搜索你的 Web 根目录,查找静态网页文件,并生成网址列表。所以 Google 常常建议你使用静态 HTML 页面,一些 CMS 和 BBS 也都建议你生成静态 HTML 页面,但是生成静态页面虽然可以提高访问速度,却大大加大了硬盘的占用量(一般会额外占用数据库容量的两倍以上),有些论坛使用静态页面还有一些别的问题,所以对于虚拟主机用户来说常常并不适用。而一些 BBS 也常常提供一些被称为“搜索引擎友好”的技术,来模仿静态页面的访问方式,但我们不认为这会对 Google 抓取页面的方式有很大改进。
那么动态页面怎样才能比较好的生成 Sitemaps 呢?请看本文第六部分。
6、动态网页怎样生成Sitemaps?
要想让你的动态网页生成 Sitemaps,基本上有三种办法:
(1)可以使用一些本地或者在线的生成工具,通过检查和分析你的网页结构,来生成动态网页的Sitemaps。
目前我们测试了几个在线生成动态页面 Sitemaps 的网站,在消耗了很长时间以后,也没有生成比较完全的 Sitemaps,只是收录了很少一部分网址。另外,还有一些本地工具或者服务器端工具,号称可以自动生成动态网页的索引列表,但是效果也不是很理想。
我们认为,通过这种方式来自动生成网址列表,是一个比较复杂的过程,工作量是很大的,需要工作很长时间,而且常常会进入循环链接陷阱,而效果却不理想。
(2)通过 CMS 或者 BBS 的数据库结构,直接生成 Sitemaps
最理想的办法,就是直接根据你的 CMS 或者 BBS 数据库结构,来直接生成网址列表,这样可以非常真实的获取所有有价值的网页网址,而不必收录那些没有价值的网址(如登录网页、注册网页、短消息网页等等)。但是 CMS 和 BBS 的种类成千上万,数据结构千变万化,这样就需要你对自己的数据结构比较了解,才能正确的生成 Sitemaps 。目前国外一些常见的论坛或者CMS程序,比如VBB、phpBB、Drupal、Plone、Wikka等,都有了插件程序,以生成动态网页的 Sitemaps。Google 在这里提供了生成 Sitemaps 第三方工具(包括一些在线生成工具)的列表:http://code.google.com/sm_thirdparty.html ,大家可以参考一下。
目前,针对国内最常见的 PHPWind 和 Discuz!论坛,本站已经制作了这两种论坛常见版本的 Sitemaps 生成器程序,可以自动生成论坛所有网页的网站地图,需要的话,可以到此网址下载: http://www.playhosts.com/bbs/read.php?tid=424 。如果您不熟悉通过编程方式获得你的 CMS 或者 BBS 系统的 Sitemaps ,也可以与我们联系,如果您的系统比较有代表性,我们也可以帮助你们制作生成程序。
(3)通过 RSS
联合供稿—Google 接受 RSS(真正简单的联合供稿)2.0 和 Atom 0.3 供稿。通常,只有您的网站已有联合供稿时才能使用此格式。请注意,此方法可能不能让 Google 了解您网站的所有网址,因为供稿可能只提供最近访问的网址的信息。
目前 Google 接受 RSS 2.0 和 Atom 0.3 馈送(使用 <link> 与修改日期字段)。如果您以这些格式之一为自己的网站使用联合供稿馈送,则可以添加馈送的网址以便 Google 了解网站最近的更新。Google 使用您馈送中的 <link> 字段收集来自您网站的网址,并使用修改日期字段(RSS 馈送的 <pubDate> 字段和 Atom 馈送的 <modified> 日期)来了解每个网址的最后修改时间。可以根据需要使用修改日期字段。请确保该馈送位于您希望搜索引擎抓取的最高一级目录。
一些论坛和CMS程序都提供了生成 RSS 文件的功能,可以生成最新网页的 RSS 文件,这种格式的文件,也可以被 Google 所识别,用来当作 Sitemaps 文件使用。
目前的论坛程序提供的 RSS 常常只有最新网页的网址,但 Google 仍然可以从这些网页的链接中查找其它网址。但是我们发现目前一些论坛程序,提供的RSS并不好用,只有部分网址提供了,这些网址也不是最新的网址,有点莫名其妙。
7、怎样在提交前,检验 Sitemaps 文件是否符合Google的协议规定?
是的,可以使用 Google 的 XML schema来定义可以出现在 Sitemaps 文件中的元素和属性。验证需要下载一个 sitemap.xsd 文件,可在本帖子下面的回复贴中下载。
我个人认为,如果你手工修改了 Sitemap.xml 文件,建议大家在本地使用一个叫做 XSV 的 Python 程序,根据上面下载的 sitemap.xsd 文件,来验证你生成的 Sitemaps 文件是否符合Google的规定,目前版本是2.10,大家可以在下面的回复贴中下载。
8. 此服务如何收费?
完全免费!根据 Google 的声明,Google 从未针对搜索结果中的位置收取过费用,






