电脑技术学习

google sitemaps实用教程

dn001
这对将新链接快速推送到用户非常有意义。我们不想等待引擎传送结果 - 我们想更快地将内容置入引擎。我们将尽可能选择推送内容,而不是使其被别人提取。这使我们与 Google 的交互更加深入。”

客户所获实际利益是我们现在提供众多机会,使得其网站可由 Google 进一步编制索引...此举增加了我们对难于编制索引的内容(如 CMS 中的动态应用程序)的编制机会。我们致力于保证我们的客户能够从这个一直以来都居于重要地位的搜索前景的变化中受益。

这个教程记录了制作Google Sitemaps过程中自己的一些心得与体会,拿来与各位站长讨论交流,其中可能会有不当之处,也欢迎大家及时批评指正。另外需要强调,对于已经大量被 Google收录的站点或者已经从Google得到理想搜索访问量的站点,请权衡对待,但是对于希望尽快被收录的,或者希望让google收录自己站点被提交到Goolge之前的页面,Google Sitemaps是个不错的选择!下面进入正题。文章中的部分内容会引用Google Sitemaps中文帮助原文,其版权归Google公司!

先引用 Google 官方关于 Sitemaps 的一段文字,请大家看看,这将帮助您对 Google Sitemaps 有一个明确地认识:

关于 Google Sitemaps 如 Google 一样的搜索引擎使用名为“Spider”的软件抓取 Web,从而找到有关您的网站的信息。Spider 找到网站后,它们会按照该网站内的链接收集有关所有页面的信息。Spider 会不定期地重新访问网站以查找新的或更改的内容。

Google Sitemaps 是有关 Web 抓取的实验。通过使用 Sitemaps 通知并指引抓取工具,我们希望扩展对 Web 的覆盖范围,并加快网页搜索及将其添加到索引的速度。

如果网站拥有不容易按照链接找到的动态内容或页面,您可以使用 Sitemaps 文件提供有关网站上的页面信息。这将有助于使 Spider 了解网站上有哪些网址以及其更改频率。

Sitemaps 从另一角度观察网站(如同主页和 HTML 网站地图所做)。此计划并不会取代我们抓取 Web 的常规方法。无论使用此计划与否,Google 都将用与以往相同的方式搜索网站并编制其索引。Sitemaps 只是为 Google 提供可能未发现的额外信息。网站不会因使用此服务而受到处罚。这只是测试计划,因此我们无法预见或保证何时或是否您的网址将被抓取或添加到我们的索引。随着时间的推移,通过逐渐改善我们的过程及更好地理解网站管理员的需要,我们期待覆盖和编制索引的时间都能得到改进。

另外,可以在网址更改时提交更新的 Sitemaps,但并不需如此,因为 Spider 将定期重新访问您的网站(将使用您在 Sitemaps 中提供的频率信息作为决定多长时间重新访问一次的因素)并查找新页面。

轻松加入

可以按照下面这些基本步骤参与 Google Sitemaps 计划:

以支持的格式创建 Sitemaps。

将此 Sitemaps 提交到 Google。

当网站有更改时更新 Sitemaps 文件。

如果您的网站为移动设备提供内容,则可以创建并提交移动 Sitemaps,以便向 Google 提供有关移动 Web 索引的信息。

任何网站所有者都可以参与 Google Sitemaps 计划 – 从只有一页的站长到有上百万不停变化的页面的公司。如果想让 Google 抓取网站上更多的页面,并可以在网站内容更改时通知 Google,那么您可能对使用 Google Sitemaps 特别感兴趣。

Google Sitemaps 计划是完全免费使用的。Google 从未对搜索结果收取过费用,也没有收费的计划。Google 启动此计划是为了完成我们的使命,即将全世界的信息组织起来并使之可普遍访问。我们希望此协作抓取系统能使我们的抓取器改进此系统的覆盖和时效性,从而为用户优化 Google 索引的使用。

引用页面地址:https://www.google.com/webmasters/sitemaps/docs/zh_CN/about.html

