两年前,我开始接触seo,那时候的学习热潮让我逛遍了国内大大小小的论坛和博客,把那些不知道是否有用或者无用的方法全用在了我的实践中,但是随着学习的深入。我对网上流传的各种方法产生了怀疑,当人尽皆知的发外链,写软文,堆关键词等等方法用尽后,我黔驴技穷,在排名上和流量我还是斗不过人家,同时也不得不反思SEO更深层次,更有效的操作方法,在经历了无数次的迂回之后,我回到了我的老本行“程序和前端开发”,似乎一夜之间豁然开朗,我现在所做的不正是最好的SEO吗?
诚实的说我的学习是比较封闭的,我没有达到“最好的SEO就是无SEO”的境界,也没有非常牛B的SEO实践经历,我常常思考的是如何把我现在的工作更好的融合到SEO中去,如果现在要我给SEO一个定义,那就是:网络+硬件+程序+站点结构+web标准+内容+人,网络人很多人都在讨论“内容为王”的概念,却忽视了其它的很多的因素。如果将这些因素都详细解说一遍。估计可以出一本很厚的书了,这篇文章只想与大家分享WEB标准对seo产生的影响。
正文开始:
要了解web标准和SEO的关系,必须得先了解什么是“web标准”,估计大家去网上查了非常多的解释文档,还是有点雾里看花,似懂非懂的感觉,我不想从网上抄一段话过来给大家,这样最终还是无法理解,要理解web标准,还得从构建一个基本的网页开始讲起:
例如:我要写一个最简单的网页,必须要使用html标记,比如:我要强调文字,我得用<strong>标签,我要改变文字颜色,我得再加一个<font color=“颜色”>的标签,我想另起一段,得用< >标签,我不可能用<jacu>这个毫无意义的标签来强调文字,因为根本没有这种标签,浏览器也无法解析,于是W3C(万维网协会,一个组织机构)就站出来了,对全世界互联网从业者说:“大家都提点意见,我们来把这些标签统一下,哪个能用哪些不能用;然后大家再给这些标签一个统一的,合理的解释,让大家明白这些标签是用来做什么用的”,经过无次数讨论之后。于是乎最终出台了html 1.0标准,经过后来的不断的修改和更新,渐渐有了更多的网页标准,如html 2.0.。.html 4.01,到现在大家网页中最常使用的xmhtml1.0/1.1,以及还未正式出台的xmhtml 2.0标准,标准的更新都是向前兼容的,我们在制作网页的时候,网页顶部通常有这样一句话:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
这个实际就是定义了你的文档模型,是用xhtml 1.0标准去解释的。
但是到了后来网页排版越来越复杂,仅仅是靠这些html标记无法做出漂亮,美观的页面,必须还得辅助一些其它的工具,比如我想让某个图片偏移20px,又或者想文字间隔5px,仅仅靠html实现实在是比登天还难。这个时候W3C又坐不住了,于是乎又站出来呼吁:“我们再定义一些东西可能实现这个功能”,在经过无数次的讨论之后,CSS 1.0的标准出台了。用这个可以很简单的实现内容偏移,间隔等效果。经过发展,到后面的css 2.0,css 3.0。所有人在用CSS定义样式的时候,都必须遵循这个标准。
再到了后面,人们又发现仅靠html和CSS还是不完美。它缺乏人机界面的交互,无法实现动态的效果。要是能让网页上的东西动起来就更完美了,于是w3c又出台了emascript标准,他规定了文档对象模型接口。语法等内容。比如大家常用的javascript就是符合emascript标准的。
OK,到了现在一切似乎都完美了。有了html标准,有了css标准,也有了emascript标准,我们终于可以做出很好看的网页了,我们把这些标准收聚在一起,就形成了web标准,那么什么样的网页才是符合web标准的:
比如一段html是这样写的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>demo</title> </head> <body> <p><font color="#ff0000">正文内容</font><p> <img src=http://www.chinaz.com/Webbiz/Exp/"x.jpg" /> <dl> <dt><h1>标题</h1></dt> <dd>内容</dd> <dd>内容</dd> <dl> <b>内容</b> </body> |
那么这段代码是否符合web标准呢,我们再来分析这些代码,第一行你定义了你的文档类型是xhtml 1.0,也就是说你的所有html标签的写法必须遵行这个标准,在body内的第一个<p>标签中,font标签已经在这个标准中被弃用了,color属性也在这个标签中被弃用了,所以这段话不符合web标准,再来看<img>标签,它的align属性定义了图片的对齐方式,但缺少了alt属性,在xhtml 1.0标准中,img是必须定义alt属性的.所以这段代码也不符合1.0的标准,再看dl标签,dt定义了标题,嵌套了<h1>标签,根据xhtml 1.0的定义。<dt>标签中不允许嵌套<h1>标签,所以同样也不符合1.0标准,再看最后一个<b>标签,谢天谢地。这个标签终于符合web标准了。但是w3c已经说了。我们暂时保留这个标签的意义。不过还是推荐大家使用<strong>标签,这个语义性更强。在后面新的标准中,我们可能取消<b>标签做为标准标签。关于html标准的约束请大家查看相应文档。
说到这里。我想大家都明白了。这个页面连xmhtml 1.0标准都不符合,那么肯定也不符合web标准了,至于符不符合web标准,完全在于你定义的版本.但是这段段码在浏览器中是可以正常解析的,因为我们前面说过,标准都是向前兼容的,只是不符合你现在所定义的标准而已,那么我该如何让这段代码符合我的web标准呢。只有两种办法。1.降低你的文档模型的标准(这样可能带来更多的麻烦)2.重新修改你的代码,比如把颜色放到style属性中,img加上alt属性.相比起来,我们更愿意选择第二种.
网络上有一种解释:web标准=div+css.不能用table布局.看了上面的文章,我们不难理解。这个概念纯粹是混淆视听.以偏概全.不能说table布局的网页就不符合web标准,w3c从来没有定义过用table布局就不符合标准。<table>标签一直都是各个版本的标准标签。虽然我们都是用div来布局,但我们要明白:别人推荐的做法不等于标准。
前面说到,web标准取决于我们在写html/css/js时所定义的版本,比如我html用的是xhtml 1.0标准,那么我的html也应该是要符合xhtml 1.0规范的。但是事实似乎并不是这样,互联网上几乎接近99.999%的网页都无法通过验证,总是有这样或那样的错误,w3c的官方网站:http://www.w3.org所有页面都是可以通过验证的,有兴趣的朋友可以去测试下,说到这里,我们的文章似乎走入了一个死胡同,既然这么多的网页不符合web标准,他们同样也能取得很好的排名和流量,那web标准与SEO到底还有啥联系呢,这个还得从html结构和解析说起.