此語言為機器翻譯,尚未經過人工審閱。

科技 · 文章

搜尋引擎如何運作:網頁爬蟲、索引編製和排名解釋

發布:

重點

搜尋引擎透過三個不同階段來尋找、儲存和排列網頁:網頁爬蟲(發現網頁)、索引編製(分析和儲存網頁)和排名(針對特定查詢排列網頁)。Google 在其開發人員文件中描述了此過程,而且研究人員和業界分析師已經文件化了底層資料結構和基於連結的排名方法(例如原始 PageRank 公式)超過二十年。

此版本是原文(English)的機器翻譯。 閱讀原文

在搜尋框中輸入問題並在瞬間獲得答案看起來很快,但這依靠三個在輸入查詢之前就已發生的過程:網頁爬蟲、索引編製和排名。Google 在其開發人員文件中說明了這個三階段模型,其他搜尋引擎也採用相同的基本框架。

網頁爬蟲:在網路上尋找網頁

網頁爬蟲是發現階段。根據 Google 的開發人員指南,稱為爬蟲的自動程序(Google 的爬蟲稱為 Googlebot)主要透過三個途徑尋找新網頁或更新的網頁:重新訪問他們已知的網頁、跟蹤從一個網頁到另一個網頁的超連結,以及讀取網站所有者直接提交給搜尋引擎的網站地圖檔案。

Google 的文件指出 Googlebot 有行動版和桌面版,而且大多數爬蟲請求現在來自行動爬蟲,因為 Google 主要為網頁的行動版建立索引。爬蟲也使用最新版本的 Chrome 瀏覽器來呈現網頁,以便執行 JavaScript,因為許多網站動態載入內容,而不是將其作為純 HTML 提供。

爬蟲不會不分青紅皂白地擷取所有內容。Google 的指南指出,Googlebot 的爬蟲請求受到演算法節流,大多數網站通常平均只被訪問大約每幾秒一次,且 Googlebot 尊重網站所有者在 robots.txt 檔案中設定的規則。擷取的大小也有上限:大多數檔案類型最多 2MB,PDF 最多 64MB,之後 Googlebot 會停止下載並使用已檢索的部分。

索引編製:組織已發現的內容

取得網頁後,搜尋引擎必須決定該網頁的內容和是否值得儲存。Google 的文件將此描述為分析文字、圖像和影片內容、讀取 HTML 元素(例如標題標籤和圖像替代文字),以及應用正規化 — 將相近重複的網頁分組並選擇一個代表版本在結果中顯示。

至關重要的是,Google 指出爬蟲網頁不保證會被索引:網頁可能因內容品質低、阻止索引的 robots 中繼標籤或網站技術問題而被排除。這是網站所有者有時在 Google 工具中看到的「已爬蟲 – 目前未被索引」狀態的技術基礎。

在幕後,搜尋引擎使用的儲存結構通常是倒排索引。如 GeeksforGeeks 發佈的技術概述所述,倒排索引翻轉了通常的文件對單詞關係:它不是列出哪些單詞在哪個文件中,而是列出每個單詞包含在哪些文件中。建立倒排索引涉及將文字分解為各個詞條(標記化)、移除常見填充詞,以及在記錄每個詞條出現位置之前將單詞變化正規化。這種結構讓搜尋引擎能直接跳到查詢的相關文件,而不是逐行掃描整個網路,GeeksforGeeks 概述將其描述為一旦文件集合增長到很大規模,速度會慢得不切實際。

排名:為查詢排列結果

排名發生在有人搜尋的時刻。Google 的文件指出,在所有與查詢相符的索引網頁中,系統按相關性對它們進行排序,而相關性是由其所謂的「數百個因素」決定的,這些因素可能包括使用者位置、語言和裝置等訊號。Google 也明確聲稱它不接受付款以提高有機網頁的排名,且排名是以程式方式進行的。

最早且文件記載最詳盡的排名訊號之一是 PageRank,根據 SEO 分析公司 Ahrefs 編製的歷史記錄,PageRank 由 Google 共同創辦人 Larry Page 和 Sergey Brin 在 1997 年於史丹佛大學創建,並於 1998 年 1 月首次申請專利。PageRank 將每個指向網頁的超連結視為一票信任票,每票的值由連結頁面的權威性加權。原始公式包含 0.85 的阻尼因子,用於模擬使用者從起始網頁越遠點擊連結的可能性越低的情況。

Ahrefs 的概述指出,PageRank 不再是一個獨立的分數 — 透過 Google 工具欄的公開訪問在 2016 年結束 — 但 Google 自己的 Gary Illyes 表示,連結仍然輸入到該公司在 E-E-A-T(經驗、專業知識、權威性、可信賴性)下分組的更廣泛的權威訊號。Google 也已轉向合理衝浪者模型,根據真實訪客點擊某些連結的可能性對其進行加權,而不是在網頁上的每個連結之間平均分配權威。

為什麼網頁可以被爬蟲但在搜尋中仍然不可見

這三個階段解釋了網站所有者常見的一個困惑來源:網頁被爬蟲並不意味著它被索引,被索引也不保證排名高。Google 的指南直言這一限制,指出即使網站遵循 Google 發佈的指南,它也不能保證給定的網頁會被爬蟲、索引或提供。

搜尋的三個階段,比較
階段發生了什麼關鍵來源細節
網頁爬蟲機器人透過連結、網站地圖和先前訪問發現和取得網頁Googlebot 將請求節流到大約每個網站每幾秒一次,並遵守 robots.txt(Google 搜尋中心)
索引編製內容被分析,相近重複項被分組,網頁被儲存在資料庫中儲存通常使用倒排索引將單詞對應到包含它們的文件(GeeksforGeeks)
排名索引網頁針對特定查詢進行排序Google 表示相關性取決於「數百個因素」;PageRank(1997 年)是最早的基於連結的訊號之一(Ahrefs)

常見問題

搜尋引擎使用的三個主要階段是什麼?
根據 Google 自己的開發人員文件,網頁爬蟲(發現網頁)、索引編製(分析和儲存網頁)和排名(為索引網頁排列特定查詢的順序)。
被爬蟲是否意味著網頁會在搜尋結果中顯示?
不是。Google 的文件指出爬蟲不保證索引編製,索引編製也不保證網頁會針對任何給定查詢提供。
什麼是 PageRank,它仍然被使用嗎?
PageRank 是由 Larry Page 和 Sergey Brin 在 1997 年創建的基於連結的排名方法,將連結視為權威投票;根據 Ahrefs,它仍然用作 Google 使用的許多訊號之一,儘管其公開工具欄分數在 2016 年被停用。
什麼是倒排索引?
它是一種資料結構,將每個單詞對應到包含它的文件列表,而不是列出哪些單詞出現在哪個文件中,根據 GeeksforGeeks 技術概述,它允許搜尋引擎快速檢索相符的網頁,而不是掃描每個文件。
Googlebot 如何決定爬蟲網站的頻率?
Google 的文件指出爬蟲頻率是以演算法方式設定的,對於大多數網站,Googlebot 通常平均訪問網站的頻率不超過大約每幾秒一次,同時也遵守 robots.txt 規則。

來源

  1. Google Search Central — In-Depth Guide to How Google Search Works
  2. Google Search Central — Googlebot documentation
  3. Ahrefs — The Evolution Of Google PageRank
  4. GeeksforGeeks — Inverted Index

本文由人工智慧撰寫,發布前已通過自動來源查核。如發現錯誤,請申請更正。 申請更正或回應 · 我們如何製作

相關文章