最近,由于项目需要进行网站的SEO优化,以前做企业应用没有接触过,也顺便对SEO的知识进行了学习。慢慢发现做SEO优化需要注意的地方全是我们做开发时最容易忽略的地方,如页面的Meta信息、标题、图片的alt属性等等。所以做SEO还是需要变换思路,多从搜索引擎和用户的角度考虑问题,下面就将我在工作中的经验进行总结和分享。

一、基础知识

搜索引擎的工作原理

当用户输入一个关键字点击查询后,搜索引擎会在1秒钟内将与关键字相关的信息以列表的方式展示并按相关度进行了排序,大部分的情况下在第一二页中就能够满足我们的需求。搜索引擎为什么能如此之快的将结果反馈给用户的?这就需要了解一点搜索引擎的工作原理。

搜索引擎并不是等到用户提交查询的时候再去网上漫无边迹的搜索,而是事先就已经将整个互联网中的网页搜集到本地(搜索引擎服务所在域),然后将这些搜集来的网页进行预处理,在这个过程中很重要一个算法就是谷歌创史人构建的PageRank算法(简称PR),这个算法与查询无关,因此可以离线完成,在线查询时只是使用其结果从而提高了查询的效率。而且这个算法还具有一定的反作弊能力。另一个重要的算法是HITS算法,它是与查询相关的,因此HITS算法的查询结果质量要比PageRank算法好,但是要等到用户输入时计算效率不高,另外HITS算法很容易作弊,使得引擎被人掌控制,因此在搜索引擎中并不十分适用。还有很多算法都是通过这两个算法演化而来,是人们在这两算法的基础上又增加了一些推理和假设得来的。在这里需要说明的是Google在2003年后又收购了Hilltop算法。这个算法融合了PageRank算法和HITS算法, 将页面分权的范围缩小为不是从属的网站(同站内的链接不会提高PR值),更增强了PageRank的反作弊能力。

推荐读物:《搜索引擎-原理、技术与系统》、《这就是搜索引擎:核心技术详解》

二、优化工作

我们网站的用户群在美国,因此我是进行的Google SEO,其它引擎的SEO虽然没接触,我感觉应该也是大同小异。这里主要是参考了谷歌官方的《谷歌搜索引擎优化初学者指南》。

按照指南里的每一章节对我们的网站进行了优化。指南中提及的很多细节都是我平时不会注意到的。对页面的内容进行了如下的修改:

  • 页面的Title标签,指南中要求每一个页面都要有自己的标题。即每个页面都要有且不要与其它页面相同的标题,能够最好的表达本页的内容。

  • 页面的元信息<meta name=”description”>及<meta name=”keywords”>这两个元信息是搜索引擎机器人抓取页面进行预处理时很重要的地方。这里也要用心设计,不可将无用的信息放在此处,也不要把与页面元关的关键字堆砌在这儿,当然还是不要全站使用统一的元信息。总之就是要突出每一个页面的特征,提高关键字与页面内容的相关度。

  • 使用更加易读的URL,经常可以在Google的搜索结果中看到URL直接匹配查询关键字的情况,可见Google把URL也当作匹配相关度的一个参数。指南中还指出不要过多的堆砌关键字,过于冗长等,其实这些都是很通用的规则在标题和元信息中也同样适用,但这个度没有准确的数字来衡量,如多长为冗长,多少个关键字为过多。我认为还是需要视具体的情况而定,根据页面的内容来选择,关键是不要加入与页面无关的内容。

  • 为统一的文档使用同样的URL,一般网站首页就有多个地址可以访问,如我们的网站可以通过 https://www.eddm2go.comhttps://www.eddm2go.com/homeindex.aspx 来访问。而且我们的网站还有另一个域名(兄弟网站),很多页面在两个域名下都是相同的。这样就会分散弱化这些页面的声誉值。按照指南中的方法,我在页面中加入了rel=”canonical”的link信息来表明当前页与引用页面实际是同一个页面。如果你查看我们首页的源文件就可以看到如下的内容:

<link rel="canonical"  href="https://www.eddm2go.com" />

这样就可以保证无论通过什么URL访问到此页面时,都会认为是https://www.eddm2go.com 这个页面。还可以对不希望使用的URL设立301重定向到所期望使用的URL。如把http的重定向到https,把其它域名重定向到同一域名上等。

