谷歌搜尋算法

谷歌搜尋算法

谷歌算法始於PageRank,這是1997年拉里·佩奇(Larry Page)在史丹福大學讀博士學位時開發的。佩奇的創新性想法是:把整個網際網路複製到本地資料庫,然後對網頁上所有的連結進行分析。基於入連結的數量和重要性、及錨文本對網頁的受歡迎程度進行評級,也就是通過網路的集體智慧確定哪些網站最有用。隨著谷歌迅速成為網際網路上最成功的搜尋引擎,佩奇和谷歌的另一名創始人塞吉·布林(Sergey Brin)將PageRank這一簡單概念看做谷歌的最根本創新。PageRank具有其優勢,為帶來高質量的搜尋結果做出了貢獻。但這種過度依靠外鏈分析單一算法也具有弊端,那就是很多站長採取作弊手法來增加網站的外鏈,因此網路上有很多垃圾外鏈。為了應對這種情況谷歌13年更新了其核心算法,那就是蜂鳥算法(Hummmingbird)。在此套算法中,PageRank仍舊起很大作用,但是已經不是唯一的排名機制!隨著時間的推移,外鏈在排名中所起的作用將逐漸衰落!

基本介紹

算法簡介,算法創始,背景知識,最佳化搜尋,識別語義,不斷創新,排名因素,

算法簡介

谷歌搜尋算法
這是一個很普通的搜尋,谷歌每天要處理成千上萬的這種搜尋。但事實上這一搜尋過程十分複雜,可能使一些搜尋引擎誤解。如果把這些單詞輸入到必應,第一個結果是美國國家橄欖球聯盟的歷年球員名單,其中有一個名叫Lawyer Milloy。搜尋結果中的下面幾頁,也沒有與律師Siwek相關的內容。
這一對比顯示出谷歌算法的強大,甚至可以說是智慧型,而這是通過反覆的修正實現的。看起來谷歌擁有解讀用戶需求的神奇力量——不論是多么生僻的搜尋,或是有拼寫錯誤。谷歌將這種能力稱為搜尋質量,並且多年來一直竭力完善算法,以產生精確的搜尋結果。
2013年9月27日,谷歌公布已推出“蜂鳥”(Hummingbird)算法,徹底革新代替舊版搜尋算法,以應對來自網路用戶更長、更複雜的查詢。

算法創始

但這並不是故事的全部。人們信賴PageRank是因為它是可以進行確認的,但要提供最有用的結果還需要其他技術。這涉及對某些信號、上下文的利用,這樣對於任何查詢,搜尋引擎都能將最有用的結果排在最前面。

背景知識

網路搜尋是一個多方過程。首先,谷歌機器人獲取每個可訪問網站的內容。這些數據將被分解成一個索引(通過文字進行組織,就像書本的目錄),這樣就可以根據內容找到任何頁面。每當用戶鍵入一個查詢,谷歌就會在索引中搜尋相關頁面,然後返回一個包含多達數百萬頁面的列表。最複雜的是對列表進行排序,也就是決定哪些頁面應該出現在最上面。
此時,上下文便有了用武之地。所有搜尋引擎都會引入上下文,但沒有一個像谷歌那樣引入得那樣多、套用那樣自如。PageRank本身也是一個信號,同時也是頁面的一個屬性(指其相對於其他網頁的重要性),該屬性可以幫助確定其與查詢內容的相關性,其中的一些信號在現在看來是顯而易見的。

最佳化搜尋

