淺談Google蜘蛛抓取的工作原理(待更新)
首先,Google 蜘蛛尋找新的頁面。然后,Google 對這些頁面進行索引,以了解它們的內容,并根據檢索到的數據對它們進行排名。爬行和索引是兩個不同的過程,但是,它們都由爬行器執行。
什么是爬行器?
爬行器(也稱搜索機器人,蜘蛛)是谷歌和其他搜索引擎用來掃描網頁的軟件。簡單地說,它"爬"網頁從一頁到另一頁,尋找谷歌還沒有在其數據庫新增或修改的內容。
任何搜索引擎都有自己的爬行器。至于谷歌,有超過15種不同類型的爬行器,谷歌的主要爬行器被稱為Googlebot。Googlebot同時執行爬行和索引,下面我們將仔細看看它是如何工作的。
爬行器如何工作?
這里沒有URL的中央注冊表,每當創建新頁面時都會更新。這意味著谷歌不會自動"提醒"他們,但必須在網上找到它們。Googlebot 不斷在互聯網上徘徊,搜索新頁面,并將它們添加到谷歌現有頁面的數據庫中。
一旦 Googlebot 發現新頁面,它將在瀏覽器中呈現(可視化)頁面,加載所有 HTML、第三方代碼、JavaScript 和 CSS。此信息存儲在搜索引擎的數據庫中,然后用于索引和對頁面進行排名。如果一個頁面已被索引,它被添加到谷歌索引—— 一個超級巨大的谷歌數據庫。
爬行器如何查看頁面?
爬行器在最新版本的Google瀏覽器中呈現一個頁面。在完美的場景中,爬行者會以您設計和組裝頁面的方式"展示"頁面。在真實的情況下,事情可能會更加復雜。
移動和桌面渲染
Googlebot可以"看到"你的頁面與兩個子類型的爬行者:桌面Googlebot和智能手機Googlebot。需要此部門為桌面和移動 SERP 索引頁面。
幾年前,谷歌使用桌面爬行器訪問并渲染了大部分頁面。但隨著移動第一概念的引入,情況發生了變化。谷歌認為,世界變得足夠對移動友好,并開始使用智能手機Googlebot來抓取、索引和排名移動和桌面SERP網站的移動版本。
盡管如此,實施移動先發制人索引結果卻比預期的要困難。互聯網是巨大的,大多數網站似乎對移動設備的優化不佳。這使得谷歌使用移動第一的概念來爬行和索引新網站和那些老網站,成為完全優化的移動。如果一個網站不方便移動,它是由桌面Googlebot第一手抓取和渲染。
即使您的網站已轉換為移動先索引,您仍將有一些頁面由 Googlebot 桌面抓取,因為 Google 希望檢查您的網站在桌面上的表現。谷歌沒有直接說,如果與手機版本有很大不同,它將為您的桌面版本提供索引。不過,假設這一點是合乎邏輯的,因為谷歌的主要目標是為用戶提供最有用的信息。谷歌幾乎不想盲目地遵循移動第一的概念來失去這些信息。
注意:在任何情況下,您的網站將被移動Googlebot和桌面Googlebot訪問。因此,重要的是要照顧你的網站的兩個版本,并考慮使用響應式布局,如果你還沒有這樣做。
如何知道谷歌是否以移動第一的概念抓取和索引您的網站?您將在谷歌搜索控制臺收到特別通知。
HTML 和 JavaScript 渲染
Googlebot 在處理和渲染笨重代碼方面可能會遇到一些問題。如果您的頁面代碼混亂,爬網程序可能無法正確呈現它并考慮您的頁面為空。
至于JavaScript渲染,你應該記住,JavaScript是一種快速發展的語言,Googlebot 有時可能無法支持最新的版本。確保您的JS與Googlebot 兼容,否則您的頁面可能會呈現錯誤。
注意您的JS加載時間。如果腳本加載需要超過 5 秒,Googlebot 將不會渲染和索引該腳本生成的內容。
注意:如果你的網站充滿了大量的JS元素,并且你不能沒有它們,谷歌建議 server-side rendering(服務器側渲染)。這將使您的網站加載速度更快,并防止 JavaScript 錯誤。
要查看頁面上的哪些資源會導致渲染問題(并實際查看您是否有任何問題),請登錄 Google Search Console帳戶,轉到URL 檢查,輸入要檢查的 URL,單擊測試實時 URL按鈕,然后單擊"View Tested Page"。
然后轉到"More Info"部分,單擊頁面資源和JavaScript 控制臺消息文件夾,查看 Googlebot 未能呈現的資源列表。
現在,您可以向網站管理員顯示問題列表,并要求他們調查和修復錯誤。
什么影響爬行者的行為?
Googlebot 的行為并不混亂——它是由復雜的算法決定的,這些算法可以幫助爬行者瀏覽網絡并設定信息處理規則。
然而,算法的行為不是你什么也做不了,希望得到最好的結果。讓我們仔細看看什么影響爬行者的行為,以及如何優化頁面的爬行。
內部鏈接和反向鏈接
如果Google已經知道您的網站,則Googlebot會不時檢查您的主頁上是否有更新。 因此,將指向新頁面的鏈接放置在網站的權威頁面上至關重要。 理想情況下,在首頁上。
您可以用一個塊來豐富您的主頁,該塊將具有最新的新聞或博客文章,即使你有單獨的新聞頁面和博客。這將使Googlebot找到你的新頁面更快。這個建議可能看起來相當明顯,盡管如此,許多網站所有者仍然忽視它,這導致了糟糕的索引和低倉位。
在爬行方面,反向鏈接的工作相同。所以,如果你添加了一個新的頁面,不要忘記外部促銷。您可以嘗試客人發帖、發起廣告活動或嘗試任何其他方式,讓 Googlebot 查看新頁面的 URL。
注意:鏈接應該遵循,讓Googlebot 跟隨他們。雖然谷歌最近表示,沒有跟隨鏈接也可以用作爬行和索引的提示,我們仍然建議使用dofollow。只是為了確保爬行者確實看到頁面。
單擊深度
單擊深度顯示頁面離主頁有多遠。理想情況下,網站的任何頁面應在 3 次點擊內到達。更大的點擊深度會減慢爬行速度,并且幾乎不會使用戶體驗受益。
您可以使用Web 網站審核員檢查您的網站是否與點擊深度有關。啟動該工具,然后轉到站點結構>頁面,并注意點擊深度列。
如果您看到某些重要頁面離主頁太遠,請重新考慮網站結構的安排。良好的結構應該是簡單和可擴展的,所以你可以添加盡可能多的新頁面,你需要沒有負面影響的簡單性。
Sitemap
網站地圖是包含您希望在 Google 中的頁面完整列表的文檔。您可以通過谷歌搜索控制臺(索引>網站地圖)向 Google 提交網站地圖,以便讓 Googlebot 知道要訪問和爬行哪些頁面。網站地圖還告訴谷歌,如果有任何更新在您的網頁上。
注意:網站地圖并不能保證Googlebot在爬行您的網站時會使用它。爬行者可以忽略您的網站圖,并繼續以其決定的方式爬行網站。盡管如此,沒有人因為有網站圖而被懲罰,在大多數情況下,它被證明是有用的。一些 CMS 甚至會自動生成站點圖、更新它并將其發送到 Google,使您的 SEO 流程更快、更輕松。如果您的網站是新的或大的(有超過500個網址),請考慮提交網站圖。
索引說明
在爬行和索引頁面時,Google 會遵循某些說明,例如Robots.txt、Noindex標簽、robots元標簽和X-Robots標簽。
Robots.txt 是一個根目錄文件,限制一些頁面或內容元素從谷歌。一旦Googlebot發現你的頁面,它就會查看Robots.txt文件。如果發現頁面被Robots.txt限制爬行,Googlebot 將停止從該頁面中爬行和加載任何內容和腳本。此頁面不會顯示在搜索中。
Noindex標簽、robots元標簽和X-Robots標簽是用于限制爬行者爬行和索引頁面的標簽。Noindex標簽限制所有類型的爬行器對頁面進行索引。使用robots元標簽來指定如何爬行和索引特定頁面。這意味著您可以阻止某些類型的爬行者訪問頁面,并保持頁面對其他頁面的開放。X-Robots標簽可用作HTTP 標頭響應的元素,該響應可能會限制頁面索引或瀏覽頁面上的爬行者行為。此標簽允許您針對單獨類型的爬行機器人(如果指定)。如果沒有指定機器人類型,說明將適用于所有類型的爬行者。
注意:Robots.txt文件并不能保證頁面被排除在索引之外。Googlebot將此文檔視為建議而不是訂單。這意味著谷歌可以忽略Robots.txt并索引一個頁面進行搜索。如果您想確保頁面不會被索引,請使用Noindex標簽。
所有頁面都可用于爬行嗎?
不。某些頁面可能無法用于爬行和索引。讓我們仔細看看這些類型的頁面:
受密碼保護的頁面。Googlebot 模擬了匿名用戶的行為,該用戶沒有任何憑據訪問受保護的頁面。因此,如果頁面受到密碼保護,它不會被爬行,因為 Googlebot 將無法訪問它。
索引說明排除的頁面。這些頁面來自Robots.txt,帶有Noindex標簽、robots元標簽和X-Robots標簽。
孤兒頁面。孤兒頁面是網站中任何其他頁面中未鏈接的頁面。Googlebot是一個蜘蛛機器人,這意味著它通過跟蹤它找到的所有鏈接來發現新的頁面。如果沒有指向頁面的鏈接,則頁面將不會被爬行,也不會在搜索中出現。
有些頁面被限制故意爬行和索引。這些通常是不打算在搜索中顯示的頁面:具有個人數據、策略、使用條款、頁面測試版本、存檔頁面、內部搜索結果頁面等的頁面。
但是,如果您想讓您的頁面可供爬行并帶來流量,請確保您不會保護帶有密碼、思維鏈接(內部和外部)的公共頁面,并仔細檢查索引說明。
要檢查 Google 搜索控制臺中網站頁面的可爬行性,請轉到Index >Coverage 報告。注意標記 Error(未索引)和 Valid with warning(索引,但有問題)。
注意:如果您不希望 Googlebot 查找或更新任何頁面(一些舊頁面,您不再需要的頁面),請將其從站點地圖中刪除,如果您有頁面,請設置404 Not Found 狀態,或用Noindex標簽標記它們。
我的網站何時會出現在搜索中?
很明顯,在您建成網站后,您的網頁不會立即出現在搜索中。如果你的網站是絕對新的,Googlebot將需要一些時間來找到它在網絡上。請記住,在某些情況下,這種"某些"可能需要長達 6 個月的時間。
如果 Google 已經了解了您的網站,并且您進行了一些更新或添加了新頁面,那么網站在 Web 上的外觀變化速度取決于抓取預算。
抓取預算是Google 在爬行您的網站上花費的資源量。Googlebot 需要的資源越多,搜索速度就越慢。
抓取預算分配取決于以下因素:
網站人氣。網站越受歡迎,谷歌在爬行上愿意花費的爬行點就越多。
更新速率。更新頁面的頻率越高,您的網站獲得的爬行資源就越多。
頁數。頁面越多,爬行預算就越大。
處理爬行的服務器容量。托管服務器必須能夠按時響應爬行器的請求。
請注意,爬行預算并非均等地用于每個頁面,因為某些頁面會消耗更多資源(因為 JavaScript 和 CSS 過重,或者因為 HTML 雜亂無章)。因此,分配的爬行預算可能不足以像您預期的那樣快速爬行所有頁面。
除了嚴重的代碼問題外,爬行不良和非理性爬行預算支出的一些最常見的原因是重復內容問題和結構不良的 URL。
重復內容問題
重復內容有好幾頁內容大多相似。這可能發生的原因有很多,例如:
以不同的方式到達頁面:有或沒有www,通過http或https;
動態網址-當許多不同的URL導致相同的頁面:
頁面版本的 A/B 測試。
如果不修復,重復的內容問題會導致 Googlebot 多次爬行同一頁面,因為它會認為這些都是不同的頁面。因此,爬行資源被浪費在徒勞的,Googlebot 可能無法找到其他有意義的網頁,您的網站。此外,重復內容會降低頁面在搜索中的位置,因為 Google 可能會認為您的網站的整體質量較低。
事實是,在大多數情況下,你不能擺脫大多數的東西,可能會導致重復的內容。但是,您可以通過設置規范的URL來防止任何重復的內容問題。規范標簽表示哪個頁面應被視為"主",因此指向同一頁面的 URL 的其余部分將不會索引,您的內容也不會重復。您還可以在機器人的幫助下限制機器人訪問動態網址.txt文件。
網址結構問題
人機算法都對用戶友好型 URL表示贊賞。Googlebot也不例外。Googlebot可能會感到困惑,當試圖了解長和參數豐富的網址。因此,更多的爬行資源被花費。為了防止這種情況,使您的網址用戶友好。
確保您的 URL 清晰,遵循邏輯結構,具有適當的標點符號,并且不包括復雜的參數。換句話說,您的網址應該看起來像這樣:
http://example.com/vegetables/cucumbers/pickles
但事實是,如果您是大型(100萬以上網頁)或中型(10,000以上網頁)網站的所有者,且其內容(每天或每周)頻繁更改,才需擔心這一點。在其余情況下,您只需要正確優化您的網站進行搜索,并按時修復索引問題。
總結
Google的主要爬行者,Googlebot,在復雜的算法下運作,但你仍然可以"導航"它的行為,使其有利于您的網站。此外,大多數爬行過程優化步驟重復了我們都熟悉的標準 SEO 步驟。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。