还有一个需要注意的小地方就是指南中提到URL要用小写,这样对用户更加的友好。其实URL全小写这也算是一个编码的规范。

  • 面包屑导航,因为导航的本身也是链接,搜索引擎就喜欢链接,机器人就是通过链接在我们的站点上爬。面包屑导航还能体现出我们网站的层次,给用户的浏览带来方便,其实我们优化网站方便机器人抓取的同时也会方便用户来浏览我们的网站,所以做SEO对提高我们网站的用户体验感也有一定的帮助。

  • 不必要的动态内容,在我们的网站中人产品列表页面向产品的定制页面进通过一个服务器端的Button来完成(基于.Net),其实是通过客户端使用doPostBack脚本函数来向服务器提交页面,在服务器端处理后Redirect到了产品定制页面。而Google的机器人是不会使用脚本引擎来进行爬取的,所以根本无法抓取到产品的定制页面的内容。因此,对于想让机器人抓取的地方尽量要使用静态内容。

  • 重新设计了404错误页面,为什么要对这个页面进行优化。我们的网站中的页面可能会随着时间的推移有所变化,而搜索引擎不会实时的与我们保持同步,当搜索引擎的索引中还指向我们已经移除的页面时,用户就会得到404的错误,如果我们不精心设计一下这个页面,很可能就会损失掉好不容易才进入到我们网站的用户。其实也非常简单,提示一下用户所要查看的内容已经不存在,然后放入一些或许能够帮助用户的连接导航。

  • 图片的alt属性,这个属性也是开发过程中被忽视的一项,因为搜索引擎对多媒体的信息识别能力极为有限,因此对于图片和动画,虽然表达的内容丰富,但搜索引擎会将其忽略,那这岂不是白费了我们的苦心?这时就体现出alt属性的重要性了,通过读取alt属性的内容搜索引擎便可以知道这些多媒体要表达的信息了,搜索引擎的查询结果中也会使用alt属性的内容来产生匹配。由于图片本身也是一个URL,这时就可以应用友好的URL准则,为图片起一个有意义的名字,这样我们的网页就可能会因我们精心设计的图片名称而在用户的查询列表中出现。

  • 超链接的锚名称也十分重要,当你在Google中查询click here时,你会看到结果集中排在前几位的网页内容中根本没有与click here的匹配。这就是有很多的外链通过click here锚指到了这些页面,由此可见一个有意义的锚名称的重要性,所以我们还是不要使用click here这样的文字做锚名称了吧。

  • 页面中的内容使用<h1>..<h6>、<em>、<strong>等标签来表示重要性,在我们项目中只用到了h3,一般页面的标题用h1、二级标题h2、摘要用h3。也不要过度的使用这些标签,因为如果都是重点那就没有重点了。

  • W3C验证,这个不必须,我看了许多排在前面的网站都有很多的HTML错误。不过有时间还是可以优化一下的。验证地址:http://validator.w3.org/check

  • robots.txt 这是告知搜索引擎哪些内容不希望被抓取的,这是个普通的文本文件,内容是有协议规定的。我是通过Google的站长工具中提供的robots.txt测试工具来编写的,在工具中你可以编写你的robots规则,然后输入网址来查看是否被禁止抓取。

一个网站只能有一个robots.txt,并且位于根目录,名称也不能变。

  • Sitemap 这是告知搜索引擎你的网站都有什么网页希望被抓取的。这是标准的XML文件有专门的标准组织来制定文件的结构,这里我推荐一个工具 SiteMapX 官方网站:http://www.sitemapx.com/这是一个全免费的软件,使用起来也十分方便,只需要提供你的网站首页它就可以自动的爬取,但是不支持robots协议,因此生成的sitemap还是需要手动修改的。

一个网站可以有多个sitemap,可以在robots.txt中指定使用哪个。或通过站长工具来提交。

当然,我们还需要找一些相关的网站进行友情链接,来提高我们的PR值。当挂友情链接时,要看清对方把我们挂到的页面的PR值输出,可以通过许多站长工具来查看,PR值输出越高我们就可以获取越多的PR值。

还有就是我们网站的内容还要不断的进行更新,为用户提供更多有用的信息。不要以为SEO完就能一劳永逸,想想如果您的网站N年都没有人管了,没什么特殊情况的话在搜索结果的前十页中出现的概率为0。

三、总结

SEO与其它的技术不同,不是做好了你就肯定会在第一位,而是互相竞争的局面,你做的好如果你的对手比你做的还好,那么你还是在别人后面。SEO可能不是一两天就看到效果的,也不是一劳永逸的。需要有耐力有定力长期的坚持下去。今天早上我用every door direct mail这个关键词在Google里搜索,结果我们的网站排序还是不理想,发现第一页中的很多页面的PR值、关键字频度都不如我们的网站,但竟然排一页!真是如站长工具中所说的,影响结果的因素有200多个 ,看来任重道远呀。

最后要说的就是千万不要作弊,如加入关键字堆叠的页面,添加很多外链的页面,这种仅供搜索引擎使用的网站机器人会被认为是欺骗。或去关注度高的论坛网站刷网站地址,其实像论坛这样的网站中一般都会加入rel=”noflow”来指示机器人不跟踪链接。这样你铺天盖地的散布链接但搜索引擎并不会理会,而可能会被人举报为作弊。搜索引擎处理作弊也是非常严厉的,可能会将你的网站从索引中移除,严重的还会加入黑名单永不收录。