Daily Archives: 2011年6月2日

1 post

Pagespeed,Yslow与SEO的关系

受一位朋友之托,最近大半年都在做一個企业站的google优化,也就是所谓的SEO(Search engine optimization),中文为“搜索引擎优化”。之前有一个不错的排名,在3月底经历了一次服务器攻击导致网站被黑之后,排名一下从第一页消失,之后任凭怎么做都没有起色,只有一个产品页面在20、30位左右徘徊。曾经一度以为我的方法有问题,但是在5月30日把pagespeed得分从75%提高到94%之后,首页一下恢复了排名重回第一页。欣喜之余,也把此次经验总结,顺带谈一下我对SEO此概念的理解,供大家参考。

排名波动风波

接手该网站是在2010年12月左右,该站使用wordpress搭建,仅仅是内容方面。一上来把该做的基础内容都做了,sitemap、死链检查、url优化、必要的重定向、关键词/内容重排、更换域名、外链添加推广、内链优化、title、alt属性添加等等等等。因为是第一次接手seo,下的功夫一点都没含糊,到2011年1月份左右开始有成效,具体排名情况如下:

  • 1月:从100多名到30多名,此阶段工作主要做的是url优化,关键词重填等基础工作,少量添加外链(1~3个高质量外链);
  • 2月:从30多名到10多名,此阶段工作更换域名、外链添加推广、内链优化,内容添加;
  • 3月:稳定在前10名,此阶段是对前几阶段的补充优化调整,直到现在还在继续,少量添加外链;
  • 3月末:22日服务器被黑,26日被上传异常页面,28日排名下滑,29日发现并处理,31日所有排名消失
  • 4月:上旬100名之外;中旬产品页面在30~60位波动,下旬产品页面在30位左右,首页消失
  • 5月:产品页面在20~40位波动,首页排名100位之外;从3月到5月该做的一直在做,之前的工作一直没有中断,5月30日针对网站页面进行了优化,主要是yslow和pagespeed的评分建议,评分从原来的75%到94%。
  • 6月:首页排名恢复,直接出现在第一页(前十),产品页面第三页

排名波动经验教训与Pagespeed, Yslow

首先要说的是,我并不认为针对pagespeed和yslow的优化是完全无用的。

从3月底到5月底两个月的时间里,我所有的优化工作一直在进行,从未中断。但是首页排名一直没有恢复,只有产品页面一直在20~40位左右波动,这种情况持续了整整两个月。因为站点域名为关键词,而且首页针对关键词做了特殊优化,从权重上来说首页权重肯定比一个站点的次要未经特殊优化的页面高。但是恰恰这个页面能稳定在前三页,本身就说明我其它方面的工作比较到位,所以问题肯定出在站点首页上

在参照pagespeed和yslow优化之前,我也根据网上的各种经验、建议进行了大量的调整和优化,包括调整内链、增加首页曝光率(其实一直以来做外链都是首页)等等,收效甚微。

在5月30日参照pagespeed和yslow进行优化后,首页排名在两天后就恢复并且顺利进入前十,从这点可以看出,首页没有排名的关键性因素就在于首页过于臃肿,载入速度慢。

从此次事件对于SEO的关系思考

SEO的全称为”Search engine optimization”,即为“搜索引擎优化”。之所以沿用到今天还在使用SEO这个英文单词的缩写,就是因为这个概念是从国外流传过来的,并且相关权威绝大部分是在国外,包括专家、资料、从业人员等等*。所以,直接引用SEO的英文概念(Via WIKI)来开始接下来的讨论:

*用不正当手法提升百度排名或者短期、不稳定提升google排名的现象不在此文讨论范围之列,有相关需要的朋友请直接Alt+F4.

Search engine optimization (SEO) is the process of improving the visibility of a website or a web page in search engines via the “natural” or un-paid (“organic” or “algorithmic”) search results….Optimizing a website may involve editing its content and HTML and associated coding to both increase its relevance to specific keywords and to remove barriers to the indexing activities of search engines. Promoting a site to increase the number of backlinks, or inbound links, is another SEO tactic.

中文翻译:

搜索引擎优化(SEO)是一个在“自然的”或者“非付费的”(自然或算法的)搜索结果中提升曝光率的过程…优化一个网站涉及到编辑内容、HTML及关联代码以便提高与某关键词的相关度,并移除对搜索引擎的搜索障碍。增加回链、入链(backlinks)来推广站点是另一种SEO策略。