Google Sitemaps 推出时只有英文版,限于英文水平也只理解了个大概,在网上找了找也没有比较详细的中文帮助,于是就在第一时间不知死活的用了自己的网站作了试验,当然刚开始取得了很好的效果,不到一个月,收录量由之前的2000多达到了15000多。但是因为配置文件参数设定的不合理加之没有坚持更新地图文件,后来却成了我的心病,Google几乎不再更新我的站!极度郁闷!

这是个惨痛的教训,所以在中文版出来后,仔细研究了其中所有参数,以及地图的制作和使用流程,并确定以我的音乐网站作为测试站点,测试地图的使用效果,网站地址为:http://www.bbar.cn

为了能切实的验证地图配置文件的参数有效性,我们做了近四周的观察,现在Google已经开始不断收录,所以才开始萌生写这个教程的念头,希望能对各位想尝试Google Sitemaps的站长有所帮助,避免一些不必要的麻烦和困扰!

需要说明的是我并不能完全保证这篇文章内容描述的准确性,因为 Google Sitemaps 的中文帮助实在很蹩口,哈哈,也许是太专业吧,希望Google不会因为这个惩罚我的网站:P!

Google Sitemaps 的中文帮助地址:https://www.google.com/webmasters/sitemaps/docs/zh_CN/overview.html
开始写详细操作之前,声明一下,我是第一次写这种东西,不足之处还请大家谅解,同时希望有经验的朋友能及时给予补充和指正!

先来介绍一下教程中的测试网站:

www.bbar.cn是一个涉及音乐和Flash在线视听内容的网站,其所有页面全部生成html文件,总计大概90000多个。正如前面所提到的,最初制作好Sitemap.xml并提交到Google后因为没有坚持更新地图文件,导致由收录最高时的24000页到最后的几百页。在11月1日重新制作了地图,并提交给 Google,现在的收录结果,http://www.google.com.sg/search?sourceid=navclient&hl=zh-CN&ie=UTF-8&rls=GGLD,GGLD:2005-23,GGLD:zh-CN&q=site:www.bbar.cn]大家可以点此察看。这个站生成地图的配置文件里设定的更新周期是每周,所以Google会每周下载一次地图文件。顺便给自己作个小广告,哈哈:关于如何向Google提交地图会在后面详细介绍。

创建 Sitemaps其实有很多方法,Google都有相应的说明和帮助,具体地址可参见:https://www.google.com/webmasters/sitemaps/docs/zh_CN/overview.html,这里就不重复了。

这篇文章只介绍其中的一种方法,即使用 Sitemaps 生成器(sitemap_gen.py)生成Sitemaps,Google 提供的帮助地址为:https://www.google.com/webmasters/sitemaps/docs/zh_CN/sitemap-generator.html

Google Sitemaps 生成器是一个 Python 脚本,可以使用 Sitemaps 协议为您的网站创建 Sitemaps。此脚本可以通过网址列表、Web 服务器目录或通过访问日志创建 Sitemaps。要使用此脚本:

1.您需要连接到您的 Web 服务器,并在其上运行脚本。

2.您的 Web 服务器需安装 Python 2.2 或更高版本。

3.您需要知道启动 Python 的命令。(该命令通常为 python,但可能会因安装不同而异。例如,如果 Web 服务器安装了两种版本的 Python,命令 python 可调用较早的版本,而命令 python2 则可调用较晚的版本。)

4.您需要知道指向贵网站的目录路径。如果您的 Web 服务器托管一个网站,路径可能是 var/www/html 等。如果您拥有一个托管多个网站的虚拟服务器,路径可能是 home/virtual/site1/fst/var/www/html 等。

5.您需要能够将文件上传到自己的 Web 服务器(例如,使用 FTP)。

如果您要根据访问日志生成一个网址列表,则需要了解用于这些日志的编码,以及指向它们的完整路径。

以上为Google官方原文,这里我想说明几点:

1.此方法支持独立服务器用户,当然也支持虚拟主机,但是要求主机上必须由python程序运行环境及相应权限。对于主机不具有python环境的用户,可以先在本地制作好,然后上传地图文件即可!

