提到SEO應該是以數據為基礎的,并略為展開(kāi)寫(xiě)了一些數據方面的準備工作。數據雖然是非常重要的,但它扮演的角色只能是輔助:發(fā)現問(wèn)題、總結改進(jìn)、作為決策的參考因素等,但都無(wú)法脫離既有的SEO方法而獨立存在。
而SEO的方法,應該分為兩種或四種:使網(wǎng)站對搜索引擎友好、使網(wǎng)站對搜索引擎的用戶(hù)友好。如果再考慮黑帽SEO手段的話(huà),可以額外加上兩項:使搜索引擎誤以為網(wǎng)站對搜索引擎友好、使搜索引擎誤以為網(wǎng)站對搜索引擎的用戶(hù)友好。稍有經(jīng)驗的SEO,都可以總結下,看是否有任何SEO方法可以脫離這四點(diǎn)的范疇之外。至少我從沒(méi)看到。
當然黑帽不在這系列文章的討論范疇之內,所以就以?xún)善恼聛?lái)分別簡(jiǎn)述如何對搜索引擎及其用戶(hù)友好。
本文的主題是如何讓網(wǎng)站對搜索引擎友好,這是一個(gè)非常大的話(huà)題,文章經(jīng)過(guò)幾次刪改,最終還是決定只舉一例。畢竟搜索引擎的技術(shù)涉及面實(shí)在太廣,相應需要的網(wǎng)站技術(shù)也很多,一篇文章無(wú)論如何也最多提及冰山一角,那不如只找個(gè)比較有代表性的例子,剩下的大家自行擴展。
如何使搜索引擎能夠更準確的理解網(wǎng)頁(yè)?
搜索引擎無(wú)論如何只是程序,不可能非常完美判斷互聯(lián)網(wǎng)上那么多不同網(wǎng)頁(yè)的不同情況。
搜索引擎對網(wǎng)頁(yè)分析中的主要過(guò)程之一,是將網(wǎng)頁(yè)分成一個(gè)個(gè)明確的功能區塊。如正文區塊、相關(guān)鏈接區塊、聯(lián)系電話(huà)區塊、無(wú)關(guān)廣告區塊等等。而它判斷的方式諸如:看字數多少、看HTML代碼的形式、將文字內容以自然語(yǔ)言處理來(lái)理解等等。
分塊化
一般在HTML代碼里,最好以<div>標簽來(lái)標明網(wǎng)頁(yè)上的每一個(gè)重要區塊,且每個(gè)重要的<div>里面又有一個(gè)<h2>或<h3>標簽明確指明該區塊的主題。這樣的做法可以讓頁(yè)面上每一塊內容所表達的更清晰。尤其對于搜索引擎而言,它可以通過(guò)這樣的<div>來(lái)明確它如何去給網(wǎng)頁(yè)分塊,并通過(guò)小標題去了解這分塊屬于什么樣的性質(zhì),從而判斷應該如何計算處理。
可以看到上圖中被明確歸為了三塊,且清晰指出了它們分別是關(guān)聯(lián)購買(mǎi)、技術(shù)細節與商品細節。相比之下,不少電商網(wǎng)站最上方是產(chǎn)品圖片與價(jià)格,然后第二塊區塊開(kāi)始,就把產(chǎn)品參數、產(chǎn)品描述及大量未必有用的產(chǎn)品圖片依次堆在一起,無(wú)疑就差得多了。(上圖中Product Details一塊多數內容都是自動(dòng)生成,而同時(shí)對用戶(hù)和SEO有價(jià)值的內容,這塊是被多數電商網(wǎng)站所忽略的。)
Amazon產(chǎn)品頁(yè)的SEO,在電商領(lǐng)域是最頂尖的,遠遠強出eBay等網(wǎng)站。分塊化便是其中主要原因之一。
語(yǔ)義化
這里語(yǔ)義化指的是用戶(hù)所不可見(jiàn)的HTML代碼也要具有含義,盡管這對于用戶(hù)沒(méi)有意義,但能讓搜索引擎等程序更容易理解。(當然也方便代碼維護,這是技術(shù)層面的事情了)
微數據、微格式等是已經(jīng)日漸被重視起來(lái)的概念,它無(wú)疑可以很明確的標識網(wǎng)頁(yè)上面元素的含義。這里不詳細展開(kāi)。但微數據等方式總有一定的局限性,例如它不能指定大區塊的含義,比如告訴搜索引擎,網(wǎng)頁(yè)上哪里是頭部、哪里是底部等。HTML5規范很好的解決了這個(gè)問(wèn)題,它推薦使用的<header><footer>等標簽可以非常好的展示網(wǎng)頁(yè)區塊。
不過(guò)很多網(wǎng)站目前基于很多原因還不會(huì )選用HTML5(但站在SEO的角度,應該盡力去推動(dòng)下),所以不可以用<header>等標簽,還是需要用<div>。在這樣的情況下,需要注意<div>的ID命名。例如對于搜索引擎而言,<div id="header">要比<div id="toubu">容易理解得多。而且,一般來(lái)說(shuō)可以用ID的地方不應該用CLASS,如不少設計人員喜歡不管三七二十一寫(xiě)<div class="header">。但W3C規范明確指出過(guò),具有唯一性的元素應該使用ID而非CLASS。對于搜索引擎而言,具有唯一性的元素是可以確定其出現位置的,它就更容易確定那個(gè)區塊到底在網(wǎng)頁(yè)上起到什么樣的角色。
舉個(gè)實(shí)例如,以前公司里面有一個(gè)PPC的著(zhù)陸頁(yè),明明網(wǎng)頁(yè)上出現過(guò)相關(guān)的關(guān)鍵詞,但那些詞的質(zhì)量分依然極低。分析后發(fā)現那些關(guān)鍵詞都是被寫(xiě)在<div class="footer">區塊的,這些文字就因此被當作頁(yè)面底部的和主題無(wú)關(guān)的內容,使得搜索引擎錯誤的分析了網(wǎng)頁(yè),對質(zhì)量分造成了負面的影響。
通俗化
通俗化在這里指的是不要在網(wǎng)頁(yè)上用一些難以理解的指示性文字,比如在搜索框旁邊使用“找找看”,而非常見(jiàn)的“搜索”。這會(huì )給用戶(hù)帶去一定程度的困擾,也會(huì )給搜索引擎帶去更大的困擾。
搜索引擎會(huì )通過(guò)自然語(yǔ)言處理等方式來(lái)理解這樣的文字。大致的思路如先隨機抽取1000個(gè)網(wǎng)頁(yè)樣本,先人工找出網(wǎng)頁(yè)上面的搜索區塊,再通過(guò)機器分析這些區塊一般出現什么樣的字眼最多。那么相應的在分析日后其它網(wǎng)頁(yè)的時(shí)候,出現這樣字眼的區塊也就更可能是搜索區塊。
前面提到<div>命名的時(shí)候也差不多,<div id="header"><div id="head">等,因為都是比較常見(jiàn)的,搜索引擎肯定可以因此判斷它為頭部區塊。而<div id="toubu">或更糟糕的(但不罕見(jiàn)的)<div id="h_1">等,搜索引擎就迷茫了。最終可能搜索引擎分析出來(lái)的結果不是自己想要的。
最后
前面以輔助搜索引擎理解網(wǎng)頁(yè)為例,簡(jiǎn)單介紹了讓網(wǎng)站對搜索引擎友好的思路。但搜索引擎不僅只是分析網(wǎng)頁(yè)、就以分析網(wǎng)頁(yè)而言,也遠遠不止上面這點(diǎn)內容。只能當作是思路的拓展。
如果可以的話(huà),自己從服務(wù)器環(huán)境架設開(kāi)始,從配置數據庫、從框架構建程序、書(shū)寫(xiě)前端CSS與Javascript等代碼、嘗試下Ajax、最好還自己搞定站內搜索,這樣完完整整的做一個(gè)網(wǎng)站(在虛擬空間上用WordPress選一個(gè)模板就算搭建完的明顯不算),就會(huì )發(fā)現不僅對于網(wǎng)頁(yè)設計,在網(wǎng)站的各個(gè)角落都有SEO可以?xún)?yōu)化的空間。也只有自己實(shí)際做過(guò),才能知道如何給具體技術(shù)人員寫(xiě)切實(shí)可行的文檔。
關(guān)于前面提及的一些搜索引擎方面的知識,我在看過(guò)幾本搜索引擎書(shū)后,相對而言入門(mén)級搜索引擎原理還是比較推薦《走進(jìn)搜索引擎》一書(shū)。雖然從技術(shù)角度它沒(méi)有什么獨特的觀(guān)念,但以較通俗易懂的方式很好的總結了基礎的知識,對SEO而言還是很不錯的。
另外,實(shí)際操作中總會(huì )碰上比理論中多得多的問(wèn)題。比如前面的分塊化的實(shí)現,對于一個(gè)小型B2C而言,或許SEO想到網(wǎng)頁(yè)上面加一個(gè)產(chǎn)品參數區塊時(shí),會(huì )被告知:產(chǎn)品參數還沒(méi)有錄入過(guò)呢!
這樣的尷尬事情總是存在,只能折中處理。比如在原先沒(méi)有錄入產(chǎn)品參數的情況下,可以先找網(wǎng)站某一個(gè)比較重要的商品分類(lèi)去錄入,并進(jìn)行分塊化的處理。過(guò)一段時(shí)間以數據來(lái)證明其SEO效果,以此推動(dòng)其它部門(mén)進(jìn)行更大規模的動(dòng)作。
上面提到的數據,自然是要把該商品分類(lèi)下的產(chǎn)品頁(yè)額外篩選出來(lái)看的。有沒(méi)有想起該系列文章前一篇提到的數據準備工作?此時(shí)就可以用上早已準備好的數據了。