从以上文字不难看出,SEO的本质(至少说是同等重要因素当中的一个)是“编辑内容和HTML及相关的代码以便提高与某关键词的相关度,并移除对搜索引擎的搜索障碍”,接下来才是对外部资源(入链、inbound links)的优化。

这句话可以视为SEO的不二准则,概括起来就是“内容相关、对搜索引擎友好,增加外链”。大家注意看我的句式,内容相关与对搜索引擎友好是并列关系,排在第一位的,而增加外链是其次。

很多SEO新手的眼睛都在盯着一些所谓大牛的“技巧”上,而忽视了内容的相关性和对搜索引擎的友好程度。比如说一直在寻求外部链接、到处在留言评论系统里留下链接等等。这些其实是一个很大的误区,且不说外部链接的质量(更别说nofollow属性的评论),就算花费大量精力把排名提升,访客到网站一看,内容乱七八糟,死链一堆,甚至找不到与自己搜索关键词相关、有用的内容,肯定在短时间内跳出页面,造成Bounce Rate偏高,Page View和visitor Loyalty等关键数据的偏低。

SEO纵然发展了很多年,但是不要忘了搜索引擎发展的时间更长,SEO的终点早已不是访客到页面的瞬间,访客到目标页面之后的一系列动作已然成为SEO更为关键的阶段。Google早已将上述所说的一系列指标作为排名的依据(在我看来),而且微软也有从IE中搜集用户行为改善搜索结果的动作。随着Google推出chrome的普及,Google对访客行为统计分7能力已不局限于安装了google analytics代码的网站,但凡使用chrome浏览器行为的用户都可以为Google搜索排名算法提供强有力的数据收集能力。所以,内容对访客有没有吸引力、用户体验是否足够好到让访客停留足够长的时间、访客是否有进一步的行动(联系、询盘、下单),这都将成为SEO的关键,单纯以提高排名为目的的优化行为已经落后于时代,必然失败。

*其实后半截内容已经有些涉及到SEM(搜索引擎营销)这方面了,当然,在这里不再过多讨论,一来我对SEM了解不多,二来这里还是主要讲大家比较熟悉的SEO,不想分散中心。

刚才前半部分说的都是“内容”和“用户”,下面说一下“对搜索引擎”的友好度。首先就是内容的友好度,先从最容易理解的说起,就是html、js、css等代码。为什么说div布局比传统的table布局好呢,因为div布局把大量代码独立到了css里,最大限度的突出了内容,方便了搜索引擎的收录。之所以举这个最为浅显的例子,是为了让大家接受SEO当中的“对搜索引擎友好”这个概念,这样大家都容易接受,未接下来的一些话做个铺垫。

另外,对搜索引擎友好,自然首先要做到内容的真实、对访客有吸引力。对于搜索引擎来说什么最重要?当然是访客!访客需要什么信息?当然是真实、有效、能满足访客搜索信息需要的(文字所表达出来的信息,而非代码等这些“内容”)。所以,归根到底最为重要的还是网站的内容,这也是为什么众多SEO大牛都认同一句话甚至将这句话当作口头禅的原因:“内容为王”。作为网站首先就要把内容放对。怎么做?很简单,在邮件往来中,客户最常问的问题是什么?花半天一天的时间归结整理一下,大概的方向就出来了,不外乎是是否是产品有哪些,质量控制如何,产品参数如何,怎么寄样,如何付款,怎么联系。当然,最重要的价格一般我们是都不会放的,尤其是作为soho,能让客户转移注意力的自然就是和他扯价格。很多人都以为凡是不能说得太细,要慢慢谈,那是扯淡!一个经销商要从几十个经销商中挑选一个,连最基本的一些包装等细节都要一封邮件一封邮件的问,我看连最基本的合作可能都没有。更可悲的是整个网站看下来,通篇都是“best quality, biggest manuafcturer”这类空洞的话语,偏偏连个像样的图片都没有,半点数据看不到,哪怕是一丝想要的信息都没有,最后得到的信息仅限于“产品、联系方式、公司名称、中国”。产品特色、优势在哪儿都不知道,如何让客户有兴趣和你继续繁冗耗时耗力的邮件交谈?