2.大家可以看出他给出的路径格式是Unix/linux平台的形式,但事实上它同样支持window平台

3、本教程操作是按独立服务器用户角度书写,但是虚拟主机用户可以先在本地制作好,然后上传地图文件即可!

一、环境配置

1.需要下载Python-2.2.3或更高版本,本站提供的地址为:http://www.bbar.cn/Python-2.2.3.rar下载,安装过程在此略过,非常简单不用作任何配置。

2.下载Sitemaps 生成器python程序文件,http://sourceforge.net/project/showfiles.php?group_id=137793&package_id=153422可点此下载,下载存档后,将其解压缩到本地目录,其主要文件说明如下:

README:包含关于此工具的最新信息

sitemap_gen.py:生成 Sitemaps 的 Python 脚本

example_config.xml:配置文件,将用其指定网站的相关属性参数

example_urllist.txt:如果想根据自己指定的一组网址创建 Sitemaps,则可参照使用此网址列表模板

二、配置文件参数设置

在配置配置文件之前,需要说明一下,python将按照配置文件参数运行,并生成sitemap文件,配置文件中很多参数是可选的,本文中将概述常用的参数配置方法,有兴趣的朋友可以测试其他参数,共同完善此教程。

在进行配置之前,你需要了解几个概念:

1.网站的基准网址即http://www.googlepub.com/这种形式,只有以此基准网址开头的网址才能包括在 Sitemaps 中。请确认包括了协议,如 http://,就是说,http://www.googlepub.com 是有效的基准网址,而 www.googlepub.com 就不是。

2.指向要保存 Sitemaps 的位置的 Web 服务器路径。通常,由于 Sitemaps 不能包含较高级别目录(来自 Sitemaps 的位置)中的网址,这是指向基本网址的路径。当您运行 Google Sitemaps 生成器时,它会创建 Sitemaps 并将其放在您指定的位置。建议指向网站根目录或者专门的存储文件夹,比如:sitemap,您希望的 Sitemaps 生成器用来创建 Sitemap 的方法可以任意组合下列各种方法:

URL:在配置文件的这一部分列出单个网址,并提供关于所有网址的信息。通常,您要使用此方法与另一方法结合,手动提供其他方法无法提供的附加网址。

网址列表:将配置文件指向包含网址列表的文本文件。如果文本文件已经存在或您使用脚本生成网址列表,则可以使用此方法。

目录路径:为网站指定目录路径及这些路径的相应网址。Sitemaps 生成器将以这些目录的内容为基础创建网址的列表。如果网站由静态 HTML 文件构成,您可能需要使用此方法。

访问日志:指向日志文件的路径。Sitemaps 生成器将以包含在日志中的网址为基础创建网址的列表。如果网站由动态页面构成,则可能需要使用此方法。

Sitemap:指向您使用 Sitemaps 生成器创建的现有 Sitemaps。Sitemaps 生成器将创建一个 Sitemaps 文件,其中包含每个 Sitemaps 中都包含的网址。如果您已经创建了几个较小的 Sitemaps 并想将它们组合为一个较大的 Sitemaps 文件,则可以使用此方法。

以上是Google官方提供的解释,暂可不必深入理解他们,但是需要提醒:sitemap存储路径建议指向网站根目录或者专门的存储文件夹。

下面开始按照配置文件模板创建你自己的配置文件:

1.在文本编辑器中打开 example_config.xml 文件。将其另存为新文件(如 config.xml 或 mysite_config.xml)。

2.找到网站定义部分:

base_url="http://www.example.com/"

store_into="/var/www/docroot/sitemap.xml.gz"

verbose="1">

用您的网站地址替换 base_url 值。在您希望保存 Sitemaps 的Web 服务器上,更改路径的 store_into 值。前面已经说过,可以指向到网站的根目录或者特定存储sitemap文件的文件夹里。我是将Sitemap.xml文件存储在网站根目录webroot 下的,其配置如下:


base_url="http://www.bbar.cn/"

store_into="D:whatwherewebrootsitemap_index.xml.gz"