一直以來,谷歌算法都對頁面的標題給與特別的關注,因此標題成為確定相關性的重要信號。另一個重要技術是錨文本,指的是超連結中的可見文本。因此, “當你進行搜尋時,搜尋引擎總能給出正確的頁面,即使該頁面中沒有你找的關鍵字。”這是谷歌早期架構師斯科特·哈桑(Scott Hassa)的觀點,他曾與佩奇和布林一起在斯坦福工作。之後,搜尋引擎關注的信號還包括新鮮度(對於一些查詢,新近的頁面比較早的頁面更有價值)和地理位置(谷歌知道搜尋者的大致地理坐標,會將本地信息排在前面)等。谷歌目前使用200多種信號來幫助確定搜尋結果的排序。
谷歌工程師發現,一些最重要的信號可能來自谷歌本身。PageRank將受歡迎程度植入了搜尋引擎:成千上萬的網站民主地決定將連結指向哪些網站。但辛格表示,谷歌工程師還利用了另一種民主 ——成千上萬使用谷歌搜尋的用戶。用戶在搜尋過程中產生的數據被證明同樣很有價值,這些數據包括他們點擊哪些結果、不滿意時對關鍵字的更改、查詢關鍵字與所處地理位置的關係等。這一過程的最直接例子就是谷歌所說的“個性化搜尋”——這是一個可選功能,利用用戶的搜尋歷史和地理位置來確定他想要找的內容(使用這項功能需要先登錄谷歌賬號)。更通常的方法是,谷歌利用其收集的大量數據支持其算法,谷歌對此有極深的理解,可以解讀隱秘查詢的複雜意圖。

識別語義

谷歌以善於鼓勵這些創新而聞名,每年公司都會舉辦“瘋狂搜尋創意”內部展示活動,以便鼓勵那些離奇但有套用潛力的創新。但大多數時候,改進的過程是充滿艱辛的,需要矢志不渝的精神,需要面對嘗試過程中的打擊。有一個不成功的搜尋已經成為傳奇:2001年,辛格得知輸入“audrey fino”時無法搜到預期內容,而只是返回一些讚揚奧黛麗·赫本(Audrey Hepburn)的印度網頁,因為在印度語中“fino”是好的意思。辛格說:“我們知道audrey fino是個人名,但我們的系統沒這么聰明。”
這一失敗使辛格花了多年時間,試圖改進谷歌對姓名的搜尋結果——因為姓名占總搜尋量高達8%。為了解決這一問題,他不得不掌握“bi-gram拆分”,也就是將多個詞分割成獨立的單元。比如,“new york”合在一起組成一個bi-gram,指的是紐約。但也有三個字的情況,比如“new york times”,意思是紐約時報,很明顯二者指的不是同一樣東西。如果用戶輸入的是“new york times square”,意思又變成了紐約時代廣場。人類可以很容易做出區分,而谷歌不是由人工控制的,它依靠的是算法。
“Mike Siwek”這一搜尋可以解釋谷歌是如何解決這一問題的。辛格輸入顯示代碼的命令後,我們就可以看到信號是如何決定搜尋結果排序的:通過bi-gram可以確定mike siwek是一個人名,lawyer是一個同義詞,mi是一個地名。辛格說:“從工程師的角度進行解構,系統會對這些詞進行分割,它會發現lawyer不是姓氏,siwek不是中間名。同時lawyer也不是密西根的一個鎮,因此它是attorney的同義詞。”
這是谷歌從無數次搜尋中獲得的可貴知識。石頭可以是“rock”,可以是“stone”,還可以是“boulder”(漂石)。如果用戶輸入“rokc”,谷歌仍會知道他想找的是“rock”。但如果在“rokc”前加“little”,谷歌則會知道這是“Arkansas”(阿肯色州)的首府。“Arkansas”的縮寫是 “ark”,與諾亞方舟同形,但谷歌會將二者區分開來。辛格說:“搜尋中最重要的是理解用戶的意圖,因此你不是在匹配詞語,而是在匹配意思。”
谷歌一直在不斷改進。近期,谷歌工程師莫琳·海曼斯(Maureen Heymans)發現了“Cindy Louise Greenslade”的搜尋結果的問題。用戶輸入這些單詞時,算法會認為應該找一個名叫Cindy Louise的人,於是在加利福尼亞的加登格羅夫市找到了一名心理學家,卻沒有把姓名為“Cindy Louise Greenslade”的人的網頁放在結果的前十名。海曼斯發現,這是因為“Cindy Louise Greenslade”習慣將名字縮寫成“Cindy L. Greenslade”。她表示:“我們的搜尋引擎應該更聰明一點。”於是她增加了一個信號,用來尋找中間名的縮寫。現在正確的結果已經被排在了第五位。

