如何为网站添加sitemap文件
授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/241)的形式标明文章原始出处和作者信息及本声明。什么是sitemap?简单的说,就是一个xml文件,定义了你网站“主要栏目”的结构,以方便搜索引擎更好的建立索引和抓取文件。是对一些从其他页面不怎么链接得到的页面尤其有用,更详细的信息可以查阅Wikipedia上的说明。
Google是支持sitemap的,Google帮助中的How do I create a Sitemap file?一文列举了一些生成sitemap的方式和工具,我采取的是第一种——sitemap protocol方式,详细说明在这里,英文好的朋友可以直接去啃,不用看我在下面罗嗦了。
第一步,准备工作
由于Google Sitemap Generator是使用python语言编写的,所以需要python 2.2以上的版本支持,其余的要求如要有文件的访问权等等不再详述。由于我的操作系统是Ubuntu,所以python支持也没问题。
从http://www.sourceforge.net/project/showfiles.php?group_id=137793&package_id=153422下载Google Sitemap Generator的程序文件,在本机建一个目录把它解压缩。
第二步,创建配置文件
把刚才解压缩得到的example_config.xml文件另存为config.xml,并编辑之:
base_url=”http://www.example.com/”
store_into=”/var/www/docroot/sitemap.xml.gz”
verbose=”1″
>
其中base_url是网站地址,store_into是sitemap文件的地址,最好使用绝对路径,于是上面的内容修改为:
base_url=”http://www.fwolf.com/”
store_into=”/home/fwolf/sitemap.xml.gz”
verbose=”1″
>
接下来修改** MODIFY or DELETE **开头的sitemap生成方式定义部分,要删除掉不打算使用的生成方式,按照xml语法标签来分,生成方式有以下几种:
- url,网页地址,附加定义为最后修改时间,更新周期,优先级,个人认为这种方式比较麻烦。
- urllist,通过一个包含网页地址列表的文件,可以定义文件优先级,个人认为这种方式还不如直接使用urllist文件省事。
- directory,文件地址,附加定义为文件、对应网址、默认索引页,个人认为这种方式比较适合我们,因为在本机一般都会有一套比较完整的网站文件,用他们来生成sitemap再合适不过了。
- accesslog,网站日志文件,有必要么?
- sitemap,sitemap节点文件,主要用于把多个分散的sitemap文件集合起来。
在这里我们删除掉其他的方式,只保留directory方式,并对其进行修改,结果如下:
path=”/home/fwolf/website”
url=”http://www.fwolf.com/”
default_file=”index.html”
/>
<directory
path=”/home/fwolf/website/wordpress”
url=”http://www.fwolf.com/blog”
default_file=”index.php”
/>
<directory
path=”/home/fwolf/website/bnt”
url=”http://www.fwolf.com/bnt”
default_file=”index.php”
/>
<directory
path=”/home/fwolf/website/dokuwiki”
url=”http://www.fwolf.com/dokuwiki”
default_file=”index.php”
/>
注意一般简单的网站只要有一个directory就可以了,但也可以有多个directory段,仅当你的网站是用子目录来划分栏目,也就是对应到本机不一定放在一个目录下调试的情况下才建议使用。可以用default_file来定义首页文件。
接下来修改FILTERS段,索引文件过滤部分。过滤规则是自上而下匹配的,匹配动作action有两种drop和pass,drop明确不索引文件,pass则是索引文件(但也有可能被后面的规则排除),匹配规则type可以是wildcard或者regexp,wildcard是使用通配符*和?来匹配文件,regexp自然就是正则表达式了。注意默认的匹配动作是drop不索引文件,所以要想简单的索引所有文件,这一段留空就可以了。
这里我只简单的屏蔽掉信息产业部备案文件保存的那个目录,注意pattern是要和完整的网址进行匹配,略微不同于apache conf文件中的rewrite规则写法。
第三步,运行Google Sitemap Generator
很简单,./sitemap_gen.py –config=config.xml 就可以了,生成的sitemap文件会保存在刚才定义的store_into目录中,要想解压缩查看的话,用gunzip -d sitemap.xml.gz解开就可以了。一定要仔细查看这个sitemap文件,并根据它的内容,再去修改config.xml,反复直到满意为止。
最后,登录Google Webmaster Tools提交你的sitemap文件即可。
Google Sitemap Generator生成的sitemap文件中还是存在很多不必要的文件的,比如dokuwiki和wordpress的源文件、说明文档有上千个,手工和用FILTERS来去除我觉得都不是很方便, 所以再介绍一种更简单的添加sitemap的方式,就是纯文本文件,例如:
http://www.fwolf.com/blog/
http://www.fwolf.com/bnt/
http://www.fwolf.com/dokuwiki/
上述内容保存为sitemap.txt,然后上传到网站根目录,就可以到Google Webmaster Tools里面提交了,使用地址http://www.fwolf.com/sitemap.txt,注意每行一个网址,不能有其他任何内容,最好放在网站的根目录下。相对于使用Google Sitemap Generator生成sitemap.xml来说,我觉得这种纯文本文件的方式更简单、实用,包含的内容也更容易控制,应该更适合小型网站使用。
No tags for this post.
Save to Browser Favorites
Ask
backflip
blinklist
BlogBookmark
Bloglines
BlogMarks
Blogsvine
BUMPzee!
CiteULike
co.mments
Connotea
del.icio.us
DotNetKicks
Digg
diigo
dropjack.com
dzone
Facebook
Fark
Faves
Feed Me Links
Friendsite
folkd.com
Furl
Google
Hugg
Jeqq
Kaboodle
linkaGoGo
LinksMarker
Ma.gnolia
Mister Wong
Mixx
MySpace
MyWeb
Netvouz
Newsvine
PlugIM
popcurrent
Propeller
Reddit
Rojo
Segnalo
Shoutwire
Simpy
sk*rt
Slashdot
Sphere
Sphinn
Spurl.net
Squidoo
StumbleUpon
Technorati
ThisNext
Webride
Windows Live
Yahoo!
Email This to a Friend
If you like this then please subscribe to the
December 12th, 2006 at 12:55:49
您好!
可是如何上传到网站的根目录下呢?
比如,我现在想给我的博客(http://binqiangliu.bloggerspaces.com/)添加sitemap,怎么讲sitemap文件上传上去呢?
如果可以,请指点一下哦,binqiangliu@gmail.com
谢谢先!
祝好!
静侯佳音!
[Reply]
April 11th, 2008 at 10:10:20
您好
如果我更新了一些页,是不是要重新生成一下sitemap呢?
[Reply]
April 11th, 2008 at 13:22:46
如果更新涉及到sitemap中的内容,当然应该重新生成了
所以有些网站和插件的sitemap是动态生成的。
[Reply]