verbose="1"

>

使用.gz格式命名,脚本执行时会自动压缩你的地图文件,当然以也可以直接使用.xml格式,如果站点页面数量较大,为了方便Google下载你的地图文件,建议采用压缩格式。如果你的网站链接超过50000个,此程序会自动分开存储在不同的.gz文件里,最后会自动建立一个sitemap_index.xml文件作为主地图文件。
3.开始各部分参数的配置:

a)找到以下部分:

http://www.example.com/stats?q=name" />

http://www.example.com/stats?q=age" lastmod="2004-11-14T01:00:00-07:00"

changefreq="yearly"

priority="0.3"

/>

此部分举出两个示例:第一个示例仅包括必要属性,即只有href,可以直接配置为你的网站地址,当然如果你只想对你得bbs制作地图,那么可以指定为bbs的web路径。而第二个示例则包括必要属性和可选属性:

lastmod属性指你的网站最后更新的时间必须按照标准格式填写

changefreq 属性将使 Google 大致了解网址的更新频率。google将会按照这个频率来下载你的地图文件

priority 属性使 Google 了解有关此页面相较网站上其他页面的相对重要性的信息。此属性不会对 Google 怎样比较您的页面与其他网站的页面产生影响,仅有助于 Google 了解网站的哪个页面您认为最重要。也就是说,如果你是将你的站分目录进行制作地图文件,那么你可以根据每个目录的重要程度给每个目录不同的值,0.0 到 1.0。我的配置如下:

http://www.bbar.cn"

lastmod="2005-11-01T01:00:00-07:00"

changefreq="weekly" //每周更新,你也可以用dayly

priority="0.3"

/>

b)找到以下部分:

使用此格式指向包含您的网址列表的文本文件的路径和名称。您可以使用提供的 example_urllist.txt 文件作为此文本文件的模板。您需要在 Web 服务器上指定完整路径。如果您创建了非 UTF-8 编码的文本文件,则可以使用 encoding 属性指定这一编码。若有多个 .txt 文件,则可以使用通配符。例如:

对于每个包含在文本文件中的网址,可以指定最后修改日期、更改频率和优先级。请参阅 “URLlist 文本文件参考”部分以获取有关此文件结构的完整信息。

这部分内容告诉我们可以通过已制作好的url列表来提交地图,有些地图制作工具可以可以制作,由于我没有使用,所以我们就可以直接删除了!

c)找到以下部分:

http://www.example.com/images/" />

http://www.example.com/"default_file="index.html"/>

这一部分列举了两个示例。如果您的所有网页都包含在某个路径的子目录中,您只需提供一个条目。不过,如果有多个路径指向贵网站的网页,请针对每个提供一个条目。请记住,所有网址都要以您在第三步中指定的基本网址开头。例如, example_config.xml 文件中的两个示例都包含以 http://www.example.com/ 开头的网址。所以,两个网址都有效。

将示例项替换为您的网站的项。许多网站仅有一个指向基准网址的项。请确保 path 值为 Web 服务器上目录的完整路径。请确保 url 值是完整网址,如果需要还请包括协议(例如 http)并以斜线跟随。

可以使用 default_file 参数指定服务器将其用作目录默认页面的文件名。上例中,/var/www/docroot 将解析为 http://www.example.com/index.html。而无须指定。但如果指定,则 Sitemaps 生成器将包括对每个子目录只映射一次(而不是同时列出目录网址和文件名网址)的页面,并将使用文件(而不是目录)的最后修改日期提取该页的 lastmod 属性。我的配置如下:

http://www.bbar.cn/"

default_file="index.htm"

/>

d)找到以下部分:

此部分列举了三个示例。您应该替换这些条目,并为每个日志文件提供一个条目。请确保 path 值是 Web 服务器上的完整路径和文件名。如果日志文件不是采用 US-ASCII 或 UTF-8 编码,使用可选的 encoding 属性指定此编码。无需列出所有日志文件,您可以使用通配符。例如,在上例中,您可以提供以下条目(包括全部三种日志文件):