不斷創新

在任何時候,谷歌高效運轉的測試系統都會進行幾十個這種改進。谷歌在全世界專門僱傭了上百人,這些人坐在家裡的電腦前判斷更改後的結果是更好還是更差。但谷歌還有一個更大的測試團隊,這就是成千上萬的谷歌用戶,他們不知不覺地加入了這項長期的質量實驗。
每當工程師想測試一項技術調整時,他們會在一小批隨機用戶中運行這些算法,而絕大多數的用戶扮演的是參照組的角色。需要測試的更改太多,因此谷歌放棄了一次只測試一項技術調整的策略。搜尋質量工程師派屈克·賴利(Patrick Riley)表示:“在大多數搜尋過程中,你同時都處於多個‘實驗組’和‘參照組’之中。”但他隨後又做出了更正:“事實上,所有搜尋都被捲入了實驗之中,因此用戶每次用谷歌搜尋,都作了一次‘小白鼠’。”
這種靈活性——增加信號、更改代碼、立即測試的能力——就是谷歌團隊為什麼說他們可以應對來自必應Twitter和Facebook的任何挑戰的原因。事實上,在過去的六個月中,谷歌進行了200多項改進,其中一些似乎在模仿(但超越了)它的競爭對手(谷歌表示這只是巧合,稱其多年來一直在增加新功能),其中之一就是實時搜尋。
佩奇數月前曾表示谷歌應該每一秒鐘都搜尋整個網路,因此使這一功能備受期待。當用戶搜尋具有時效性的話題時,谷歌結果頁面的10個藍色連結中會有一個“最新結果”框。該框帶有拖動條,顯示的是從新聞媒體、部落格和Twitter等獲得最新內容。同樣,谷歌使用信號來確保最有用的tweet(Twitter上發布的訊息)出現在實時信息框中。
除了實時搜尋,谷歌還引入了一項新功能,稱作“Goggles”。該功能可以將用戶手機上拍攝的照片視作搜尋請求。谷歌一直努力將搜尋變成一種隨時隨地的行為,“Goggles”也是該努力的一部分。有了攝像和語音識別功能,智慧型手機就會變成你的眼睛和耳朵。只要找到正確的信號,任何東西都可以變成搜尋請求。

排名因素

