文章系统图片系统下载系统个人求职企业招聘房产系统展会系统供求系统产品系统商城系统自定义系统后台一览
解决方案
建站知识
SEO实践:让网站对搜索引擎友好
来源:网络作者:网络

在该系列文章的第一篇中,提到SEO应该是以数据为基础的,并略为展开写了一些数据方面的准备工作。数据虽然是非常重要的,但它扮演的角色只能是辅助:发现问题、总结改进、作为决策的参考因素等,但都无法脱离既有的SEO方法而独立存在。

SEO的方法,应该分为两种或四种:使网站对搜索引擎友好、使网站对搜索引擎的用户友好。如果再考虑黑帽SEO手段的话,可以额外加上两项:使搜索引擎误以为网站对搜索引擎友好、使搜索引擎误以为网站对搜索引擎的用户友好。稍有经验的SEO,都可以总结下,看是否有任何SEO方法可以脱离这四点的范畴之外。至少我从没看到。

当然黑帽不在这系列文章的讨论范畴之内,所以就以两篇文章来分别简述如何对搜索引擎及其用户友好。

本文的主题是如何让网站对搜索引擎友好,这是一个非常大的话题,文章经过几次删改,最终还是决定只举一例。毕竟搜索引擎的技术涉及面实在太广,相应需要的网站技术也很多,一篇文章无论如何也最多提及冰山一角,那不如只找个比较有代表性的例子,剩下的大家自行扩展。

如何使搜索引擎能够更准确的理解网页?

搜索引擎无论如何只是程序,不可能非常完美判断互联网上那么多不同网页的不同情况。

搜索引擎对网页分析中的主要过程之一,是将网页分成一个个明确的功能区块。如正文区块、相关链接区块、联系电话区块、无关广告区块等等。而它判断的方式诸如:看字数多少、看HTML代码的形式、将文字内容以自然语言处理来理解等等。

分块化

一般在HTML代码里,最好以<div>标签来标明网页上的每一个重要区块,且每个重要的<div>里面又有一个<h2>或<h3>标签明确指明该区块的主题。这样的做法可以让页面上每一块内容所表达的更清晰。尤其对于搜索引擎而言,它可以通过这样的<div>来明确它如何去给网页分块,并通过小标题去了解这分块属于什么样的性质,从而判断应该如何计算处理。

一个最典型的实例是Amazon的产品信息页面:

可以看到上图中被明确归为了三块,且清晰指出了它们分别是关联购买、技术细节与商品细节。相比之下,不少电商网站最上方是产品图片与价格,然后第二块区块开始,就把产品参数、产品描述及大量未必有用的产品图片依次堆在一起,无疑就差得多了。(上图中Product Details一块多数内容都是自动生成,而同时对用户和SEO有价值的内容,这块是被多数电商网站所忽略的。)

Amazon产品页的SEO,在电商领域是最顶尖的,远远强出eBay等网站。分块化便是其中主要原因之一。

语义化

这里语义化指的是用户所不可见的HTML代码也要具有含义,尽管这对于用户没有意义,但能让搜索引擎等程序更容易理解。(当然也方便代码维护,这是技术层面的事情了)

微数据、微格式等是已经日渐被重视起来的概念,它无疑可以很明确的标识网页上面元素的含义。这里不详细展开,可见:http://support.google.com/webmasters/bin/answer.py?hl=zh-Hans&answer=99170(微数据更重要的意义可能在于提升网页在SERP里面的点击率。对于电商网站,仅以此提升几倍SEO流量完全不是不可能的)。但微数据等方式总有一定的局限性,例如它不能指定大区块的含义,比如告诉搜索引擎,网页上哪里是头部、哪里是底部等。HTML5规范很好的解决了这个问题,它推荐使用的<header><footer>等标签可以非常好的展示网页区块。

不过很多网站目前基于很多原因还不会选用HTML5(但站在SEO的角度,应该尽力去推动下),所以不可以用<header>等标签,还是需要用<div>。在这样的情况下,需要注意<div>的ID命名。例如对于搜索引擎而言,<div id="header">要比<div id="toubu">容易理解得多。而且,一般来说可以用ID的地方不应该用CLASS,如不少设计人员喜欢不管三七二十一写<div class="header">。但W3C规范明确指出过,具有唯一性的元素应该使用ID而非CLASS。对于搜索引擎而言,具有唯一性的元素是可以确定其出现位置的,它就更容易确定那个区块到底在网页上起到什么样的角色。

举个实例如,以前公司里面有一个PPC的着陆页,明明网页上出现过相关的关键词,但那些词的质量分依然极低。分析后发现那些关键词都是被写在<div class="footer">区块的,这些文字就因此被当作页面底部的和主题无关的内容,使得搜索引擎错误的分析了网页,对质量分造成了负面的影响。

通俗化

通俗化在这里指的是不要在网页上用一些难以理解的指示性文字,比如在搜索框旁边使用“找找看”,而非常见的“搜索”。这会给用户带去一定程度的困扰,也会给搜索引擎带去更大的困扰。

搜索引擎会通过自然语言处理等方式来理解这样的文字。大致的思路如先随机抽取1000个网页样本,先人工找出网页上面的搜索区块,再通过机器分析这些区块一般出现什么样的字眼最多。那么相应的在分析日后其它网页的时候,出现这样字眼的区块也就更可能是搜索区块。

前面提到<div>命名的时候也差不多,<div id="header"><div id="head">等,因为都是比较常见的,搜索引擎肯定可以因此判断它为头部区块。而<div id="toubu">或更糟糕的(但不罕见的)<div id="h_1">等,搜索引擎就迷茫了。最终可能搜索引擎分析出来的结果不是自己想要的。

最后

前面以辅助搜索引擎理解网页为例,简单介绍了让网站对搜索引擎友好的思路。但搜索引擎不仅只是分析网页、就以分析网页而言,也远远不止上面这点内容。只能当作是思路的拓展。

如果可以的话,自己从服务器环境架设开始,从配置数据库、从框架构建程序、书写前端CSS与JavaScript等代码、尝试下Ajax、最好还自己搞定站内搜索,这样完完整整的做一个网站(在虚拟空间上用WordPress选一个模板就算搭建完的明显不算),就会发现不仅对于网页设计,在网站的各个角落都有SEO可以优化的空间。也只有自己实际做过,才能知道如何给具体技术人员写切实可行的文档。

关于前面提及的一些搜索引擎方面的知识,我在看过几本搜索引擎书后,相对而言入门级搜索引擎原理还是比较推荐《走进搜索引擎》一书。虽然从技术角度它没有什么独特的观念,但以较通俗易懂的方式很好的总结了基础的知识,对SEO而言还是很不错的。

另外,实际操作中总会碰上比理论中多得多的问题。比如前面的分块化的实现,对于一个小型B2C而言,或许SEO想到网页上面加一个产品参数区块时,会被告知:产品参数还没有录入过呢!

这样的尴尬事情总是存在,只能折中处理。比如在原先没有录入产品参数的情况下,可以先找网站某一个比较重要的商品分类去录入,并进行分块化的处理。过一段时间以数据来证明其SEO效果,以此推动其它部门进行更大规模的动作。

上面提到的数据,自然是要把该商品分类下的产品页额外筛选出来看的。有没有想起该系列文章前一篇提到的数据准备工作?此时就可以用上早已准备好的数据了。