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