Google 排名取決於以下各項,如果您的網站能夠做到的話,在排名是有相當的位置的了。
關鍵字:
1.url中的關鍵字(第一和第二個字是最有價值的......)
2.域名中的關鍵字(英文網站的優勢)
(Head部分)
3.Title tag中的關鍵字及與頁面正文的相關性(最佳長度為55個英文字元,包含空格等其他字元)
4.Description tag的撰寫,是否包含相關關鍵字及是否能很好的概述正文內容(最佳長度為155個英文字元,包含空格等其他符合。現在谷歌在搜尋結果中不再完全依賴網頁原有的title 及description,可根據搜尋詞摘取網頁內容來自定義title及description)
5.Keywords tag中的關鍵字(小於10個字,單個關鍵字必須在頁面Body部分出現2次以上才有效,否則可能會被評估為Spam而受到處罰,官方曾說明說不再依據此參數評價,但其實仍在使用)
(Body部分)
6.關鍵字在Body文字部分的密度(5 - 20% - (all keywords/ total words))
7.單個關鍵字密度(1 - 6% - (each keyword/ total words))
8.在H1、H2、H3中的關鍵字(使用H1、H2、H3字型)
9.關鍵字字型尺寸(使用黑體、粗體、斜體......)
10.關鍵字接近度(2個關鍵字之間鄰近的是最佳)
11.關鍵字短語順序
(其他部分)
12.關鍵字在Alt文字中(圖形中的Alt屬性
13.關鍵字在外部站點連結中(錨文本
導航-內部連結部分:
14.內部頁面的關鍵字(連結頁面應該包含關鍵字)
15.所有內部連結必須是有效的
16.結構樹(任何頁面不超過4層深度連結
17.低級頁面之間適當的連結
導航-外部連結部分:
18.外部頁面的關鍵字(連結須指向優秀站點,不要連結frame)
19.外部連結的錨文本(應該在此上展開主題和敘述)
20.連結穩定性(避免連結隨時變換)
21.所有外部連結是有效的
22.少於100個外部連結(官方稱限制100個,實際容許2-3次2000個)
頁面上的其他因素:
24.域名等級(.edu是最高等級,其次是.org,而.com由於包含很多spam信息,所以會受到嚴格審查)
25.檔案尺寸(頁面尺寸絕對不要超過100K,小於40K的為最佳)
26.URL中的連字元(1個或2個是最佳的,4個以上將被認為是spam,10個很可能被降級)
27.頁面更新率(對於新聞、零售、拍賣等站點更新越快越好)
28.頁面數量的更新率(老頁面與新頁面的比值)
29.連結的的更新率(尚未能分析)
30.更新頻率(更新頻率=蜘蛛的抓取頻率)
31.頁面主題
32.關鍵字衍生.....
33.語義關聯(同義詞等...)
34.潛在的語義索引
35.URL長度(儘可能的小,在IE中只允許2000個字元以內,最好控制在100字元以內)
36.站點大小(Google認為站點越大說明更大的資金支持、更好的組織、更好的架構,因此它會是好的站點)
37.站點年齡(越老越好)
38.頁面的年齡與站點上其他頁面的年齡排名不利因素(三)
39.在圖像的form中有文字描述,但Body中沒真正的文字描述;
40.鏡像站點
41.過度最佳化
42.連結一個壞站點(不要連結frame....,定期檢查每個外部連結站點在Google的狀態)
43.重定向或刷新metatags(除非用戶點擊,否則不要自動跳轉頁面)
44.不要使用一些不文明的辭彙
45.毒藥單詞
46.過多的橫向連結(在你的WEB伺服器中有多個站點,它們的橫向連結會被視為無效的投票)
47.圖片、文字的反盜鏈
48.關鍵字重複填充(降級處理)
49.關鍵字稀釋(頁面存在過多的非相關關鍵字,將會降低你真實內容的重要性)
50.頁面內容編輯會降低一致性(定期會對老的cache與新的cache進行比對,如果發現關鍵字、主題變化了,
將會影響它的評價,這是針對SEO的有效工具)
51.內容改變頻率( 過於頻繁是不利的)
52.錨文本更新率(過於頻繁是不利的)
53.動態頁面(這是搜尋引擎的缺陷,可採用縮短URL,減少變數等辦法,最好不要使用動態頁面)
54.過多的JS代碼(不要使用重定向隱藏連結功能)
55.Flash頁面(搜尋引擎的蜘蛛是不能抓取flash內容的,如果要用flash頁面,須同時有一個靜態入口頁面
56.使用frame
57.Robot中設定了“no index”的tag
58.單個像素的連結(會被認為是一個鬼祟的連結)
59.不可見的文字(文字與背景色相同,頁面上不可見,但能被蜘蛛檢索到)
60.門頁
61.內容重複(通常選一個最老的推送到前面,把其他的推送下去)
62.HTML代碼需符合W3C標準
目前,國內外的SEO都在研討網站排名的要素,聽說有一百多種。不過可以把握的技巧無非都是最根本的那幾種。目前,只需你可以針對你的網站把以上的辦法都做好,那么在google上得到一個好的排名應該是天經地義的事情

相關詞條

熱門詞條

聯絡我們