How does Google Search Engine work? by Matt Cutts

讓Google工程師Matt Cutts告訴我們,Google的搜尋引擎是如何運作的?

 

目錄傳送門

 

Google的搜尋引擎是如何工作的?

他怎麼會知道我們要找什麼?

用什麼方式回應給我們想要的答案?

    正確理解Google搜尋引擎工作的原理,知道Google為什麼回應給我們這個結果列表,知道搜尋引擎最根本的工作方式之後,我們就很自然的能夠判斷很多SEO的方法是不是正確的,不會被一些似是而非的說法影響自己的判斷。

 

這部影片:How Search Works,是Google的工程師Matt Cutts所拍攝,為我們解說了Google搜尋引擎的工作原理。

 

    當我們使用Google搜尋時,並不是真的在這麼短的時間內搜尋了整個網路,這是不可能的事情。

    這段時間,Google是去Google的資料庫裡,找出和我們搜尋字詞相關的網頁,並評估與我們所詢問問題的關聯性,依據各種演算法、規則猜測我們想要哪些答案,依據這個關係把搜尋結果SERPs條列給我們。

 

那Google的搜尋引擎是怎麼工作的?

工作第一步:用搜尋引擎機器人(搜尋蜘蛛spider)爬取網頁

    Google藉由搜尋引擎的蜘蛛爬取網頁,從一開始爬取的網頁取的連結,藉由連結爬到另一個網頁上繼續擷取內容,如此不斷地循環。