Sitemaps 生成器根据每个网址的访问频率,为从日志中找到的网址分配优先级。例如,被访问过 100 次的网址将得到一个比被访问过两次的网址更高的优先级。实际的优先级分配是相对的,取决于每个网址与网站中其他网址比较的结果。

这一部分也许会让人难以理解,其实这是一个很好的工具,他告诉我们这个地图生成脚本可以读取你的操作系统记录的网站访问日志,从而确定网页的访问频率,最后确定生成的地图文件中网址的排列顺序!具体实现的办法是,首先在网站路径下建立目录logs。然后对你的站点IIS做好日志属性的配置,如果是采用其他web服务器就用其相应的操作方式,对于IIS的具体配置可见下图:



e)找到以下部分:

此部分列举了一个示例:您应该替换该条目,并为您希望包括的每个 Sitemaps 提供一个条目。请确保路径值是 Web 服务器上的完整路径和文件名。您可以列出 gzip 压缩的 Sitemaps,只要其扩展名为 .gz。无需列出所有 Sitemaps,您可以使用通配符。例如,以下条目将会包括以 "sitemap" 一词开头且扩展名为 .xml 的所有 Sitemaps。

Sitemaps 生成器会提取所有网址以及针对您所列全部 Sitemaps 的每个网址列出的可选数据,并使用这些信息创建一个 Sitemaps 文件。目前,我们不能保证此方法会适用于除 Sitemaps 生成器以外的工具所创建的 Sitemaps。

这部分大致意思是说,如果你的网站针对多个目录分别制作了地图会使用这部分的参数,由于我的测试只对整站地图,没有分别对目录制作,所以此段直接删除了!

f)找到过滤器定义部分:

您可以使用过滤将特定网址排除在生成的 Sitemaps 之外。您可以通过以下操作创建一个更简洁的列表,以减少重复列表的数量,或防止特定网址进入索引。请注意,如果使用 robots.txt 文件防止网址进入索引,则即使将网址包含在 Sitemaps 中,Google 也不会搜索它们并为它们编制索引。可以使用任意或所有的过滤方法。如果需要,可以删除不需要的项并创建其他项。下面是用法示例。

此过滤器将排除以 .jpg 结尾的网址。如果所有的网站图片都嵌入在 HTML 页面中,且不应作为独立网址访问,则您可能需要使用类似的过滤器。

此过滤器会接受所有 .htm* 文件,但排除任何其他文件。

过滤部分主要功能也很明确,如果你有不希望被收录的页面或者目录,可以通过文件扩展名或者目录进行,也可以配合robots.txt 使用,比如你的后台管理路径不希望背收录,可以在robots.txt 里声明,具体robots.txt 使用方法,http://www.googlepub.com/html/200511/244.html可参考这篇文章。我的配置是这样的:

到了这一步,生成Sitemap.xml文件的参数配置就基本结束了,保存此配置文件。检查无误后,将该配置文件your_config.xml和sitemap_gen.py复制到站点根目录,然后登陆服务器,以命令行模式进入你的站点路径

键入:sitemap_gen.py --config=config.xml 然后回车运行,这个是在Windows主机下的脚本执行格式,如果是Unix主机可参照Google的中文帮助。

如果您正在测试自己的配置,并且还不准备提交 Sitemaps,以下语法可以避免 Sitemaps 与 Google 接触:

键入:sitemap_gen.py --config=config.xml --testing 然后执行

其执行结果示例为

Reading configuration file&#58 /path/config.xml

Opened URLLIST "/path/urllist.txt"

Walking DIRECTORY "/var/www/html/dir"

Walking DIRECTORY "/var/www/html/dir2"

Opened ACCESSLOG "/etc/httpd/logs/access-0.log"

Sorting and normalizing collected URLs.

Writing Sitemap file "/path/sitemap.xml.gz" with 1092 URLs

Notifying search engines.

Notifying www.google.com

Count of file extensions on URLs:

208 .html

574 .jpg

...

Number of errors: 0

Number of warnings: 0

