談web標準和seo關系(一)
SEO,最終做的是用戶,做的是思想,做的是理念,做的是思維。下面分析SEO和WEB標準的關系。
兩年前,我開始接觸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="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標準與seo的關系!!
【編輯推薦】