写在前面的话
SEO ,对大多人来说是个有意思的话题,不过似乎只要和搜索引擎沾边的话题都是有意思的,谁让现在搜索引擎火那。对于绝大多数中小网站管理者来说,想推广,就想到 SEO , SEO 似乎是一道神秘的灵符,只要用上它,可以保证我们的网站一夜之间流量直线上升,其实这是错误的遐想。本文作者结合其自身站点的一些经验,以及借鉴网上的一些成功经验,逐步揭开 SEO 的神秘面纱,还原 SEO 的本质,让大家对 SEO 有个清醒的认识,相信自己也可以成为 SEOer 。
SEO 是 "Search Engine Optimization" 的缩写,我们翻译为搜索引擎优化。 SEO 主要就是通过对网站的关键词,主题,链接,结构,标签,排版等各方面进行优化,使搜索引擎更容易搜索到网站的内容,并且让网站的各个网页在搜索引擎( Google 、百度、 Yahoo ……)中获得较高的评分,从而获得较好的排名。
SEO 是让我们的站点更加符合搜索引擎的胃口。说白了,就是投其所好。主流的搜索引擎有 google , baidu , yahoo ,各个搜索引擎之间还有自己细微的差别,所以想做在所有搜索引擎中排名靠前是比较困难的,所谓的 SEO 大多说针对单一的搜索引擎,并且国内外以 google 为目的 SEO 占多数。需要注意的是, SEO 是一个长期系统的过程,根据网上的经验大概是 3-6 个月才能看到成果,所以做 SEO 一定要有恒心。
SEO 只是网站推广的一种模式,且是省钱的一种方式。如果有足够的资源,没有必要把网站的所有精力都放在 SEO 上。据我所知,很多大型的网站,是没有专门做 SEO 的部门的。所以,对于 SEO 要有持有客观的认识,不迷信也不盲从。
OK ,现在我以站长小白的身份,一步一步讲解网站的 SEO 。
准备工作
立志成为站长的前提,是要有站。那就需要购买域名和空间。其实在我们购买域名和空间之前, SEO 已经开始了。
选择一个好记的,有意思,和网站定位有关的域名,对人或者搜索引擎都是一件好事。
比如专门做 SEO 的网站 http://www.seowhy.com , http://www.seo-ceo.com ,选择的域名就很好体现了 SEO 的信息和网站的定位。而比我的小站 http://www.hehexiao.com 就是一个比较失败的域名,因为通过域名很难明白这个站点的定位是什么?也许 baidu 可以理解为“呵呵笑”,勉强能和笑话网站挂上钩,但是 google 就歇菜了,不理解域名是啥意思。
稳定的空间,保证提供不间断的服务,这是非常重要。如果服务中断,而搜索引擎爬虫正在爬页面,就会严重影响我们的网站在搜索引擎内的评分,其后果就是之前做的 SEO 优化白白打了水漂,辛辛苦苦几十年一夜回到解放前,所以稳定的空间很重要。
被搜索引擎收录
域名有了,空间也有了,站也好了。剩下的工作就是网站推广了,我们用免费推广方式 -SEO 。
谈网站 SEO 优化,是有前提,我们的网站必须被搜索引擎收录,以便搜索引擎能够抓取我们站的内容,对网站内容进行索引。这样用户在使用搜索引擎搜索时才可能找到我们的站。所以如果搜索引擎没有被收录我们的站,那么谈 SEO 就是天方夜谭,痴人说梦了。
被搜索引擎收录的方式有两种:
1 :等待被搜索引擎发现并收录,这个时间可能很长,关键要看我们的站的推广程度,或者我们有足够的外部链接。只有这样搜索引擎才有可能从别的站上发现我们的站的链接,才能收录下来我们的站。持续发展外部链接,是 SEO 一直坚持的目标,不过对于刚刚成立不久的站来说,首要任务是让搜索引擎找到自己,所以与其这样被动等待,不如主动出击。
2 :把自己的网址,登录到搜索引擎,提交方式很简单,就是把自己首页提交给搜索引擎,如果我们的站点足够稳定,提交后不长时间就可生效。看一下提交到 google 注册信息。
填写内容还是很简单,添加网址的地方,注意一下,如果我们有多个域名,这个地方最好填写主域名,然后用其他域名跳转到这个域名下,评论填写网站的关键字,输入验证码,点击添加网址即可。过程就这么简单。添加后,我们怎么发现 google 的搜索引擎爬取过我们的站点那?方法很简单,看一下访问日志就可以了,比如 apache 的访问日志中有如下类似的信息
GET / HTTP/1.1
Host: example.com
Connection: Keep-alive
Accept: */*
From: googlebot(at)googlebot.com
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Accept-Encoding: gzip,deflate
就说明 googlebot 已经光临我们的站了,由抓取到建立索引,然后再到用户搜索到是需要一个过程的。所以,再过 1-2 天在 google 中,搜索 site:www.hehexiaocom 把 www.hehexiao.com 替换成你的域名,看看是否已经可以成功的在 google 上搜索到我们的站。不过这是老土的方法,我建议你注册一个 gongle 站点管理员工具去,非常有用。
以下是主流搜索引擎的登录网址
百度: http://www.baidu.com/search/url_submit.html
Google : http://www.google.com/intl/zh-CN/add_url.html
微软 Live : http://search.msn.com.cn/docs/submit.aspx
网易 - 有道: http://tellbot.yodao.com/report
有些搜索引擎为了防止恶意登录,当用户登录后网址后,搜索引擎都会返回验证文件,比如,这个文件内的内容基本上一串 md5 文件,需要把这个文件上传的根目录,通过 http://www.hehexiao.com/xxxx.html 可以访问,然后点击验证之类的按钮,这样验证就通过,这样搜索引擎就可以收录了你的站。
对于新站,百度一般需要一周到一个月的时间才能在搜索结果上展示, Google 则是 3 天到一周。一般情况下,你从搜索引擎网站登录入口提交网址两天后,可以在网站日志里看到搜索引擎机器人或百度蜘蛛过来抓取网页。
作为推广的一种方式,我们也需要把网站提交到一些目录网站比如, yahoo 目录, domz 目录。不过他们对提交网站都有限制,比如说访问量,内容等。新站很难能在初次提交就可以成功的收录。不过站发展起来后,是需要提交到这些网站。
注意 : 在做域名解析时,应该设置一个不带 www 的域名。这样,当用户使用不带 www 的域名时,可以正常访问我们的网站。
做 SEO 时需要正确处理带 www 和不带 www 域名的关系:
1 :在搜索引擎看来,带 www 和不带 www 的 URL 是不同的两个 URL ,当它们指向同一个网站时,会让搜索引擎不懂应该选择哪一个 URL 作为主要的。所以,我们建议部分符合条件的主机采用 301 重定向进行 URL 标准化设置。
2 :如果你的主机不支持 301 重定向,把首页的所有链接采用绝对地址的链接形式也可以很好解决这个问题。
3 :带 www 和不带 www 的域名对搜索引擎是同等的,任意选择其中一个作为主域名,在内部链接和友情链接时,都使用主域名,这样不会使 PR 值分散。
Robot 协议
被搜索引擎收录后,搜索引擎的蜘蛛程序就可以抓取网站内容了。我们站点上有很多内容,搜索引擎是如何找到和抓取的那?如果我希望站上所有内容都能被搜索引擎抓取还好说点,但是如果有些内容不想让搜索引擎抓取怎么办?其实搜索引擎是按一定规则进行站点内容抓取的,这个规则就是 robot 协议。
我们可以在 robot 协议中,指定搜索引擎不能抓取的目录和文件等信息,比如
User-agent:*
Disallow:/admin/
Disallow:/facebook/
Disallow:/xiaonei/
Disallow:/51/
Disallow:/wifi/
SiteMap: http://www.hehexiao.com/sitemap.xml
以上信息是对所有的搜索引擎有效,在 User-agent 处设置,为 * 时表示全部搜索引擎有效,如果只想对特定搜索引擎有效,可以单独列出他们,不能执行下面的操作,比如 taobao 的屏蔽百度 robot 协议就是,
User-agent: Baiduspider
Disallow: /
Disallow 是不能抓取的目录或者文件,上面的例子中,是设置所有搜索引擎不能抓取 /admin,facebook,xiaonei,51,wifi 等几个目录。
Sitemap ,是网站地图,下面 sitemap 会详细介绍。
网站支持 robot 协议,其实很简单,我们把上面的内容写到 robots.txt (全部小写)文件内,并把这个文件放到网站根目录即可,通过比如 http://www.hehexiao.com/robots.txt 访问到就可以,简单吧。对于 robot 也许会有这些困惑的问题。
1 :如果我们的网站上所有内容都希望搜索引擎抓取到,不设置 robot 协议可以吗?
需要说明一点,设置不设置 robots.txt 并不影响搜索引擎对网站许可内容的抓取。但是我们还是建议网站最好设置 robots.txt 文件,因为搜索引擎抓取网站时,第一个抓取的页面就是 robots.txt 文件,如果这个文件不存在,搜索引擎访问时,服务器上就会有一条 404 的错误日志,多个搜索引擎抓取页面信息时,就会产生很多的 404 错误。所以,即使什么内容都不写,最好也创建一个 robots.txt 文件放到网站的根目录下。
2 :我们的网站那些文件目录一般不需要搜索引擎抓取?
设置不被搜索引擎抓取的文件目录,比如后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片,都是没有必要让搜索引擎抓取。当然针对不同业务的网站,需要结合自己的业务,限制搜索引擎对一些页面抓取,像一些电子商务的网站,购物车,后台管理页面,包含地址信息的页面是不能设置为可以被搜索引擎抓取的。
3 :引入搜索引擎后,会对我们的服务器有何影响?
浪费我们的一些带宽资源,服务器资源。正所谓天下没有免费的午餐,如果我们想推广站点,多少需要付出些代价。
sitemap (站点地图协议)
搜索引擎的抓取程序通常会通过网站内部和其他网站上的链接查找我们的站点网页,如果我们的站点是动态生成的,或者静态页面之间没有互相连接,那么搜索引擎的抓取程序就不能完全抓取我们站点内容。 Robot 协议解决只是限制搜索引擎对特定目录的访问,并没有告诉搜索引擎,我们站上有多少内容需要被抓取。
Sitemap- 站点地图协议,正好满足这方便的需求。通过 sitemap 可以让搜索引擎全面收录我们的站点网页地址,了解我们的站点网页地址的权重分布,了解你的站点内容更新情况。
Sitemap 的结构也是很简单, sitemap 可以为 html 格式,也是为 xml 格式。 Html 格式就是把网站上所有访问 URL 罗列到一个文件内即可。这种形式不能告诉搜索引擎站点页面的权重分布,也不能告诉搜索引擎站点内容的更新情况。所以大多数支持 Sitemap 协议的网站都是 XML 格式描述 sitemap , XML 格式的 Sitemap 一共用到 6 个标签,其中关键标签包括链接地址、更新时间、更新频率和索引优先权。
比如我的网站呵呵笑话网( http://www.hehexiao.com )的 sitemap( 部分 ) 例子
<urlset xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>http://www.hehexiao.com/</loc>
<lastmod>2009-07-13T04:20-08:00</lastmod>
<priority>1.00</priority>
<changefreq>daily</changefreq>
</url>
<url>
<loc>http://www.hehexiao.com/about.php</loc>
<lastmod>2009-07-13T04:20-08:00</lastmod>
<priority>0.80</priority>
<changefreq>daily</changefreq>
</url>
</urlset>
标签含义如下
1 :changefreq: 页面内容更新频率,可以为 "always", "hourly", "daily", "weekly", "monthly", "yearly" ,意思表示“随时更新”,“按小时更新”,“按天更新”,“按周更新”,“按月更新”,“按年更新”,合理设置此标签,有利于增加搜索引擎索引效果,并可以有效减少服务器压力。比如对于时常更新的内容,此项设置为 ”always” ,对于很长时间不更新的内容,可以设置为 ”yearly”
2 :lastmod: 页面最后修改时间,非必填写项,搜索引擎参考此项并结合changefreq 标签,判断是否需要重新抓取loc 指向的内容。
3 :loc: 页面永久链接地址, 可以为静态页面,也可以为动态页面。
4 :priority: 相对于其他页面的优先权,值的范围是0.0-1.0 之间,一般首页我们设置为1.0 分,二级页面0.8 分,详情页0.64 分,依次递减,来标明网站的页面优先级。这个值的设置与网站PR 没有任何关系,仅仅是标示站点页面之间优先权,所以不要把所有的值都设置为1.0 ,即使所有的页面都很重要,也不要这样设置,如果都设置为1.0 ,其实和没设道理是一样的。
5 :url: 是前4 个标签的父标签,每个站点链接,都需要在一个单独的url 节点内,sitemap 文件的主体就是有多个url 标签组成的。
6 :urlset: 前5 个标签的父标签,sitemap 的根节点,主要作用是指定解析sitemap 的xml 的描述文件。
根据以上信息,我们很容易,编写一个搜索引擎友好的sitemap.xml 文件。编写好后怎么让搜索引擎找到sitemap 文件那?是不是像robots.txt 文件一样,放到网站根目录下了事,其实并不是这样,我们要主动告诉搜索引擎,我们的站点支持sitemap ,并告诉搜索引擎sitemap.xml 所在位置,告诉搜索引擎的方法有两种:
1 :在robots.txt 文件中,设置sitemap 。
SiteMap: http://www.hehexiao.com/sitemap.xml
注意 sitemap.xml 要写访问的全路径,不能写相对路径。
2 :自己手工到支持 sitemap 的站点去注册,这样的好处是,注册以后,我们可以了解到搜索引擎抓取 sitemap.xml 的时间,时间间隔, url 错误数等信息,并可以手工设置搜索引擎抓取的频率,速度等选项,这是第一种方式所不能提供的,如下图所示,这就是呵呵笑话网 ( http://www.hehexiao.com ) 注册到 google 后的,查看到的关于 sitemap.xml 的信息,关于这个 google 网站管理员工具使用,可以参考下面的文档。
当然自己手工提交 sitemap.xml 时,需要把 google 的验证文件,放到站点的根目录,比如我的验证文件 google8f236e839269a6db.html 。如果我们的站点,提供 wap 服务,可以单独生成一个描述 wap 的 sitemap.xml 文件,单独提交到 google 搜索引擎, google 搜索引擎会区分普通页面和 wap 页面的,当然也可以区分图片等信息。
在中文搜索上,百度占据了市场的大部分份额,所以在中国的主要搜索引擎应该是 baidu ,只能说值得庆幸的是,百度也支持 sitemap ,数据格式与 google 的格式一样,只是百度给它起了个新名字 < 互联网论坛收录开发协议 > ,可以通过以下链接,提交我们站点的 sitmap.xml
http://news.baidu.com/newsop.html
目前主流的搜索引擎都已经支持 sitemap ,比如 Google , Yahoo , Ask , MSN( 新版的 bing) 。
注意:在 robots.txt 文件中,设置 Sitemap: http://www.hehexiao.com/Sitemap.xml ,百度并不支持这种写法,百度要求 sitemap 文件的名字必须为 sitemap_baidu.xml ,这点可真够变态的。
另外一个需要注意的是Sitemap 必须为utf-8 编码格式。
以上内容大部分来自互联网,内容的具体出处无法找到,如果您认为以上内容侵害了您的版权,请及时联系我,我会在第一时间删除。联系e-mail: ugg_xchj#hotmail.com 把#替换为@。
转帖请注明: 逸学堂 http://blog.youkuaiyun.com/ugg/archive/2009/07/15/4351349.aspx
全文下载:http://download.youkuaiyun.com/source/1491823
参考资料
http://www.seowhy.com/
http://www.dunsh.org/
http://www.seo-ceo.com.cn/
http://www.hehexiao.com