事实上,不同的参数配置方式,执行结果会有所不同,我的执行结果中还有些警告,但是不会影响使用,大家可以作为参考:



到这里Google Sitemaps的制作就完成了,后续将会对提交部分和使用过程也作个说明,以便能够使内容完整连贯。写这个文章过程中http: //www.googlepub.com论坛的几位坛友给予了不少帮助,因此这个文章就首发在这里了,同时因本教程也未经大家验证,可能存在诸多疏漏,后续将会不断完善,如果有需要转载的,希望能标明转自http://www.googlepub.com,以方便访问者可以查看到后续补充的内容!

当我们制作的地图文件确认无误时,就可以开始向Google提交了,登陆入口地址 https://www.google.com/webmasters/sitemaps/login。如果你已经有了Gmail帐号可以直接通过其邮件认证通道登陆到Google Sitemaps,如果没有可以通过点击登陆入口下方的https://www.google.com/accounts/NewAccount? service=sitemaps&followup=https://www.google.com/webmasters/sitemaps/stats? hl=zh_CN&continue=https://www.google.com/webmasters/sitemaps/stats?hl =zh_CN&hl=zh_CN]创建 Google 帐户链接进行Google Accounts的注册,或者也可以在一些发放Gmail邀请的论坛里得到Gmail的帐户。当然本站也提供gmail邀请函,具体申请地址:http: //www.googlepub.com/bbs/viewthread.php?tid=148&fpage=1

登陆后就进入了Google Sitemaps的欢迎页面,然后点击确认按钮就进入了Google Sitemaps管理界面,点击“添加您的首个 Sitemaps 文件”的链接,就会看到简单的三个步骤说明。因为之前我们已经完成了创建Sitemap.xml和放置到网站的根目录下操作,这里我们只需在下面的 Sitemaps 网址框中输入自己网站地图的URL地址并点击提交网址按钮即可。我的输入是这样的http: //www.***.com/sitemap_index.xml,如果采用了.gz的格式的这里提醒大家需要注意别弄错了。另外关于移动 Sitemaps的相关帮助可以在这个地址https://www.google.com/webmasters/sitemaps/docs/zh_CN/faq.html#mobile获得,本文不在这里说明了。

提交以后,就可以看到这个地图的相关信息,这时候你可以看到右侧的Sitemaps状态是 “待定”,接下来点击左侧的“确认”。这个页面要求你确认状态,需要在指定的路径创建一个空的.html的文件,其文件名Google已经生成可别搞错了,然后点击“检查状态”按钮,如果该.html文件创建无误就会看到原来红色的“未确认”字样变成绿色的“已确认”,按钮也变为“察看网站状态”链接。个别情况这里会出些小问题,比如Google会返回服务器忙的信息,不用担心过一会再试就好了。

我们点“返回我的 Sitemaps”,这时候的界面显示与之前的未确认时会有所不同,原来左侧的“确认”变为“统计信息”点击可以查看了解相应的信息,右侧的“待定”变为此时的状态信息,正常会是“确定”,当然如果以上操作有误的话也会出现其他的状态信息。到这个时候,以后的工作就交给了Google来做了,当然我们也并不是一劳永逸。

另外还要根据对你自己站点的收录效果的观察,相应的对地图文件的生成配置作调整,来生成新的 Sitemap.xml然后每次都需要重新提交给Google,具体就是登陆你的Google Sitemaps帐户,然后点击最右侧的“Sitemaps 操作”下的“重新提交”。或者向 Google 发送 HTTP 请求,方法是在浏览器中地址栏中输入www.google.com/webmasters/sitemaps/ping?sitemap=http://www.***.com/sitemap.xml,成功后回返回相应的信息。

---------------------------------------------
(阅读更多文章,参见个人网站(08ko.com) )

- - - - - - - - - - - - - - - - - - - - - -
web2.0 爱好者: 研究.观察.体验。
现就读于福建集美大学。计算机专业。业余制作(08ko.com)
交个朋友,做个友情连接,分享价值.共同学习
.......QQ:522588122.......


........厦门集美大学......"