搜尋引擎蜘蛛透過連結爬取網頁

    搜尋引擎搜尋、擷取網頁的程式我們習慣都叫他蜘蛛、或bots機器人,因為這支機器人的行為就像蜘蛛一樣,在網際網路的這張網路上不斷地爬行;這支程式的正式名稱通常都會叫作xxxxbots,如Google的bots就有Googlebot、Google Adsbot等…在網站瀏覽紀錄裡面就可以看到這些bots的名字出現,當然除了Google以外,其他搜尋引擎(Bing、Yahoo、百度、Yandex、Naver等也都有其各自的bots名稱。

 

enlightened網頁要能出現在搜尋引擎的結果中,第一步就是必須要允許搜尋引擎瀏覽、並索引我們的網頁,如果網站禁止搜尋引擎索引網頁,那就不可能會有任何的搜尋排名。

搜尋引擎是否能收錄網頁內容,有分全站、單頁設定兩種

全站設定

檢查網站的根目錄底下應該會有一個"robots.txt"的檔案,這個檔案規定了搜尋引擎是否可以瀏覽、索引這個網站的內容,以及這個網站有哪些資料夾是禁止搜尋引擎讀取、索引的。

單頁設定

在每一個網頁的程式碼開頭區域( <head> 以及 </head> )之間,會有一段meta描述,這段描述會特別註記這個頁面是否允許搜尋引擎索引、或者跟隨此網頁的連結再索引下一個頁面。

 

工作第二步:將爬取來的網頁分析、拆解、歸納、建檔,收入Google的索引資料庫中

    Google通過爬取,知道了這個網頁的存在,並且將這個網頁的內容擷取收錄到資料庫中。在收錄資料的時候就會預先分析這個網頁的內容了。

搜尋引擎索引、分類爬取回來的頁面

搜尋引擎索引、分類爬取回來的頁面

 

最基礎會先分析連結以及字組

連結(PageRank PR)

  • 這個網頁是從哪個連結爬過來的?來源連結的網頁品質分數有多高?權重分數又有多高?
  • 這些連過來的網站,他們是哪種性質的網站?他們的主題、內容是什麼?與這個網頁有關連嗎?
  • 連過來的網站之中,有哪些是優良的網站?哪些是一般性質的網站?哪些網站的內容品質不佳?甚至是否來自垃圾網站?

 

PageRank公式是由Google創辦人Larry Page 和Sergey Brin共同開發,他會根據指向網頁的外部連結數量,以及這些連結的重要性來評估網頁的重要程度。

 

    PageRank是讓Google超越早期搜尋引擎只能媒合關鍵字的問題,能夠發覺頁面的價值,推送適合的頁面,而不會將使用關鍵字炸彈填塞的頁面推薦給搜尋者;因為這項技術逐漸讓Google成就搜尋引擎霸主的地位。

 

    如今Google仍然持續更新優化PR值的計算公式,目前PR值、連結分析仍然在Google的排名要素中占有很重要的地位。

 

字組(關鍵字Keywords)

  • 這個網頁的標題是什麼?他說明了哪些內容?是否能夠充分闡述這個網頁的內容?
  • 這個網頁裡面有多少大標題、小標題、段落標題?這些段落標題又代表哪些意義?
  • 網頁中的文章,以及每一個段落是否能呼應網頁的標題主旨、段落的大綱?
  • 網頁中的上下文、前後內容是否互相呼應,說明的是同一件主旨?關鍵字的使用是否適當,有沒有過度填塞關鍵字等。
  • 爬過來這個網頁的連結,是用哪些文字描述這個連結?這個連結是否有充分說明這個網頁的內容、性質?

 

    除了連結、關鍵字以外

  • 信任

Google還會分析這個網域的性質、分數,如這個網域存在多久?這個網域的網站大致上是什麼性質的?這個網站裡面大多數都在說明、編寫哪些內容?這個網域是否曾經是垃圾網域、或者過去曾經有頁面帶有惡意程式碼等… 這些都會組成網站、網頁的信任分數。

  • 結構化標記-看懂文字

而現在的Google更加進步,透過各種標記:html、css等得內容標記,以及schema.org結構化標記,讓Google Search Engine能夠分析這個網頁的每一個段落、每一個文字各式什麼意思,如價格、金額、日期、數字評分、姓名、作者… 因為人類是閱讀文字、圖面,並立即分析解譯內容,而機器人讀得是程式碼、以及文字碼,所以需要我們將這些內容預先標注,讓搜尋引擎能夠看懂這些字元的意義。

  • 知識圖譜-理解內容

Google的知識圖譜(Knowledge Graph)將Google Search Engine不只是分析關鍵字位置、分佈、數量,也不只是媒合關鍵字,在這裡,知識圖譜的引入讓搜尋引擎能夠分析出這個網頁在講述什麼內容,這些內容又與哪些事物有關連;也許未來有一天,搜尋引擎能夠如人類一樣理解網頁、以及網站的內容是在說明今天天氣如何,或者是今天的天氣很美好。

 

   OK,之前的部份都是搜尋引擎早在我們啟動搜尋之前,就已經進行過的大量工作,截至影片發佈的2010年,Google已經花費超過1百萬小時以上的運算時間,索引超過1億GB以上的資料,到了現在2017年,我想這個數字至少膨脹超過10倍、甚至是百倍以上。

 

    接下來,是我們開始搜尋之後的動作,接下來描述的內容這些分析、運算工作,包含將資料傳送到我們的手機、電腦;這一切,Google都在0.5秒之內處理完畢。因為Google希望將網頁下載的時間降低到0.5秒以下

 

工作第三步:分析搜尋語意,理解搜尋意圖

    (ok,Google 幫我找xxxxx) ,當我們啟動搜尋功能,不論是越來越多的語音搜尋,或者是在搜尋框內敲入關鍵字的文字搜尋,當搜尋需求送出的那一剎那,Google搜尋引擎就開始了他的工作。

    過去,如影片中的說明,Google會開始將我們輸入的內容拆解成關鍵字,並開始檢索所有已經編目的網頁中,有哪些網頁含有這些關鍵字。

    現在,隨著導入知識圖譜、人工智慧、深度學習等等的各種技術,以及搜尋字詞的多樣變化,Google已經開始試著理解、並分析我們輸入的內容。從過去分析出關鍵字詞,到現在開始分析出我們的意圖,然後根據這個意圖開始挑出符合的內容。

字詞、字義、同義字分析

    當搜尋內容我們打錯字的時候,過去可能會回覆同樣打錯字的網頁,或者有分析常見錯字而特別編輯此種關鍵字的頁面,但是Google現在則會嘗試理解我們的意思,在搜尋結果中詢問我們是否要查詢這個內容?

搜尋錯字仍可找到,Google嘗試理解我們的搜尋

即使輸入錯誤的搜尋字,Google仍然會嘗試理解我們的意思,並回應正確的結果

 

搜尋意圖、關聯字分析

    知識圖譜、人工智慧的引入,讓Google也能夠理解我們搜尋的意圖,以及分析網頁的內容和相關性,不再只是關鍵字的匹配。

google圖片搜尋:美國總統的老婆

我們輸入的文字,並沒有附帶任何的人名,但是Google已經能理解我們文字串連在一起的語意,並回應出答案。

 

    除了這些以外,Google甚至還會利用我們過去的搜尋、搜尋字詞的變化,搜尋內容查看的頻率,所有人的搜尋趨勢變化,我們現在的外在環境、條件等各種要素,去分析我們搜尋的真正意圖,和想要的答案。

    過去,我們透過搜尋趨勢查看關鍵字熱度,並分析關鍵字、思索相關連的字詞,在網頁內的各個位置佈建關鍵字詞。未來,我們應該是要分析使用者的需求、理解他們的目的,並試圖解答他們的疑惑。關鍵字詞的使用,仍然會存在,但是使用的意義,以及操作手段將逐漸式微。

Google在2012年發佈知識圖譜,第一次告訴我們,Google 搜尋引擎正試著了解網頁的內容意義,以及我們輸入的搜尋辭意。

 

    2016年2月26日,負責Google搜尋服務的總裁Amit Singhal退休,由AI專家John Giannandrea接手,未來將由機器學習系統主導Google搜尋引擎的發展。

 

    2016年3月,Google的AlphaGo打敗世界棋王,正式宣告人工智慧時代來臨。

 

工作第四步:將搜尋字詞與頁面內容結合,探尋最好的搜尋結果,並試圖給予答案

    搜尋引擎在背後看不到的地方工作了那麼久,終於要回應給我們一個搜尋結果了。

 

enlightened在影片發佈的2010年,搜尋引擎工作仍然以Keywords關鍵字關聯為主:

將具有同樣關鍵字的網頁挑出之後,依據關鍵字佈署在頁面標題、大綱、內文的位置、頻率、前後文的關係,以及該頁面的價值(PR),網址、網站的信任評級等。根據影片說法,在2010年Google已經使用了200多項指標(我們稱之為排名要素)來分析這些網頁和搜尋詞語的關係,依據這200多個問題算出每一個網頁的分數,然後將搜尋結果提供給我們。

 

heart但到了現在,引入了知識圖譜、人工智慧的搜尋引擎,已經不只是關鍵字的挑選、指標的分數排序。

    既然搜尋引擎已經開始能夠理解網頁的內容,也開始能夠理解我們搜尋的意圖,現在搜尋引擎已經開始嘗試將這些互相結合:猜測我們想要的,並回答我們的問題。這些判斷依據,已經不只是過去關鍵字匹配、以及分數等級的計算。

    人工智慧的搜尋引擎會根據各種各樣不同的條件,給予每一個人不同的搜尋答案。這些條件有得很明顯,如:我過去的搜尋經驗、所反應我我的興趣、職業、年齡、性別...等個人化指標;現在是什麼時間,早上、下午、晚上、深夜?這陣子我所在的區域有什麼重大的事件;我所在的地方附近有哪些地標等…

這是我自己的一個經驗

    在大約早上十點左右,我在台南前往高雄的路上,預期到高雄中午可以先去吃個飯,然後再去上課。於是我搜尋了"Google:\\高雄 午餐"

    Google給我的回應非常有意思,第一個是地圖,我所在位置的地圖,然後內容都是有提供"早午餐"的餐廳,列表下面的才是高雄目標地點附近的午餐餐廳。

    這個例子中,Google判斷了我的位置,我在車上的移動速度,還有我的搜尋詞,給予了這些有趣的回答。同樣的"午餐"搜尋詞,在深夜的現在,回應的第一個仍然是地圖,但是內容卻是午餐、早午餐都有,而SERP下面的列表就明顯很混亂了,台北、台中、台南的午餐、早午餐等內容都有。

 

    而既然Google已經開始試圖分析、理解我們搜尋的意圖,那是不是可以直接回答答案呢?這個問題的答案是顯而易見的。

搜尋單詞+翻譯,Google會直接回應給我們Google翻譯的結果

搜尋貨幣匯率,Google會告訴我們現在的匯率是多少

搜尋天氣,Google也是直接告訴我們,我們所處位置的天氣預報資料…

在過去,可能都是一個個的搜尋結果,告訴我們哪些網頁裡面可能有我們要得答案。在今天,Google已經直接回應我們需要的答案。

Google搜尋今天天氣的結果畫面

Google:\\今天天氣,Google已經會直接跟給予氣象預報資料,而不再是氣象局或者新聞台的氣象頁面。

 

 

 

了解Google...

    不論Google搜尋的技術怎麼演變,最重要的就是要記得,Google是一家廣告公司,他主要的收入是來自於搜尋頁面的關鍵字廣告

    Google為了要能夠賣關鍵字廣告,必須要讓廣告有效、精準,所以他會持續的優化、分析使用者的意圖,根據搜尋目的、需求內容投放適合的廣告,只有廣告出現在適合的地方,廣告才會有效,廣告主也才會願意付錢購買;而根據使用者的需求投放廣告,而不是大量亂撒廣告,因為廣告與需求相符合,我們對於廣告的厭惡才會降低,甚至是會去接受廣告的內容。

    廣告的投放來源是他的搜尋引擎,只有搜尋引擎持續有人使用,並且使用頻率更多、更高,Google才更會有更多機會販賣廣告。所以Meta在影片末尾才會有這麼一段話【Google的重要使命就是要為使用者提供實用且客觀的搜尋結果,絕不會透過收費方式將網站加入索引、提高網站的更新頻率,或提昇網站排名】

    Google當初能夠打敗其他搜尋引擎成就霸主之路,就是因為他的搜尋結果不是混亂、受操弄的,而今而後,只有他的搜尋結果能夠持續、更加的貼近人心,符合人們更嚴苛的期待,甚至是能夠解答人們的疑惑,人們才會繼續使用搜尋引擎。

    因此Google不可能、也絕不會接受任何付費調整排序的作法,也會積極打擊各種試圖研究演算法、鑽漏洞的作弊排序行為,搜尋引擎的公正以及正確性,是Google立基的核心,不可能為了一點蠅頭小利而自毀長城。

    了解搜尋引擎運作的方式,再看過Google的SEO基礎教學指南,判斷各個SEO公司的說法、作法是否正確、恰當。他們是否使用黑帽、灰帽手法試圖操弄排名,損害您的利益?或者他們是否不求進步,仍然使用過去的方法操作。

當Google的搜尋引擎已經會因為不同人,給予個人化的搜尋結果,因為時間、地點、趨勢的變動而調整搜尋得排序;有誰可以做任何保證,搜尋結果一定在第n名?

 

 

當Google的搜尋引擎能夠理解整個網站的主體內容,分析、評論整個網站的經營、品質,又有誰能夠單獨說,我只作這幾個頁面的SEO、或者我只將這幾個頁面作到第幾名?