WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢(qián)
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
了解搜索引擎
一個(gè)合格的SEOER必須了解搜索引擎基本工作原理。很多看似令人迷惑的SEO原理及技巧,其實(shí)從搜索引擎原理出發(fā),都是自然而然的事情。
說(shuō)到底,SEO是在保證用戶體驗(yàn)的基礎(chǔ)上盡量迎合搜索引擎。與研究用戶界面及可用性不同的是,SEO既要從用戶出發(fā),也要站在搜索引擎的角度考慮問(wèn)題,才能清晰地知道怎樣優(yōu)化網(wǎng)站。SEO人員必須知道搜索引擎要解決什么問(wèn)題?有哪些技術(shù)上的困難?有什么限制?搜索引擎又怎樣取舍?
從某個(gè)角度來(lái)說(shuō),SEO人員優(yōu)化網(wǎng)站就是盡量減少搜索引擎的工作量和降低搜索引擎的工作難度,使搜索引擎能更輕松快速地收錄網(wǎng)站頁(yè)面,更準(zhǔn)確地提取頁(yè)面內(nèi)容。不了解搜索引擎工作原理,也就無(wú)從替搜索引擎解決一些SEOer力所能及的技術(shù)問(wèn)題。當(dāng)搜索引擎面對(duì)一個(gè)網(wǎng)站,發(fā)現(xiàn)要處理的問(wèn)題太多,難度太大時(shí),搜索引擎可能就對(duì)這樣的網(wǎng)站敬而遠(yuǎn)之了。
搜索引擎與目錄[ ]
早期SEO資料經(jīng)常把真正的搜索引擎與目錄放在一起討論,甚至把目錄也稱為搜索引擎的一種,這種講法并不準(zhǔn)確。真正的搜索引擎指的是由蜘蛛程序沿著鏈接爬行和抓取網(wǎng)上的大量頁(yè)面,存進(jìn)數(shù)據(jù)庫(kù),經(jīng)過(guò)預(yù)處理,用戶在搜索框輸入關(guān)鍵詞后,搜索引擎排序程序從數(shù)據(jù)庫(kù)中挑選出符合搜索關(guān)鍵詞要求的頁(yè)面。蜘蛛的爬行、頁(yè)面的收錄以及排序都是自動(dòng)處理。
網(wǎng)站目錄則是一套人工編輯的分類目錄,由編輯人員人工創(chuàng)建多個(gè)層次的分類,站長(zhǎng)可以在不同分類里提交網(wǎng)站,目錄編輯在后臺(tái)審核所提交的網(wǎng)站,將網(wǎng)站放置于相應(yīng)的分類頁(yè)面。有的時(shí)候編輯也主動(dòng)收錄網(wǎng)站。典型的網(wǎng)站目錄包括雅虎目錄、開(kāi)放目錄、好123等。
搜索引擎和目錄兩者各有優(yōu)劣。搜索引擎收錄的頁(yè)面數(shù)遠(yuǎn)遠(yuǎn)高于目錄能收錄的頁(yè)面數(shù)。但搜索引擎收錄的頁(yè)面質(zhì)量參差不齊,對(duì)網(wǎng)站內(nèi)容和關(guān)鍵詞提取的準(zhǔn)確性通常也沒(méi)有目錄高。
限于人力,目錄能收錄的通常只是網(wǎng)站首頁(yè),而且規(guī)模十分有限,不過(guò)收錄的網(wǎng)站通常質(zhì)量比較高。像雅虎、開(kāi)放目錄、好123這些大型目錄,收錄標(biāo)準(zhǔn)非常高。目錄收錄網(wǎng)站時(shí)存儲(chǔ)的頁(yè)面標(biāo)題、說(shuō)明文字都是人工編輯,所以比較準(zhǔn)確。
搜索引擎數(shù)據(jù)更新快,而目錄中收錄的很多網(wǎng)站內(nèi)容十分陳舊,甚至網(wǎng)站可能已經(jīng)不再存在了。雅虎目錄、搜狐目錄等曾經(jīng)是用戶在網(wǎng)上尋找信息的主流方式,給用戶的感覺(jué)與真正的搜索引擎也相差不多。這也就是為什么目錄有時(shí)候被誤稱為搜索引擎的一種。
搜索引擎面對(duì)的挑戰(zhàn)[ ]
搜索引擎系統(tǒng)是最復(fù)雜的計(jì)算系統(tǒng)之一,當(dāng)今主流搜索引擎服務(wù)商都是有財(cái)力和人力的大公司。即使有技術(shù)、人力、財(cái)力的保證,搜索引擎還是面臨很多技術(shù)挑戰(zhàn)。
頁(yè)面抓取需要快而全[ ]
互聯(lián)網(wǎng)是個(gè)動(dòng)態(tài)的內(nèi)容網(wǎng)絡(luò),每天有無(wú)數(shù)頁(yè)面被更新、被創(chuàng)建,無(wú)數(shù)用戶在網(wǎng)站上發(fā)布內(nèi)容、溝通聯(lián)系。要返回最有用的內(nèi)容,搜索引擎就要抓取最新的頁(yè)面。但是由于頁(yè)面數(shù)量巨大,搜索引擎蜘蛛更新一次數(shù)據(jù)庫(kù)中的頁(yè)面要花很長(zhǎng)時(shí)間。搜索引擎剛誕生時(shí),這個(gè)抓取周期往往以幾個(gè)月計(jì)算。這也就是為什么Google在2003年以前每個(gè)月有一次大更新。
現(xiàn)在主流搜索引擎都已經(jīng)能在幾天之內(nèi)更新重要頁(yè)面,權(quán)重高的網(wǎng)站上的新文件幾小時(shí)甚至幾分鐘之內(nèi)就會(huì)被收錄。不過(guò),這種快速收錄和更新也只能局限于高權(quán)重網(wǎng)站。很多頁(yè)面幾個(gè)月不能被重新抓取和更新,也是非常常見(jiàn)的。
要返回最好的結(jié)果,搜索引擎也必須抓取盡量全面的頁(yè)面,這就需要解決很多技術(shù)問(wèn)題。一些網(wǎng)站并不利于搜索引擎蜘蛛爬行和抓取,諸如網(wǎng)站鏈接結(jié)構(gòu)的缺陷,大量使用Flash,JavaScript腳本,或把內(nèi)容放在用戶必須登錄以后才能訪問(wèn)的部分,這都提高了搜索引擎抓取內(nèi)容的難度
海量數(shù)據(jù)存儲(chǔ)[ ]
一些大型網(wǎng)站一個(gè)網(wǎng)站就有百萬(wàn)千萬(wàn)頁(yè)面,可以想象網(wǎng)上所有網(wǎng)站的頁(yè)面加起來(lái)是一個(gè)什么數(shù)據(jù)量。搜索引擎蜘蛛抓取頁(yè)面后,還必須有效存儲(chǔ)這些數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)必須合理,具備極高的擴(kuò)展性,寫(xiě)入及訪問(wèn)速度要求也很高。
除了頁(yè)面數(shù)據(jù),搜索引擎還需要存儲(chǔ)頁(yè)面之間的鏈接關(guān)系以及大量歷史數(shù)據(jù),這樣的數(shù)據(jù)量是我們用戶無(wú)法想象的。據(jù)說(shuō)Google有幾十個(gè)數(shù)據(jù)中心,上百萬(wàn)臺(tái)服務(wù)器。這樣大規(guī)模的數(shù)據(jù)存儲(chǔ)和訪問(wèn)必然存在很多技術(shù)挑戰(zhàn)。
我們經(jīng)常在搜索結(jié)果中看到,排名會(huì)沒(méi)有明顯原因地上下波動(dòng),甚至可能刷新一下頁(yè)面,就看到不同的排名,有的時(shí)候網(wǎng)站數(shù)據(jù)也可能丟失。這些都可能與大規(guī)模數(shù)據(jù)存儲(chǔ)的技術(shù)難題有關(guān)。
索引處理快速有效,具可擴(kuò)展性[ ]
搜索引擎將頁(yè)面數(shù)據(jù)抓取和存儲(chǔ)后,還要進(jìn)行索引處理,包括鏈接關(guān)系的計(jì)算、正向索引、倒排索引等。由于數(shù)據(jù)庫(kù)中頁(yè)面數(shù)量大,進(jìn)行PR之類的迭代計(jì)算也是耗時(shí)費(fèi)力。要想及時(shí)提供相關(guān)又及時(shí)的搜索結(jié)果,僅僅抓取也沒(méi)有用,還必須進(jìn)行大量索引計(jì)算。由于隨時(shí)都有新數(shù)據(jù)新頁(yè)面加入,索引處理也要具備很好的擴(kuò)展性。
查詢處理快速準(zhǔn)確[ ]
查詢是普通用戶唯一能看到的搜索引擎工作步驟。用戶在搜索框輸入關(guān)鍵詞,點(diǎn)擊搜索按鈕后,就會(huì)看到搜索結(jié)果。表面最簡(jiǎn)單的過(guò)程,實(shí)際上牽扯了非常復(fù)雜的后臺(tái)處理。在最后的查詢階段,最重要的難題是怎樣在不到一秒鐘的時(shí)間內(nèi),快速?gòu)膸资f(wàn)幾百萬(wàn),甚至幾千萬(wàn)包含搜索詞的頁(yè)面中,找到最合理、最相關(guān)的一千個(gè)頁(yè)面,并且按照相關(guān)性、權(quán)威性排列。
判斷用戶意圖以及人工智能[ ]
應(yīng)該說(shuō)前四個(gè)挑戰(zhàn)現(xiàn)在的搜索引擎都已經(jīng)能夠比較好地解決,但判斷用戶意圖還處在初級(jí)階段。不同用戶搜索相同的關(guān)鍵詞,很可能是在尋找不同的東西。沒(méi)有上下文,沒(méi)有對(duì)用戶個(gè)人搜索習(xí)慣的了解,就完全無(wú)從判斷。
搜索引擎目前正在致力于基于用戶搜索習(xí)慣及歷史數(shù)據(jù)的了解上,判斷搜索意圖,返回更相關(guān)的結(jié)果。今后搜索引擎是否能達(dá)到人工智能水平,真正了解用戶搜索詞的意義和目的,讓我們拭目以待。
搜索引擎工作原理簡(jiǎn)介[ ]
搜索引擎工作過(guò)程非常復(fù)雜,接下來(lái)我們簡(jiǎn)單介紹搜索引擎是怎樣實(shí)現(xiàn)網(wǎng)頁(yè)排名的。搜索引擎的工作過(guò)程大體上可以分成三個(gè)階段:
1)爬行和抓取 – 搜索引擎蜘蛛通過(guò)跟蹤鏈接訪問(wèn)網(wǎng)頁(yè),獲得頁(yè)面HTML代碼存入數(shù)據(jù)庫(kù)。
2)預(yù)處理 - 索引程序?qū)ψト?lái)的頁(yè)面數(shù)據(jù)進(jìn)行文字提取、中文分詞、索引等處理,以備排名程序調(diào)用。
3)排名 - 用戶輸入關(guān)鍵詞后,排名程序調(diào)用索引庫(kù)數(shù)據(jù),計(jì)算相關(guān)性,然后按一定格式生成搜索結(jié)果頁(yè)面。
爬行和抓取[ ]
爬行和抓取是搜索引擎工作的第一步,完成數(shù)據(jù)收集的任務(wù)。
為了抓取網(wǎng)上盡量多的頁(yè)面,搜索引擎蜘蛛會(huì)跟蹤頁(yè)面上的鏈接,從一個(gè)頁(yè)面爬到下一個(gè)頁(yè)面,就好像蜘蛛在蜘蛛網(wǎng)上爬行那樣,這也就是搜索引擎蜘蛛這個(gè)名稱的由來(lái)。整個(gè)互聯(lián)網(wǎng)是由相互鏈接的網(wǎng)站及頁(yè)面組成的。從理論上說(shuō),蜘蛛從任何一個(gè)頁(yè)面出發(fā),順著鏈接都可以爬行到網(wǎng)上的所有頁(yè)面。當(dāng)然,由于網(wǎng)站及頁(yè)面鏈接結(jié)構(gòu)異常復(fù)雜,蜘蛛需要采取一定的爬行策略才能遍歷網(wǎng)上所有頁(yè)面。
最簡(jiǎn)單的爬行遍歷策略分為兩種,一是深度優(yōu)先,二是廣度優(yōu)先。
所謂深度優(yōu)先指的是蜘蛛沿著發(fā)現(xiàn)的鏈接一直向前爬行,直到前面再也沒(méi)有其他鏈接,然后返回到第一個(gè)頁(yè)面,沿著另一個(gè)鏈接再一直往前爬行。
廣度優(yōu)先是指蜘蛛在一個(gè)頁(yè)面上發(fā)現(xiàn)多個(gè)鏈接時(shí),不是順著一個(gè)鏈接一直向前,而是把頁(yè)面上所有第一層鏈接都爬一遍,然后再沿著第二層頁(yè)面上發(fā)現(xiàn)的鏈接爬向第三層頁(yè)面。
在實(shí)際工作中,蜘蛛的帶寬資源、時(shí)間都不是無(wú)限的,也不可能爬完所有頁(yè)面。實(shí)際上最大的搜索引擎也只是爬行和收錄了互聯(lián)網(wǎng)的一小部分。深度優(yōu)先和廣度優(yōu)先通常是混合使用的,這樣既可以照顧到盡量多的網(wǎng)站(廣度優(yōu)先),也能照顧到一部分網(wǎng)站的內(nèi)頁(yè)(深度優(yōu)先)。
預(yù)處理[ ]
在一些SEO材料中,預(yù)處理也被簡(jiǎn)化稱為索引,因?yàn)樗饕穷A(yù)處理最主要的步驟。
搜索引擎蜘蛛抓取的原始頁(yè)面,并不能直接用于查詢排名處理。搜索引擎數(shù)據(jù)庫(kù)中的頁(yè)面數(shù)都在數(shù)萬(wàn)億級(jí)別以上,用戶輸入搜索詞后,靠排名程序?qū)崟r(shí)對(duì)這么多頁(yè)面分析相關(guān)性,計(jì)算量太大,不可能在一兩秒內(nèi)返回排名結(jié)果。因此抓取來(lái)的頁(yè)面必須經(jīng)過(guò)預(yù)處理,為最后的查詢排名做好準(zhǔn)備。
和爬行抓取一樣,預(yù)處理也是在后臺(tái)提前完成,用戶搜索時(shí)感覺(jué)不到這個(gè)過(guò)程。
排名[ ]
經(jīng)過(guò)搜索引擎蜘蛛抓取頁(yè)面,索引程序計(jì)算得到倒排索引后,搜索引擎就準(zhǔn)備好可以隨時(shí)處理用戶搜索了。用戶在搜索框填入關(guān)鍵詞后,排名程序調(diào)用索引庫(kù)數(shù)據(jù),計(jì)算排名顯示給用戶,排名過(guò)程是與用戶直接互動(dòng)的。