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