Home >> Blog >> 搜尋引擎的工作原理:抓取、索引和排名
搜尋引擎是回答的機器。它們的存在是為了發現、理解和組織互聯網的內容,以便為搜尋者提出的問題提供最相關的結果。
為了顯示在搜尋結果中,您的內容首先需要對搜尋引擎提供可被看見的條件。這可以說是 SEO 難題中最重要的部分:如果找不到您的網站,您將永遠無法出現在 SERP(搜尋引擎結果頁面)中。
搜尋引擎是如何工作的?
搜尋引擎通過三個主要功能工作:
- 爬行:在 Internet 上搜尋內容,查看他們找到的每個 URL 的代碼/內容。
- 索引:存儲和組織在爬取過程中發現的內容。一旦頁面在索引中,它就會在運行中顯示為相關查詢的結果。
- 排名:提供最能回答搜尋者查詢的內容,這意味著結果按最相關到最不相關排序。
什麼是搜尋引擎抓取?
爬行是搜尋引擎派出一組機器人(稱為爬蟲或蜘蛛)來尋找新的和更新的內容的發現過程。內容可能會有所不同——它可以是網頁、圖像、視頻、PDF 等——但無論格式如何,內容都是通過連結發現的。
Googlebot 從獲取幾個網頁開始,然後按照這些網頁上的連結查找新的 URL。通過沿著這個連結路徑跳躍,爬蟲能夠找到新內容並將其添加到名為Caffeine的索引中——一個包含已發現 URL 的龐大數據庫——稍後當搜尋者正在尋找該 URL 上的內容是很適合。
什麼是搜尋引擎索引?
搜尋引擎處理和存儲他們在索引中找到的訊息,這是一個包含他們發現的所有內容的巨大數據庫,並且認為足以為搜尋者提供服務。
搜尋引擎排名
當有人執行搜尋時,搜尋引擎會在他們的索引中搜尋高度相關的內容,然後對這些內容進行排序,以期解決搜尋者的查詢。這種按相關性對搜尋結果進行排序稱為排名。一般來說,您可以假設網站排名越高,搜尋引擎認為該網站與查詢越相關。
可以阻止搜尋引擎爬蟲訪問您網站的部分或全部內容,或者指示搜尋引擎避免將某些頁面存儲在其索引中。雖然這樣做可能是有原因的,但如果您希望搜尋者找到您的內容,您必須首先確保爬蟲可以訪問它並且可以索引。否則,它就像隱形一樣好。
在 SEO 中,並非所有搜尋引擎都是平等的
許多初學者想知道特定搜尋引擎的相對重要性。大多數人都知道 Google 擁有最大的市場份額,但針對 Bing、Yahoo 等進行優化有多重要?事實是,儘管存在30 多個主要的網路搜尋引擎,但 SEO 社區確實只關注Google。為什麼?簡短的回答是,Google是絕大多數人搜尋網路的地方。如果我們將Google圖片、Google地圖和 YouTube(Google的一個資產)包括在內,超過 90%的網路搜尋發生在Google上——這幾乎是必應和雅虎加起來的 20 倍。
爬行:搜尋引擎能找到你的網頁嗎?
正如您剛剛了解到的,確保您的網站被抓取並編入索引是出現在 SERP 中的先決條件。如果您已經有一個網站,最好先查看索引中有多少頁面。這將對 Google 是否正在抓取並找到您想要的所有頁面以及您不想要的頁面產生一些深刻的見解。
檢查索引頁面的一種方法是“site:yourdomain.com”,這是一種高級搜尋運算符。前往Google並在搜尋欄中輸入“site:yourdomain.com”。這將返回 Google 在其索引中針對指定網站的結果:
Google 顯示的結果數量(請參閱上面的“關於 XX 個結果”)並不准確,但它確實讓您清楚地了解哪些頁面已在您的網站上編入索引,以及它們當前在搜尋結果中的顯示方式。
要獲得更準確的結果,請監控和使用 Google Search Console 中的索引覆蓋率報告。如果您目前沒有免費的Google Search Console 帳戶,您可以註冊一個。使用此工具,您可以為您的網站提交網站地圖,並監控實際已將多少提交的頁面添加到 Google 的索引等。
如果您沒有出現在搜尋結果中的任何位置,可能有以下幾個原因:
- 您的網站是全新的,尚未被抓取。
- 您的網站未連結到任何外部網站。
- 您網站的導航使機器人很難有效地抓取它。
- 您的網站包含一些稱為爬蟲指令的基本代碼,這些代碼會阻止搜尋引擎。
- 您的網站因垃圾連結策略而受到 Google 的處罰。
告訴搜尋引擎如何抓取您的網站
如果您使用 Google Search Console 或“site:domain.com”高級搜尋運算符,發現您的一些重要頁面從索引中丟失和/或您的一些不重要頁面被錯誤地編入索引,您可以進行一些優化實施以更好地指導 Googlebot 如何抓取您的網路內容。告訴搜尋引擎如何抓取您的網站可以讓您更好地控制索引中的內容。
大多數人都在考慮確保 Google 可以找到他們的重要頁面,但很容易忘記您可能不希望 Googlebot 找到某些頁面。這些可能包括內容稀少的舊 URL、重複 URL(例如電子商務的排序和過濾參數)、特殊促銷代碼頁、登台或測試頁面等。
要引導 Googlebot 離開您網站的某些頁面和部分,請使用 robots.txt。
robot.txt
Robots.txt 文件位於網站的根目錄(例如 yourdomain.com/robots.txt),並建議您的網站搜尋引擎應該和不應該抓取哪些部分,以及它們抓取您網站的速度,通過特定的 robots.txt 指令。
Googlebot 如何處理 robots.txt 文件
- 如果 Googlebot 找不到某個網站的 robots.txt 文件,它會繼續抓取該網站。
- 如果 Googlebot 發現某個網站的 robots.txt 文件,它通常會遵守建議並繼續抓取該網站。
- 如果 Googlebot 在嘗試訪問網站的 robots.txt 文件時遇到錯誤並且無法確定該文件是否存在,它將不會抓取該網站。
並非所有網路機器人都遵循 robots.txt。不懷好意的人(例如,電子連結地址抓取工具)構建不遵循此協議的機器人。事實上,一些不良行為者使用 robots.txt 文件來查找您的私人內容所在的位置。儘管阻止爬蟲訪問諸如登錄和管理頁面等私人頁面似乎是合乎邏輯的,這樣它們就不會出現在索引中,但將這些 URL 的位置放在可公開訪問的 robots.txt 文件中也意味著有惡意的人可以更輕鬆地找到它們。最好對這些頁面進行 NoIndex 並將它們關在登錄表單後面,而不是將它們放在您的 robots.txt 文件中。
在 GSC 中定義 URL 參數
一些網站(最常見於電子商務)通過將某些參數附加到 URL 來使相同的內容在多個不同的 URL 上可用。如果您曾經在網上購物,您可能已經通過過濾器縮小了搜尋範圍。例如,您可以在亞馬遜上搜尋“鞋子”,然後按尺碼、顏色和款式細化您的搜尋。每次優化時,URL 都會略有變化:
Google 如何知道向搜尋者提供哪個版本的 URL?Google 在自己確定代表 URL 方面做得很好,但是您可以使用 Google Search Console 中的 URL 參數功能來告訴 Google 您希望他們如何處理您的頁面。如果您使用此功能告訴 Googlebot“不抓取帶有____參數的 URL”,那麼您實際上是在要求對 Googlebot 隱藏此內容,這可能會導致這些頁面從搜尋結果中刪除。如果這些參數創建重複頁面,這就是您想要的,但如果您希望這些頁面被索引,則不理想。
爬蟲能找到你所有的重要內容嗎?
現在您已經了解了一些確保搜尋引擎抓取工具遠離您的不重要內容的策略,讓我們了解可以幫助 Googlebot 找到您的重要頁面的優化。
有時,搜尋引擎將能夠通過抓取找到您網站的某些部分,但其他頁面或部分可能由於某種原因而被遮擋。確保搜尋引擎能夠發現您想要索引的所有內容,而不僅僅是您的主頁,這一點很重要。
問問自己這個問題:機器人可以爬過你的網站,而不僅僅是爬到它上面嗎?
您的內容是否隱藏在登錄表單後面?
如果您要求用戶在訪問某些內容之前登錄、填寫表格或回答調查,搜尋引擎將不會看到這些受保護的頁面。爬蟲肯定不會登錄。
您是否依賴搜尋表單?
機器人不能使用搜尋表單。有些人認為,如果他們在他們的網站上放置一個搜尋框,搜尋引擎將能夠找到訪問者搜尋的所有內容。
文本是否隱藏在非文本內容中?
不應使用非文本媒體形式(圖像、視頻、GIF 等)來顯示您希望被索引的文本。雖然搜尋引擎在識別圖像方面做得越來越好,但不能保證他們能夠閱讀和理解它。最好在網頁的 <HTML> 標記中添加文本。
搜尋引擎可以跟隨您的網站導航嗎?
正如爬蟲需要通過來自其他網站的連結來發現您的網站一樣,它也需要您自己網站上的連結路徑來引導它從一個頁面到另一個頁面。如果您有一個希望搜尋引擎找到的頁面,但它沒有與任何其他頁面連結,那麼它就像不可見一樣好。許多網站都犯了一個嚴重錯誤,即以搜尋引擎無法訪問的方式構建導航結構,從而阻礙了它們在搜尋結果中列出的能力。
常見的導航錯誤可能會阻止爬蟲查看您的所有網站:
- 擁有顯示與桌面導航不同結果的移動導航
- 菜單項不在 HTML 中的任何類型的導航,例如啟用 JavaScript 的導航。Google在抓取和理解 Javascript 方面做得更好,但它仍然不是一個完美的過程。確保某些內容被 Google 找到、理解和索引的更可靠的方法是將其放入 HTML 中。
- 個性化,或向特定類型的訪問者顯示獨特的導航而不是其他人,可能看起來像是在隱藏搜尋引擎爬蟲
- 忘記通過導航連結到您網站上的主頁 - 請記住,連結是爬蟲跟蹤到新頁面的路徑!
這就是為什麼您的網站必須具有清晰的導航和有用的 URL 文件夾結構的原因。
你有乾淨的訊息架構嗎?
訊息架構是在網站上組織和標記內容以提高用戶效率和可查找性的實踐。最好的訊息架構是直觀的,這意味著用戶不必費力思考就可以瀏覽您的網站或查找某些內容。
你在使用網站地圖嗎?
網站地圖就是它聽起來的樣子:您網站上的 URL 列表,爬蟲可以使用這些 URL 來發現和索引您的內容。確保 Google 找到您的最高優先級頁面的最簡單方法之一是創建一個符合 Google 標準的文件並通過 Google Search Console 提交。雖然提交網站地圖並不能取代對良好網站導航的需求,但它肯定可以幫助爬蟲找到通往所有重要頁面的路徑。
如果您的網站沒有任何其他網站連結到它,您仍然可以通過在 Google Search Console 中提交您的 XML 網站地圖來將其編入索引。不能保證他們會在索引中包含提交的 URL,但值得一試!
爬蟲在嘗試訪問您的 URL 時是否會出錯?
在抓取您網站上的 URL 的過程中,抓取工具可能會遇到錯誤。您可以轉到 Google Search Console 的“抓取錯誤”報告來檢測可能發生這種情況的 URL - 此報告將向您顯示服務器錯誤和未找到的錯誤。服務器日誌文件也可以向您顯示這一點,以及其他訊息的寶庫,例如爬網頻率,但由於訪問和剖析服務器日誌文件是一種更高級的策略,我們不會在初學者指南中詳細討論它,儘管您可以在此處了解更多訊息。
在您可以對爬網錯誤報告做任何有意義的事情之前,了解服務器錯誤和“未找到”錯誤非常重要。
4xx 代碼:當搜尋引擎爬蟲由於客戶端錯誤而無法訪問您的內容時
4xx 錯誤是客戶端錯誤,這意味著請求的 URL 包含錯誤的語法或無法實現。最常見的 4xx 錯誤之一是“404 – 未找到”錯誤。這些可能是由於 URL 拼寫錯誤、頁面被刪除或重定向損壞,僅舉幾個例子。當搜尋引擎遇到 404 時,他們無法訪問該 URL。當用戶點擊 404 時,他們可能會感到沮喪並離開。
5xx 代碼:當搜尋引擎爬蟲由於服務器錯誤而無法訪問您的內容時
5xx 錯誤是服務器錯誤,表示網頁所在的服務器未能滿足搜尋者或搜尋引擎訪問該頁面的請求。在 Google Search Console 的“抓取錯誤”報告中,有一個專門針對這些錯誤的選項卡。這些通常是因為對 URL 的請求超時,因此 Googlebot 放棄了該請求。查看Google 的文檔以了解有關修復服務器連接問題的更多訊息。
值得慶幸的是,有一種方法可以告訴搜尋者和搜尋引擎您的頁面已移動 - 301(永久)重定向。
假設您將頁面從example.com/young-dogs/移動到example.com/puppies/。搜尋引擎和用戶需要一個從舊 URL 到新 URL 的橋樑。該網橋是 301 重定向。
301 狀態代碼本身意味著頁面已永久移動到新位置,因此請避免將 URL 重定向到不相關的頁面——舊 URL 的內容實際上並不存在的 URL。如果一個頁面正在針對某個查詢進行排名,而您將其 301 轉到具有不同內容的 URL,則它的排名位置可能會下降,因為使其與該特定查詢相關的內容不再存在。301 功能強大——負責任地移動 URL!
您還可以選擇 302 重定向頁面,但這應該保留用於臨時移動以及傳遞連結公平性不那麼重要的情況。302 有點像繞道而行。您暫時通過特定路線吸引流量,但不會永遠這樣。
一旦您確保您的網站針對可抓取性進行了優化,接下來的工作就是確保它可以被索引。
索引:搜尋引擎如何解釋和存儲您的頁面?
一旦您確保您的網站已被抓取,接下來的工作就是確保它可以被編入索引。沒錯——僅僅因為您的網站可以被搜尋引擎發現和抓取並不一定意味著它將存儲在他們的索引中。在前面關於抓取的部分中,我們討論了搜尋引擎如何發現您的網頁。索引是存儲您發現的頁面的位置。爬蟲找到一個頁面後,搜尋引擎會像瀏覽器一樣呈現它。在此過程中,搜尋引擎會分析該頁面的內容。所有這些訊息都存儲在其索引中。
我可以查看 Googlebot 抓取工具如何查看我的網頁嗎?
是的,您網頁的緩存版本將反映 Googlebot 上次抓取它的快照。
頁面是否曾從index中刪除?
是的,頁面可以從索引中刪除!可能會刪除 URL 的一些主要原因包括:
- URL 正在返回“未找到”錯誤 (4XX) 或服務器錯誤 (5XX) – 這可能是意外的(頁面已移動且未設置 301 重定向)或故意的(頁面已刪除並 404ed 以便將其從索引中刪除)
- 該 URL 添加了一個 noindex 元標記 - 網站所有者可以添加此標記,以指示搜尋引擎從其索引中省略該頁面。
- 該 URL 已因違反搜尋引擎的網站管理員指南而受到人工處罰,因此已從索引中刪除
- 該 URL 已被阻止抓取,並在訪問者訪問該頁面之前添加了所需的密碼。
如果您認為您網站上以前在 Google 索引中的頁面不再顯示,您可以使用URL 檢查工具了解該頁面的狀態,或使用具有“請求索引”功能的Fetch as Google向索引提交單個 URL。
告訴搜尋引擎如何索引您的網站
機器人元指令
元指令(或“元標籤”)是您可以向搜尋引擎提供的關於您希望如何處理您的網頁的指令。
您可以告訴搜尋引擎爬蟲“不要在搜尋結果中將此頁面編入索引”或“不要將任何連結權益傳遞給任何頁面連結”。這些指令通過 HTML 頁面的
中的機器人元標記(最常用)或通過 HTTP 標頭中的 X-Robots-Tag 執行。機器人元標記
漫遊器元標記可在網頁 HTML 的
中使用。它可以排除所有或特定的搜尋引擎。以下是最常見的元指令,以及您可以應用它們的情況。index/noindex告訴引擎是否應該抓取頁面並將其保存在搜尋引擎的索引中以進行檢索。如果您選擇使用“noindex”,則表示您希望將頁面從搜尋結果中排除在外。默認情況下,搜尋引擎假定它們可以索引所有頁面,因此沒有必要使用“index”值。
- 什麼時候可以使用:如果您嘗試從 Google 的網站索引中修剪精簡頁面(例如:用戶生成的個人資料頁面),但您仍然希望訪問者可以訪問它們,您可以選擇將頁面標記為“noindex”。
follow/nofollow告訴搜尋引擎頁面上的連結是應該被關注還是不被關注。“關注”會導致機器人跟隨您頁面上的連結並將連結資產傳遞到這些 URL。或者,如果您選擇使用“nofollow”,搜尋引擎將不會跟隨或傳遞任何連結權益到頁面上的連結。默認情況下,假定所有頁面都具有“關注”屬性。
- 什麼時候可以使用:當你試圖阻止頁面被索引以及阻止爬蟲跟蹤頁面上的連結時,nofollow 通常與 noindex 一起使用。
noarchive用於限制搜尋引擎保存頁面的緩存副本。默認情況下,引擎將保留其已編入索引的所有頁面的可見副本,搜尋者可以通過搜尋結果中的緩存連結訪問。
- 什麼時候可以使用:如果您經營一個電子商務網站並且您的價格經常變化,您可能會考慮使用 noarchive 標籤來防止搜尋者看到過時的價格。
X-Robots-標籤
x-robots 標籤用於 URL 的 HTTP 標頭中,如果您想大規模阻止搜尋引擎,則比元標籤提供更多的靈活性和功能,因為您可以使用正則表達式、阻止非 HTML 文件並應用網站範圍的 noindex 標籤. 例如,您可以輕鬆排除整個文件夾或文件類型:
或特定文件類型(如 PDF):
了解影響抓取和索引的不同方式將幫助您避免常見的陷阱,這些陷阱會阻止您的重要頁面被發現。
排名:搜尋引擎如何對 URL 進行排名?
搜尋引擎如何確保當有人在搜尋欄中輸入查詢時,他們會得到相關的結果作為回報?該過程稱為排名,或按與特定查詢最相關到最不相關對搜尋結果進行排序。
為了確定相關性,搜尋引擎使用算法、過程或公式,通過該過程或公式以有意義的方式檢索和排序存儲的訊息。這些算法多年來經歷了許多變化,以提高搜尋結果的質量。例如,Google每天都會對算法進行調整——其中一些更新是細微的質量調整,而另一些則是為解決特定問題而部署的核心/廣泛算法更新,例如 Penguin 解決連結垃圾連結。查看我們的Google 算法更改歷史記錄,了解可追溯到 2000 年的已確認和未確認的 Google 更新列表。
為什麼算法變化如此頻繁?Google只是想讓我們保持警惕嗎?雖然Google並不總是透露他們為什麼這樣做的細節,但我們知道Google在進行算法調整時的目標是提高整體搜尋質量。這就是為什麼在回答算法更新問題時,Google會回答類似這樣的話:“我們一直在進行質量更新。” 這表明,如果您的網站在算法調整後遭受損失,請將其與Google 的質量指南或搜尋質量評估指南進行比較,兩者都非常能說明搜尋引擎想要什麼。
搜尋引擎想要什麼?
搜尋引擎一直想要同樣的事情:以最有用的格式為搜尋者的問題提供有用的答案。如果這是真的,那麼為什麼現在的 SEO 似乎與過去幾年不同?
從某人學習一門新語言的角度來考慮它。
起初,他們對語言的理解非常初級——“See Spot Run”。隨著時間的推移,他們的理解開始加深,他們學習語義——語言背後的含義以及單詞和短語之間的關係。最終,通過足夠的練習,學生對語言的了解足以甚至理解細微差別,並且能夠為甚至模糊或不完整的問題提供答案。
當搜尋引擎剛剛開始學習我們的語言時,通過使用實際上違反質量準則的技巧和策略來玩弄系統要容易得多。以關鍵字填充為例。如果您想為“有趣的笑話”之類的特定關鍵字排名,您可以在頁面上多次添加“有趣的笑話”一詞,並將其加粗,以期提高該詞的排名:
- 歡迎來到有趣的笑話!我們講世界上最有趣的笑話。有趣的笑話既有趣又瘋狂。你有趣的笑話在等著你。坐下來閱讀有趣的笑話,因為有趣的笑話可以讓你快樂和有趣。一些有趣的最喜歡的笑話。
這種策略帶來了糟糕的用戶體驗,人們不是因為有趣的笑話而大笑,而是被煩人的、難以閱讀的文字轟炸。它在過去可能有效,但這絕不是搜尋引擎想要的。
連結在 SEO 中的作用
當我們談論連結時,我們可能意味著兩件事。反向連結或“入站連結”是指向您網站的其他網站的連結,而內部連結是您自己網站上指向您的其他頁面(在同一網站上)的連結。
連結歷來在搜尋引擎優化中發揮了重要作用。很早以前,搜尋引擎需要幫助確定哪些 URL 比其他 URL 更值得信賴,以幫助他們確定如何對搜尋結果進行排名。計算指向任何給定網站的連結數量有助於他們做到這一點。
反向連結的工作方式與現實生活中的 WoM(口碑)推薦非常相似。讓我們以假設的咖啡店 John's Coffee 為例:
- 來自他人的推薦=權威的良好標誌 示例:許多不同的人都告訴過你珍妮的咖啡是城裡最好的
- 來自你自己的推薦=有偏見,所以不是權威的好兆頭 示例:珍妮聲稱珍妮的咖啡是城裡最好的
- 來自不相關或低質量來源的推薦 = 不是一個好的權威標誌,甚至可能讓您被標記為垃圾連結 示例:珍妮花錢請從未去過她的咖啡店的人告訴別人它有多好。
- 沒有推薦=權限不明確 示例: John's Coffee 可能不錯,但您一直找不到任何有意見的人,因此您無法確定。
這就是創建PageRank的原因。PageRank(Google核心算法的一部分)是一種連結分析算法,以穀歌創始人之一拉里佩奇的名字命名。PageRank 通過測量指向它的連結的質量和數量來估計網頁的重要性。假設網頁越相關、重要和值得信賴,它獲得的連結就越多。
您從高權威(可信)網站獲得的自然反向連結越多,您在搜尋結果中排名更高的機率就越大。
內容在 SEO 中的作用
如果他們沒有將搜尋者引導到某些東西,那麼連結將毫無意義。那就是滿足!內容不僅僅是文字;它是搜尋者消費的任何東西——有視頻內容、圖像內容,當然還有文本。如果搜尋引擎是回答機器,那麼內容就是引擎提供這些答案的方式。
任何時候有人執行搜尋,都會有數千個可能的結果,那麼搜尋引擎如何決定搜尋者會找到哪些有價值的頁面?確定您的頁面對給定查詢的排名的很大一部分是您頁面上的內容與查詢意圖的匹配程度。換句話說,這個頁面是否與被搜尋的詞匹配並有助於完成搜尋者試圖完成的任務?
由於對用戶滿意度和任務完成的關注,對於您的內容應該多長、應該包含多少次關鍵字或您在標題標籤中放置的內容沒有嚴格的基準。所有這些都可以影響頁面在搜尋中的表現,但重點應該放在將閱讀內容的用戶身上。
今天,有數百甚至數千個排名信號,前三名保持相當一致:指向您網站的連結(用作第三方可信度信號)、頁面內容(滿足搜尋者意圖的優質內容)和排名大腦。
什麼是RankBrain?
RankBrain 是 Google 核心算法的機器學習組件。機器學習是一種計算機程序,它通過新的觀察和訓練數據隨著時間的推移不斷改進其預測。換句話說,它一直在學習,因為它一直在學習,所以搜尋結果應該不斷改進。
例如,如果 RankBrain 注意到排名較低的 URL 比排名較高的 URL 為用戶提供了更好的結果,那麼您可以打賭 RankBrain 會調整這些結果,將更相關的結果移到更高的位置,並將相關性較低的頁面作為副產品降級。
與搜尋引擎的大多數事情一樣,我們並不確切知道 RankBrain 是由什麼組成的,但顯然,Google的人也不知道。
這對 SEO 意味著什麼?
由於 Google 將繼續利用 RankBrain 來推廣最相關、最有用的內容,因此我們需要比以往任何時候都更加專注於滿足搜尋者的意圖。為可能登陸您頁面的搜尋者提供最好的訊息和體驗,您已經邁出了在 RankBrain 世界中表現出色的第一步。