我们通过学习了解html语言的标准写法来分析这些对SEO的影响,和大家一起交流分析一下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" "">
这个实际就是定义了你的文档模型,是用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" "">
<html>
<head>
<title>demo</title>
</head>
<body>
<p><font color="#ff0000">正文内容</font><p>
<img src="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的官方网站:所有页面都是可以通过验证的,有兴趣的朋友可以去测试下,说到这里,我们的文章似乎走入了一个死胡同,既然这么多的网页不符合web标准,他们同样也能取得很好的排名和流量,那web标准与SEO到底还有啥联系呢,这个还得从html结构和解析说起.