做好了基本的内容只是基础,还有更细节的问题需要挖掘–代码优化。回到这post的开头部分,我犯下最大的错误就是竟然忽视了基本的页面优化。其实我并没有忽略,只是做pagespeed和yslow实在繁琐,对于php入门都不算的我来说实在勉为其难。但是现在仔细想想,自己确实不象话。可以优化到143k的页面竟然有391k,首页可以有13个加载项竟然做到31个,页面载入时间可以做到0.87秒竟然一直放任在1.72秒,所有数据竟然高达2倍甚至3倍多。这就意味着用户、搜索引擎(搜索引擎现在也载入js、iamge,不要被误导,因为js直接关系到最终页面效果)需要花费2到3倍的时间来加载页面,这个测试是美国网站测试,我的空间也是美国空间,如果换成其它地方的用户那就更可怕,200多k的内容大小差值的载入时间(有可能是10秒甚至直接显示网页超时)足以让客户发疯直接关掉网页。别看几句js代码,几行css语句,哪怕是图片压缩比率差1%而导致图片相差几k大小,这些都是很细节的东西,但最终累计下来的就是成片客户的流失乃至以倍作为单位来衡量的利润损失。所谓细节决定成败,就是这个道理吧。切记,代码优化的根本是为了更好的传达信息,而不是为了优化代码而优化。

SEO中高端从业朋友建议都去看看www.gtmetrix.com这个网站对客户的网站做一个测试,志在Google排名前三页的,至少做到90%分以上,别看减少的有可能只是几十k,但是载入速度/二次载入速度有可能是十倍以上的差距,为什么?js、css、图片的缓存时间和cookies free这两项设置至关重要。一个启用gzip压缩后的页面html和txt所占的大小不超过3k(自己可以试试看),也就是说,将近99%以上的内容是js、css、图片所占用。为这些内容设置了缓存时间,在短时间内第二次访问是直接载入缓存,不需要加载的,只要加载不到3k的内容,那速度是秒开,火箭一般的速度!以我的网站为例,第一次访问,未优化的网站将近半M的内容和经过优化的143k内容的时间对比,优化后的次级页面只载入txt(次级页面共用大部分js和css);第二次访问只加载txt内容与重新完全加载所有内容的对比,只要有点常识的人都知道,载入时间可能是数十倍的差距。单就这一项就值得我们去做,更别说我做了pagespeed和yslow之后短时间内恢复首页排名的例子。

当然,pagespeed和yslow里的东西远远不止这些,更多好处暂时没有深刻体会到,所以暂时没法细说,但是作为世界顶尖搜索引擎所提出来的标准,我相信肯定是有益而无害的。

这里说到的代码优化,初级的朋友可以不用深究,毕竟很多需要涉及asp、php代码之类的东西,大家只要把自己能做到的尽量做到就好。如果非要从头开始学这些做优化,很难说付出和收获一定成比例。

Pagespeed与Yslow优化成绩参照

以下图是我做pagespeed和yslow成绩的一个图标,为了方便一些朋友,我粗略讲解一下。

第一图,黄色的(HTML D/L Time)是html代码载入时间(除去外置js、外置css和多媒体之外的纯txt内容),蓝色的(Page Load Tme)是整个页面载入时间。未优化之前的整个页面最大载入时间是1.72秒,优化之后最小载入时间是0.87秒;未优化之前html代码载入时间最大是1.34秒,优化之后最小载入速度是0.31秒。
页面载入时间

第二图,黄色的(Total Page Elements)是整个页面所有项目数,未优化之前最大数是34,优化后最小是13;蓝色(HTML Size)是HTML代码大小,未优化之前4.41k,优化之后3.84K;红色的(Total Page Size)是整个页面大小,未优化之前最大值381K,优化后最小值143.86K。
页面大小和总请求数

第三图,黄色的(Page Speed Score)是Pagespeed得分,未优化最小值73%,优化后最大值96%(后来因为所有图片整合到css里实施难度大的问题放弃一项最终值是94%,以下yslow同);蓝色的(Yslow Score)是Yslow得分,未优化最小值71%,优化后最大值96%(最终值94%,原因同上)。
Page Speed 和 YSlow 得分

其它附录

这里是一些这个post中相关的一些posts,希望对有这方面需要的朋友能有所帮助。

  • Gtmetrix:同时提供Page Speed和Yslow在线测试的网,此post中所提及的测试数据皆来源于此
  • Wp Minify: wordpress快速优化的工具(减小页面大小),能简单有效地提高wordpress站点的Page Speed和Yslow得分。如果自己站点是Wordpress的朋友,可以尝试一下
  • YSlow 和 Page Speed 优化:详细介绍如何提供Page Speed和Yslow得分的post