# 第二章:搜尋引擎如何運作 #### 檢索、索引以及排名 ###### tags: `SEO 初學者指南` --- 本文翻譯自:[HOW SEARCH ENGINES WORK: CRAWLING, INDEXING, AND RANKING](https://moz.com/beginners-guide-to-seo/how-search-engines-operate) --- 如同我們在第一章提到的內容,搜尋引擎是一部解答機器。 它的存在是為了發現、理解並組織網路上的內容,以此提供最相關的結果給有問題的搜尋者。 為了讓網站出現在搜尋結果,你的內容必須要先被搜尋引擎看見。 上述那件事,可以說是 SEO 最重要的一片拼圖。 如果你的網站無法被發現,那我們就永遠不可能看到它出現在 SERPs(搜尋結果頁) 上 --- ## 搜尋引擎如何運作 搜尋引擎運作的方式,主要依靠三大功能: 1. **檢索**:大量搜尋網路內容,查看每個資源背後的程式碼、內容。 2. **索引**:將檢索到的內容,儲存並組織起來。一旦網頁被索引,它就有機會出現在相關關鍵字的搜尋結果頁中。 3. **排名**:提供最能解答搜尋疑惑的內容片段,意指出現的結果排序方式,是由最相關至最不相關。 --- ### 什麼是搜尋引擎檢索? 檢索是一種發現網路內容的過程,搜尋引擎會送出一組機器人(又稱為「網路蜘蛛」、「網路爬蟲」),去尋找最新的資訊。 網路內容有很多形式,它可以是一個網頁、一張照片、一部影片、一份 PDF 檔等等。 但不論如何形式,爬蟲都是以讀取「超連結」的方式,尋找那些內容。 --- #### 那個字是什麼意思? 閱讀本章時對於文字意涵不清楚嗎? 我們的 SEO 辭典有各章節的專有名詞定義,幫你持續更新最新資訊 [查看第二章定義](https://moz.com/beginners-guide-to-seo/seo-glossary#chapter2) ---  Googlebot 會先取得少量網頁,並從那些網頁裡尋找新的網址。 藉由超連結的幫助,爬蟲能從原先網站跳至另一個新的內容,並將新網頁增添至搜尋索引中。 該搜尋索引被稱為「咖啡因」,是一個儲存相關資源的巨大資料庫 當使用者想尋找資料時,搜尋引擎就會從資料庫中,取出最適合的解答提供給搜尋者。 ### 什麼是搜尋引擎索引? 搜尋引擎索引(search engine index)是一個處理過程,用來描述搜尋引擎儲存網頁資料,並回傳相關聯的結果給使用者。 白話文來說,就是搜尋引擎將網路上發現的內容,全部儲存在一個巨大資料庫中。 同時,它也會從資料庫中,找出最能滿足搜尋需求的內容,呈現在搜尋結果頁上。 ### 搜尋引擎排名 當某人搜尋時,搜尋引擎會從資料庫中尋找最相關的內容,並將排序後的資訊提供給使用者,設法解決搜尋者的疑惑。 這個根據關聯性,將資訊排序的過程,就是「排名」。 普遍來看,你可以假設排名越前面的網站,搜尋引擎越相信它,能提供更有關聯的內容給使用者。 若你的網站部分頁面,因特定原因不想出現在搜尋結果頁。 我們可以阻止搜尋引擎,爬取你的網站部分頁面。或告訴搜尋引擎,盡量不要將特定頁面儲存進索引內。 但若在正常情況下,你需要確保網站能被爬取並收錄索引。 否則,網站就不可能被使用者看見。 當你閱讀完本章節,你將理解如何與搜尋引擎合作,而非與之對抗。 --- ## 在 SEO 領域,不是每個搜尋引擎都同等重要 許多初學者會想了解,哪一個搜尋引擎相對重要。 許多人都知道 Google 擁有最大的市場份額,但剩下的搜尋引擎(例 Bing、Yahoo)哪個應該重要呢? 事實上,儘管市面存在 [30 個以上的搜尋引擎](https://en.wikipedia.org/wiki/Web_search_engine),SEO 社群卻只關注 Google 這個搜尋引擎。 原因在於, Google 是最多人使用的工具。 如果我們將 Google 圖片、Google 地圖以及 Youtube 納入計算。 有[超過 90% 以上](https://moz.com/blog/state-of-searcher-behavior-revealed)的網路搜尋發生在 Google,等同於 Bing 與 Yahoo 總和的 20 倍以上。 --- ## 爬取:搜尋引擎能否找到你的網頁? 如同你剛才所學,確保你的網站被爬取並建立索引,是出現在 SERPS 的先決條件。 如果你已經擁有一個網站,先查到自己有多少個網頁在索引內,或許是一個好主意。 上述做法將會幫助你,了解 Google 是否完整爬取網站的所有網頁。 想了解搜尋引擎是否爬取網站,一個實際的作法是使用「進階搜尋符號」。 我們可以在 Google 搜尋欄輸入「site:」後面接上網站的網域。 這樣子,Google 就會將收納入索引的頁面,呈現在搜尋結果頁上。  雖然圖片紅框內顯示的「約有 xx 項結果」不是正確數字,但我們仍可查看下方出現的搜尋結果網頁,作為判斷依據。 若想查看更準確的搜尋結果,我們可以使用 Google Search Console 的「涵蓋範圍」此報表, 透過此工具,你可以為提交網站的「網站地圖」(sitemap),並查看提交的頁面裡,有多少被增添進 Google 索引中。 如果你發現自己的網站,尚未有任何一個網頁出現在搜尋結果頁。 通常會有以下幾個可能: - 你的網站才剛創立,搜尋引擎尚未爬取 - 你的網站並未與其他網站相連 - 你的「網站導覽」使機器人難以有效爬取網站 - 你的網站包含一些「爬取指令」(crawler directives),阻止了網站被爬取。 - 你的網站因為違規的策略,被搜尋引擎懲罰 --- ## 告訴搜尋引擎如何爬取你的網站 如果你使用 Google Search Console 或進階搜尋指令「site:」時,發現網站有些重要的頁面從索引中消失。 又或者有一些不重要的頁面,被錯誤的收納進索引。 為了引導搜尋引擎,爬取你的目標網頁,下面內容會提供一些優化方法,供你執行。 告訴搜尋引擎,如何爬取你的網站,將讓你更好控制,自己被收錄至索引的網頁。 --- #### 透過 MOZ PRO,查看那些頁面可被 Google 檢索 Moz Pro 可以偵測網站可檢索性的相關問題。 從阻止 Google 爬蟲,到影響到排名的內容等重要問題。 試著免費試用並從今天開始修正問題。 [開始我的免費試用](https://moz.com/checkout/freetrial) --- 多數人都希望, Google 能確實找到網站的重要頁面。 但我們很容易忘記,檢索機器人也可能將你不想被收錄的內容,放到搜尋結果頁中。 它可能包含只有少量內容的舊網頁、商品促銷頁、測試頁面。 又或是含有重複參數的網頁,例如電商網站的網址中,含有種類、篩選器等參數。 若要避免檢索機器人收錄那些特定頁面、區塊,我們必須使用 robots.txt。 --- ### Robots.txt Robot.txt 檔案是位在網站的根目錄,例如網址路徑可能是example.com/robot.txt。 它會透過特定的 robot.txt 指令,會建議搜尋引擎,網站中哪內容可以檢索、哪些內容不可檢所。 同時,還可以調整檢索機器人爬取的速度。 --- ### Googlebot 如何對待 robots.txt 檔案? 正常情況下,檢索機器人會根據以下三種狀況,執行不同的動作。 - 如果檢索機器人,無法找到網站的 robots.txt 檔案,它會繼續執行網站爬取。 - 如果檢索機器人,找到網站的 robots.txt 檔案,它會遵守檔案的建議,再執行網站爬取。 - 如果檢索機器人,再試著尋找 robots.txt 檔案過程中,收到錯誤消息,讓它無法確認該份檔案是否存在,它就不會爬取網站。 但是,並非所有的檢索機器人,都會遵循以上情境。 例如一些不懷好意的機器人開發者,就不會按照上述協議執行動作,常見有:電子郵件抓取機器人。 事實上,有些開發者會利用 robot.txt 檔案,找到屬於你網站的機密內容。 這樣看起來,我們應該阻止機器人爬取私人頁面,才是比較符合邏輯的作法。 像是避免登入頁面、網站後台頁面,出現在搜尋結果頁上。 我們可以先將私人頁面的網址,從 robot.txt 檔案中移除,防止有心人士讀取這份公開的檔案。 此外,還能將這些網頁設定成「非檢索」頁面,並設置「網站登入」此門檻。 --- #### 爬取額度(crawl budget)優化 由於網路上有上億個網站,且網站的品質品質、更新頻率都有所不同。 為了有效處理如此大量的數據,檢索機器人會根據不同的網站,設定一個「爬取額度」。 以此決定機器人,每天檢索的網址數量。 因此,確保你的網站內容,不會讓機器人浪費時間,爬取不重要的頁面,特別是對於擁有上萬條網址的大型網站。 阻止爬蟲抓取不重要的內容並非壞事,只是要確保,爬蟲能正常拜訪添加其他指令的頁面。 例如「canonical 標籤」或「noindex tags」。 如果 Googlebot 被頁面封鎖,它就無法查看該頁面的架構。 --- ### 在 GSC 內定義網址參數 有些網站(多數為電商網站),會因為網址參數的設定,產生相同網頁內容,卻有多個不同網址的情況。 如果你曾經在網路購物,你一定透過「篩選器」縮小搜尋範圍。 舉例來說,你可能在 Amozan 網站搜尋「鞋子」,並指定特定大小、顏色、款式。 每當你在 Amozan 使用一次進階搜尋功能,產品頁面的網址,就會產生些微差異。 - https://www.example.com/products/women/dresses/green.htm - https://www.example.com/products/women?category=dresses&color=green - https://example.com/shopindex.php?product_id=32&highlight=green+dress&cat_id=1&sessionid=123$affid=43 面對這麼多網址,Google 要如何知道該向搜尋者,提供哪個版本的網址呢? 別擔心,Google 對此做了充足的功課,能夠找出該產品的代表性網址。 儘管如此,你仍可以使用 Google Search Console 的「網址參數」工具,告訴 Google 應該如何呈現你的網頁。 如果你使用此功能,跟 Googlebot 說:「不要爬取參數包含 xx 網址」。 則表示,你正在告訴機器人隱藏該頁內容,使該頁面從搜尋結果頁移除。 透過這種方式,就可以防止網址參數產生的重複內容頁面。 --- ### 如何確保爬蟲找到所有重要頁面? 現在你已經知道一些技巧,可以防止檢索機器人抓取不重要內容。 接著,我們開始學習有哪些優化方法,能使 Googlebot 找到你的重要頁面。 有時,搜尋引擎可能透過爬取,找到你網站的部分內容,但其他頁面或區塊因其他因素,而被隱藏顯示。 因此,我們必須確保搜尋引擎,能找到所有希望被檢索的內容,而非只檢索首頁而已。 試著問自己:請問機器人除了找到你的網站,可以順利爬取你全部網頁嗎? --- #### 技巧一:網站內容是否被藏在登入頁面內? 如果你的網站內容,要求使用者查看前需登入、填寫表格、回答問卷,搜尋引擎就無法看到被保護的網頁。 因為一個檢索機器人,絕對不會試著登入系統。 --- #### 技巧二:你的網站依賴搜尋表格(search forms)嗎? 檢索機器人不會使用搜尋表格。 有些人會認為,如果他們將搜尋框放在網頁上,搜尋引擎就會自己找出訪客查詢的內容。  --- #### 技巧三:文字是否被隱藏在非文字內容裡? 我們希望被檢索的內容,不應該以非文字媒體形式展現,例如圖片、影片等等。 雖然搜尋引擎對於突現辨識,已經越來越厲害了。 但它仍無法保證,能夠閱讀並理解這種呈現方式。 因此,我們想呈現此種媒體時,最好新增文字註解在 HTML 語法中。 --- ### 技巧四:搜尋引擎能否依循你的網站導覽? 由於爬蟲需要透過「連結」,以找到你的網站。它需要網站有一個「連結路徑」,去引導它查看各個網頁。 如果你有個網頁,希望搜尋引擎找到它,但它卻沒有與其他網頁相連接。 這對於搜尋引擎而言,該網頁幾乎等於不存在。 許多人組織網站架構時,都會犯上述錯誤,因為沒有讓網頁彼此相連,使網站無法出現在搜尋結果頁上。  **另外,以下列出的常見錯誤,同樣易使爬蟲完整查看網站。** - 手機板的網站導覽介面,與電腦版不同。 - 網站的選單並非寫在 HTML 語法內,例如使用 JavaScript 語法製成的導覽介面。 雖然 Google 對於 JavaScript 語言的理解程度已越來越好,但仍無法達到完備。 更加可靠的作法,是確保導覽內容被寫進 HTML 語言中,才能使 Google 將其納入索引。 - 客製化的導覽內容,讓不同訪客查看不同的內容。此方法將會被搜尋引擎視為「偽裝」等違規行為。 - 設計導覽介面時,忘記將網頁與主要頁面(例如:首頁)相連。記得,連結是爬蟲找到新網頁的途徑。 以上,就是網站為何需要簡潔導覽介面,與有效網址架構的原因。 ### 技巧五:你擁有一個清楚的資訊架構嗎? 資訊架構是一種方法論,用來組織、標記網站的內容,以此改網站的的效能與使用者體驗。 最好的資訊架構,就是一個直覺式的架構。使用者不需要去深入思考,就能順利瀏覽網站,並找到他想要的內容。 ### 技巧六:你有使用網站地圖(sitemaps)嗎? 網站地圖如同其名,是由一連串的網站網址組成。檢索機器人可以藉此地圖,發現並檢索你的網頁內容。 若要確保 Google 能優先檢索重點網頁,最簡單的方法,就是創造一個滿足 Google 規定的檔案,並將其提交給 Google Search Console 雖說提交一個網站地圖,無法取代一個良好的網頁導覽介面,但他仍能幫助爬蟲,查看檔案內的重要頁面。 當你提交網站地圖時,記得確保檔案內,只有包含你想被搜尋引擎檢索的網址,並提供爬蟲一致的爬取方向。 --- 確保你只將想被檢索的網址,包含進網站地圖中,並確保給予爬蟲一致的爬取方向。 你好奇:什麼是「一致的爬取方向」? 舉例來說,如果你已經使用 robot.txt 阻止爬蟲讀取某網址,請不要將該網址放入 sitemaps 內。 又或是將複製版的網址放入地圖,而非最原始、具規範的網址版本,也會導致爬取方向不一致。 我們將在[第五章](https://hackmd.io/ldvIW1-SREqX2PwYkWPavQ),提供更多規範化的資訊。 [學習更多 XML 網站地圖](https://moz.com/blog/xml-sitemaps) --- 如果尚未有其他網站與你的網站相連,你仍然可以被搜尋引擎檢索。 只要將 XML 格式的網站地圖,提交給 Google Search Console 。 上述做法,雖然無法確保搜尋引擎,一定會檢索提交的網址,但仍值得我們試試看。 --- ### 技巧七:爬蟲讀取網址內容時,是否會發生錯誤? 機器人爬取你網址的過程中,可能會發生錯誤。 遇到這種情況,你可以去 Google Search Console 的「涵蓋範圍」報表,了解錯誤發生的原因。 這份報表將會顯示「伺服器錯誤」、「查無資料」等原因。 除了上述報表,我們可以查看「伺服器紀錄檔」(Server log files)得到相同的洞見。 此外,紀錄檔如同寶庫一般,還提供額外資訊,例如機器人爬取的頻率。 但是,由於「查看、剖析記錄檔」屬於較進階的技巧,我們不會在初學者指南內討論。 ### 4xx 代碼:由於客戶端發生錯誤,導致機器人無法爬取 4xx 代碼是客戶端發生錯誤,代表當使用者的裝置,向伺服器發出網址請求時,產生錯誤的語法或無法順利傳送。 在 4xx 系列代碼中,「404 - not found」是最常見的錯誤代碼。 此種狀況,可能是由於網址輸入錯誤、網頁遭到刪除、或網站重心轉址錯誤等原因。 當搜尋引擎爬取到 404 頁面,它就無法檢索該網址;當使用者看到 404 頁面,他也會失望地離開。 我們可以在 404 頁面中,增添其他網站重要的頁面,以此優化錯誤頁面的體驗。 常見的功能如「站內搜尋」、「聯絡我們」等資訊。 這樣當訪客發現 404 頁面時,能降低使用者的跳出率。 ### 5xx 代碼:由於伺服器端發生錯誤,導致機器人無法爬取 5xx 代碼是伺服器錯誤。它代表儲存網站資料的伺服器,無法回傳、滿足使用者或爬蟲提出的「網址請求」。 在 Google Search Console 的「涵蓋範圍」報表中,有個專屬於此類型的錯誤址表。 這種錯誤常見於,由於機器人連線至網頁伺服器、或要求連線期間,發生逾時,因此決定放棄連線要求。 我們可以查看 [Google 的文件](https://support.google.com/webmasters/answer/9128668?hl=zh-Hant&visit_id=636743634369653164-3372171668&rd=3),能更了解伺服器連線相關問題。 所幸,有一種方法能同時告訴搜尋引擎與使用者,你的網頁已經轉移到其他地方 — 301 轉址。 --- #### 創造專屬 404 頁面 自訂你的 404 頁面的方法,包含將重要頁面放在你的網站、網站搜尋功能,甚至是重要聯絡資訊。 這樣當使用者遇到 404 頁面,應該能使訪客跳出率降低。 [學習更多關於自訂 404 頁面](https://moz.com/learn/seo/error-pages-video) ---  假設你將一個網頁,從 example.com/young-dogs/ 移至 example.com/puppies/ 。 搜尋引擎與使用者需要一座橋樑,才能從舊網址移動到新網址,這座橋梁就是「301 轉址」。 | | 當你執行 301 轉址 | 當你未進行 301 轉址 | | -------- | ----------------| ---------------- | | 連結權重 | 會將舊連結的權重轉移給新連結 | 舊連結的權重無法轉給新版網址| | 檢索 | 幫助 Google 發現並檢索新版網址 | 雖說網頁出現 404 頁面,不會影響機器人的檢索功能,但若讓錯誤頁面持續存在,將導致頁面流量持續下跌,最後從索引中排除| | 使用者體驗 | 確保使用者找到想要的內容 | 訪客有機會點進錯誤網頁,導致使用者失望離開。| 「301」狀態碼,意指該頁面已經永久轉移至新的網址位置。 因此,我們要避免網站的其他頁面,將訪客引導至內容已不存在的網址中。 如果有一個網頁正在競爭某關鍵字,你將該頁面網址,轉移至另一個不同的網頁內容,該關鍵字的排名會立即下滑。 因為網頁內容與關鍵字的關聯性,已經沒有任何關聯。 由此可知,301 狀態擁有強大的影響力,需要謹慎對待網址轉移。 除此之外,你還可以選擇執行 302 網頁轉址,但它應該只是暫時性的轉移,並且是在不須擔心網址權重轉移情況下進行。 302 的作用有點像車輛改道,你短暫藉由另一條路線吸收車流,但它不會是永久辦法。 --- #### 轉址鏈([redirect chain](https://chrisberkley.com/blog/what-are-redirect-chains-seo/))是什麼? 轉址鏈是指,原始網址與最終網址之間,發生過不只一次的轉址。  對檢索機器來人來說,它很難抵達經過多次轉址的網址。因此,Google 建議網站主應該盡可能降低轉址次數。 如果你從 .com/1 轉址到 .com/2,然後又決定轉址到 .com/3。 我們最好將 .com/2 此網址刪除,單純將 .com/1 直接轉到 .com/3 。 --- ## 索引:搜尋引擎如何解讀並儲存你的網頁? 一旦你確保網站已優化成,適合爬取的形式,下一個步驟就是確保它能被索引。 沒錯,儘管你的網站已能被爬蟲發掘並爬取,並不意味它將會被索引至資料庫中。 在先前的段落,我們討論到搜尋引擎如何發現你的網站,並提及「索引」就是那些「被發現網站」的儲存方式。 當爬蟲發現一個網頁,搜尋引擎會將程式碼「[渲染](https://www.searchenginejournal.com/search-engines/rendering/#close)」(render)成視覺頁面出來,如何我們透過瀏覽器觀看的網頁內容一樣。 在渲染過程中,搜尋引擎會分析網頁的內容,再將其中的資訊儲存到資料庫中。 #### 這是索引(index)  #### 這是渲染(render)  **註:以下內容,「索引」一詞有兩個意思。** > 作為名詞(index),它是指檔案存取的資料庫,作為動詞( indexing),它是指檔案存取的動作流程 --- ### 我可以了解 Google 爬蟲機器人,如何查看網頁內嗎? 可以,只要你查看網頁的暫存版本,就能了解最近一次 Googlebot 如何爬取網頁。 Google 針對不同的網站,會以不同的頻率「爬取」與「暫存」網頁。 越具權威性、廣為人知的網站,被爬取的頻率會越高,例如紐約時報的網站 https://www.nytimes.com 。 相反的,越不知名的網站則越少被爬取。 你可以透過點選搜尋結果頁上,該網址旁的倒三角形圖案,了解網站的暫存版內容。  此外,你也可以只查看文字版本,以此了解重要的內容,是否已被爬取、暫存。 ### 網頁是否會從索引資料庫中移除? 答案是會的,有些網頁會從索引中移除。 以下是網址被移除的幾個主要原因: - 該網址回傳「not found」錯誤(4XX)或伺服器錯誤(5XX) 這種狀況可能是意外造成,例如由於 301 轉址沒有設定好,導致被移動網頁位置無法順利變更。 也可能是蓄意為之,例如為了讓該頁面被剃除索引,進而刪除該頁面並保留 404 錯誤畫面。 - 該網址擁有一個「noindex」meta 標籤 此標籤可能是由網站主寫上,用來告訴搜尋引擎,忽略索引中的該頁面。 - 由於該網址違反網站管理員指南,因此被搜尋引擎懲罰並移出索引資料庫。 - 若查看該網址需要提供密碼,就會爬蟲無法爬取該網頁內容。 如果你認為有某個網頁,先前曾被收錄在 Google 索引中,但現在卻消失不見。 你可以使用 Google Search Consloe 的[網址檢查工具](https://support.google.com/webmasters/answer/9012289?hl=zh-Hant),藉此了解該網頁的情況。 此外,你還可以透過 GSC 主動提交網址,讓搜尋引擎爬取你的網站。 (題外話:GSC 的提交網址工具,還附有「渲染」選項,讓你能查看 Google 如何將頁面程式碼,轉譯成可閱讀的視覺介面。) --- ## 告訴搜尋引擎如何索引 Robots meta 指令(或稱 meta tag)的功能,是告訴搜尋引擎該如對待你的網頁。 你可以告訴搜尋引擎:「不要將此頁面索引至搜尋結果頁」,或是「不要將網頁權重,傳遞給頁面上的其他連結」 上述指令,可透過在 HTML 頁面 <head> 區塊,新增 Robots meta tag 完成上述動作。 另外,也可以在 HTTP header 區塊,新增 X-Robots-tag 用以完成。 ### [Robots meta tag](https://www.yesharris.com/meta-robots-and-robots-txt/) robots meta tag 是一種寫在 HTML 網頁 <head> 區塊內的語法,可使網頁被搜尋引擎排除索引。 接下來的內容,將探討最常使用的 meta 指令,以及那些指令實際應用的情況為何。 #### index/noindex 標籤 index、noindex 標籤,會告訴搜尋引擎該頁面是否可被爬取,並儲存在搜尋引擎的資料庫內。 如果你選擇 noindex 語法,代表你向搜尋爬蟲表示,希望能將該頁面從搜尋結果中移除。 根據 Google 預設值,所有的網頁都是可以被檢索,因此使用 index 標籤沒什麼意義可言。 #### index/noindex 使用時機 你會選擇使用 noindex 的時機,可能是想刪減網站被索引的內容,將一些內容過短的頁面移除。 例如,使用者產生的個人化頁面。 但除此之外,你仍希望保有網頁能被順利造訪的可行性。 #### follow/nofollow 標籤 follow、nofollow 會告訴搜尋引擎,是否需要關注網頁內的連結。 follow 標籤,是指機器人會關注網頁內的連結,並為那些網站提供一定的網頁權重分數。 nofollow 標籤,則是會讓搜尋引擎不關注、不傳權重分數,給頁面上的相關網址。 根據預設,所有的網頁都是具備 follow 標籤。 #### follow/nofollow 使用時機 nofollow 標籤與 noindex 標籤最常搭配使用。 因為當你想避免某頁面被索引的同時,同時也會想避免爬蟲關注該頁面中的連結。 #### noarchive 標籤 noarchive 標籤,是用來限制搜尋引擎儲存網頁的暫存檔。 根據 Google 預設,搜尋引擎會讓所有網頁暫存檔納入索引,並使所有搜尋者,都可造訪網頁暫存檔的連結。 #### noarchive 使用時機 如果你在經營一個電商網站,該網站的價格變化快速。 你可能會考慮使用 noarchive 標籤,用以防止看到過時的價格。 以下網頁的 <head> 區塊,就含有 Robots meta 標籤。 ``` <!DOCTYPE html> <html> <head> <meta name="robots" content="noindex, nofollow" /> </head> <body>... </body> </html> ``` 上述範例,會使搜尋引擎將該網頁排除索引外,同時也不會關注頁面內含的連結。 如果你想要排除多個檢索機器人爬取,例如 googlebot 或 bing。 可以使用多個機器人排除標籤,達到這個目的。 ### meta 指令只影響索引,不影響檢索 googlebot 要查看 meta 標籤的前提,是能夠順利爬取網頁內容。 因此,若你試圖阻止爬蟲查看網頁內容,meta 指令則無法運作。 Robots tags 一定要能被抓取,才有運作的機會。 ### [X-Robots 標籤](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag) x-robots 標籤,是寫在網址 HTTP 區塊的語法,相較於 meta 標籤,它提供更有彈性、更多的功能。 透過使用「規則運算式」,就可以阻止機器人爬取非 HTML 類型的檔案,並將 noindex 標籤應用至整個網站。 藉此,達到大規模阻擋機器人爬取網站的效果。 你可以輕鬆將整個資料夾或檔案,從索引中排除。 例如檔案位置的路徑為 moz.com/no-bake/old-recipes-to-noindex 針對資料夾層級,可撰寫以下程式碼: ``` <Files ~ “\/?no\-bake\/.*”> Header set X-Robots-Tag “noindex, nofollow”</Files> ``` 針對特定檔案層級,可撰寫以下程式碼: ``` <Files ~ “\.pdf$”> Header set X-Robots-Tag “noindex, nofollow”</Files> ``` 了解有哪些方法,會影響機器人爬取、檢索的任務,將幫助你避開常見的錯誤,同時確保特定頁面無法被機器人爬取。 --- ## 排名:搜尋引擎如何排序網址? 當某人輸入一組關鍵字到搜尋欄中,搜尋引擎要如何確保,使用者得到最相關的查詢結果? 這個問題,就是接下來要探討的重點:排名。 它是一種根據關鍵字,將搜尋結果從「最相關」排至「最不相關」的排序過程。 為了確保內容具有關聯性,搜尋引擎使用「演算法」此機制。 它是一種運算流程,會抓取已索引的資料,並以有意義的方式排序資料。 為了優化搜尋結果頁的內容,經過多年下來,這些演算法已經經歷了許多許多改變 以 Google 為例,它幾乎每天都會微調演算法。 這些調整項目裡,有些是針對內容品質微調,有些則是核心運算機制更新,用已解決某個特定的問題。 像是企鵝演算法,是為了處理垃圾連結問題。 我們可以查看 [Google 演算法的調整歷史](https://moz.com/google-algorithm-change),了解有那些公布與未公佈的調整消息。 你可能會好奇:「為什麼演算法更新頻率要如此高?」 雖說 Google 不會每次都透漏更新原因與內容,但我們可以知道,當演算法被修改時,都是以提升搜尋品質作為大方向。 這就是為什麼,每當 Google 回應演算法更新問題時,總會提及:「我們無時無刻都在改善搜尋品質」 因此,當你的網站因演算法調整,導致流量下跌。 代表你正在做的事情,違反[《搜尋品質指南》](https://developers.google.com/search/docs/advanced/guidelines/overview?ref_topic=6001981&visit_id=637713246197013892-3646879739&rd=1#quality)或[《搜尋評估指南》](https://static.googleusercontent.com/media/guidelines.raterhub.com/zh-TW//searchqualityevaluatorguidelines.pdf)。 換句話說,你沒有滿足搜尋引擎的需求。 --- ## 搜尋引擎想要什麼? 搜尋引擎總是只要一件事:將有用的解答,以最有效的呈現方式,釐清搜尋者的問題。 這也是為什麼過去 SEO 的執行方法,與現在優化方向完全不同。 我們可以把它想成,某人正學習一個新的語言。 最初,他們的語言理解能力非常初階。 隨著時間遞增,他們的理解程度開始加深,並能學習其中的語意,了解單字與短句的關係。 最終,藉由足夠的練習,他們已能了解語言之間的微小差別,甚至能解答不完整的問句。 我們將上述流程,套用至搜尋引擎,即可理解它的發展進程。 當搜尋引擎開始學習一種語言時,網站比較容易透過作弊等手法,取得良好排名。 我們以「關鍵字堆積」為例,如果你想要取得特定關鍵字的排名,例如:「有趣笑話」。 你可能會增添成堆的「有趣笑話」在網頁中,並將那些詞加粗,希望以此取得良好成效。 > 歡迎來到有趣笑話!我們會跟你說世界上最有趣的笑話。 > > 有趣的笑話很有趣與瘋狂,屬於你的有趣笑話在等著你。 > > 坐好並開始準備閱讀有趣笑話,因為有趣笑話可以使你更開心 > 、更有趣。 上述這種作法,將導致使用者有糟糕的網站體驗。 它們不會因有趣的笑話而放聲大笑,反而會被惱人的文字堆砌氣炸。 它可能在過去會發揮作用,但絕非搜尋引擎想要的內容。 --- ## 連結在 SEO 扮演的角色 當我們談到連結,我們可能在討論兩件事。 反向連結(又稱 Backlinks 或 inbound links),是指來自其他網站的連結,將其流量導入自己的網站。 同時,內部連結(又稱 internal links),是指網站內部互相導流的連結。  歷年來,連結在 SEO 扮演重要的角色。 最早開始,搜尋引擎因為需要網址,用來找尋更多值得信任的網站,以此決定網站的排名結果。 計算反向連結的數量,確實能幫助他們作為排名依據。 反向連結的用作模式,很像大家口耳相傳的「口碑」。 我們以一間虛構的咖啡店:珍妮咖啡為例。 - 來自其他網站的連結 = 網站信賴度的好兆頭 例如:許多人都告訴你,珍妮咖啡此區最棒的咖啡店。 - 來自自己網站的連結 = 有偏見,不是網站信賴度的好兆頭 例如:珍妮宣稱她自己的店面,擁有此區最好的咖啡。 - 來自低品質、不相關網站的連結 =不是好兆頭,甚至可能被標記為垃圾網站 例如:珍妮付錢請別人葉配自己的咖啡店 - 沒有連結 = 不清楚是否值得信賴 例如:珍妮可能很好,但你還沒聽過任何關於那間店的評論,因此你無法確定。 上述各種情況,讓 Google 創造了 [PageRank] 此核心演算法。(https://moz.com/learn/seo/what-is-link-equity) PageRank 簡稱 PR,又被稱為「SEO 分數」,是由 Google 創辦人命名而來。 它是一種連結分析的演算法,藉由計算連結的品質與數量,以找出最重要的網頁。 基本上,一個值得信賴、有關連性、重要的網站,理論上會擁有越多反向連結。 因此,當你獲得越多高權重(信任)網站的反向連結,你越有機會提升自己的搜尋排名。 --- ## 內容在 SEO 扮演的角色 如果連結沒有將使用者導向某個東西,它就是無意義的連結。 那個東西就是內容! 內容不只是幾個字,它是一種可被搜尋者吸收的呈現方式。 例如影片內容、圖片內容以及文字內容。 如果搜尋引擎是一個解答機器,內容就是該機器傳遞的解答。 每當有人搜尋時,都會出現超過上千筆可能的結果。 那麼請問搜尋引擎,如何判斷哪個網頁對搜尋者最有價值? 其中一個影響排名的因素,就是網頁的內容,能否滿足使用者的意圖。 換句話說,若想爭取良好排名前,需思考自己的網頁內容,能否滿足該關鍵字欲達成的目標。 由於內容的價值,在於滿足使用者完成某件事的需求。 因此,針對網頁內容的長度、關鍵字出現次數、標題內的文字標籤等方面,都不會有個標準答案可參考。 雖說上述原因,都可能影響該頁面的搜尋表現,但總體來看,我們都是專注在,提供讀者願意閱讀的內容。 現今,雖說一個網頁會擁有上百個排名訊號,但主要的三大重點,仍保持不變: - 網站反向連結數量(第三方信賴訊號) - 頁面內容(內容品質能否滿足使用意圖) - RankBrian --- ## 什麼是 RankBrain ? [RankBrian](https://youtu.be/QJa0MDf2wh8) 是一個以「機器學習」為主軸的核心演算法。 「機器學習」是一種電腦程式,它可以透過大量的新數據、洞察,自行改善程式的預測能力。 換句話說,它總是在學習,也因為它總是在學習,因此使用者得到的搜尋結果,照理將會不斷變更好。 舉例來說,如果 RankBrain 注意到某條排名較低的網址,提供比高排名還好的內容。 那麼你可以預期,RankBrain 將使該網址,移致更好的排名位置,並將關聯性較低的內容,排名調降。  如同許多搜尋引擎演算法,我們其實不太理解 RankBrain 如何組成。 但顯然地,[Google 的員工其實也不太懂](https://www.seroundtable.com/google-dont-understand-rankbrain-21744.html)。 ### 這件事對 SEO 有什麼含意? 因為 Google 將持續利用 RankBrain 演算法,用來找出最相關、最有幫助的內容。 對此,我們將需要比過去,更努力滿足使用者的意圖。 提供最好的資訊與體驗給網站使用者,就能在 RankBrian 的世界裡,向前邁出一大步。 --- ## 互動指標:相關性、因果性,或兩者兼具? 在 Google 排名裡,使用者互動的指標,很有可能與排名有一定的關聯性與因果性。 當我們說到互動指標,是指搜尋者與網站互動的數據。 這些指標包括以下類型: - 點擊(Clicks):來自搜尋點擊的訪客 - 停留時間(Time on page):訪客在離開網站頁面前,停留的時間長度 - 跳出率(Bounce rate):在一個工作階段裡,使用者只查看一個網頁的比率。 - 彈跳桿(Pogo-sticking):使用者點擊某個自然搜尋結果,並在進入網站後迅速離開,造訪下一個搜尋結果。 包含 Moz 在內的許多公司研究顯示,互動指標與良好的排名有一定的相關性,但是否具有因果性就廣受爭議。 是否有良好的互動指標,就能取得叫好的排名? 又或者網站有排名的原因,是因為它具有良好的互動指標? ### Google 怎麼說? 雖然他們從未使用「直接排名訊號」一詞,但 Google 清楚表示,他們絕對會使用點擊數據,以此修正特定關鍵字的排名。 根據 Google 前搜尋品質主管 Udi Manber 表示: > 排名本身受到點擊數據影響。 > > 如果我們發現某關鍵字,有 80% 使用者點擊排名 2 的結果,且只有 10% 點擊排名 1。 > > 那我們就可已知道排名 2 的內容,更能滿足使用者需求,以此調整搜尋排名。 另外,前 Google 工程師 Edmond Lau 證實以下評論: > 很明顯,任何搜尋引擎,都會合理使用點擊數據,作為改善搜尋品質的回饋指標。 > > 至於公司如何將點擊數據,實際應用到搜尋機制,則屬於所有權的範圍。 > > 但 Google 明確表示出,他們會將點擊數據應用至專利系統上,例如排名調整的相關因素。 由於 Google 需要維持並改善搜尋品質,它必然會將點擊數據,不僅僅只視唯一個關聯性指標。 雖說如此,可是 Google 似乎未將點擊數據稱為「排名信號」,因為那些訊號,是可以用來改善搜尋品質指標。 其中,單一網址的排名,也只是搜尋品質評估項目裡,其中一個副產品而已。 ### 哪些測試結果已被證實? 許多不同的測試結果,已經證實 Google 會根據搜尋互動指標,調整搜尋結果頁。 - [Rand Fishkin 在 2014 年時,藉由 200 人點擊某特定網頁,使其排名從第七名上升至第一名](https://sparktoro.com/blog/queries-clicks-influence-googles-results/?__cf_chl_jschl_tk__=HaImJiV_sCyUZjZff.AgCzQr0q7.CU4XiefVNkydmU0-1636333036-0-gaNycGzNCNE)。 有趣的是,網站排名還會隨著不同的地區劃分。 雖說該網址在美國排名第一,但在加拿大、澳洲等地區,網址排名仍處於較低的位置。 - [Darren Shaw 的測試也顯示,使用者的行為,會影響本地搜尋結果與地圖搜尋結果。](https://www.slideshare.net/darrenshaw1/darren-shaw-user-behavior-and-local-search-dallas-state-of-search-2014) - [Larry Kim 以停留時間為指標,比較 RankBrian 演算法「出現前」與「出現後」,網站排名的差異。](https://www.wordstream.com/blog/ws/2017/01/25/dwell-time-seo) 結果顯示,機器學習演算法,似乎會調降訪客不會花時間停留的內容。 由於使用者參與指標,很明顯是改善搜尋品質的調整因子,並產生網站順位改變此副產品。 因此,我們可以肯定的說,SEO 應該以參與程度作為優化方向。 雖說參與度不會影響客觀的網站品質,但卻同步影響使用者搜尋該關鍵字時,其他網站的搜尋價值。 這就是為什麼,明明網站的內容、連結都沒有任何改變,網站排名卻降低。 原因就是,其他人的網站有相較好的參與指標,造成排名重新調整。 因此,我們可以將參與指標看成事實查核工具。 客觀的排名因素如連結、內容,會先作為排名的主要參考。接著, Google 再透過參與指標,了解那些排名是否在正確的位置。 ## 搜尋引擎的演變 回到搜尋引擎尚未如此精緻的時代。 「10 條藍色連結」一詞,是用來描述搜尋結果頁扁平的結構。 每當搜尋被執行一次,Google 就會回傳 10 條搜尋結果,並且每次都以一樣形式呈現。  在這種搜尋環境,取得第一名的位置就是 SEO 的聖杯。 但時代變了。 Google 開始增添在搜尋結果頁,增添新的搜尋形式。 這些搜尋元素包含: - 付費廣告 - 摘要片段 - 其他人也問了 - 本地地圖包 - 知識圖譜 - 網站連結 此外,Google 至今仍不斷新增新功能。他們還進行了「搜尋排名 0」的實驗。 它是一種搜尋情境,用來描述搜尋結果只出現一個知識圖譜功能,除了「查看更多」選項外,沒有其他網站的連結出現。 這些額外的搜尋功能,在剛推出時曾導致一些恐慌。 恐慌的原因主要有兩個:第一,這些新功能會使網頁的自然流量被將低。 此外,會有越來越少使用者,願意點擊查看網站。因為使用者可以直接在搜尋結果頁上得到解答。 所以為什麼 Google 想這麼做?原因要回到搜尋體驗本身。 使用者的行為顯示,有些關鍵字相比之下,比其他不同的內容,更容易得到滿足 下表整理不同的 SERP 功能,對應著那些不同種類的搜尋意圖。 | 搜尋意圖 | 可能觸發的 SERP 功能 | | -------- | -------- | | 資訊 | 精選摘要 | | 只有單一解答的訊息 | 知識圖譜、立即解答 | | 地點 | 地圖包 | | 交易 | 購物欄 | 我們將在第三章更詳細解說搜尋意圖。 但對於現在,重要的是了解,解答可以藉由各式各樣的形式,傳達給使用者。 此外,你的網頁內容架構,也會影響它出現在 SERP 的呈現形式。 ## 本地搜尋 如 Google 這樣的搜尋引擎,擁有自己專屬的本地商家的索引列表。 如果你正在執行本地 SEO 工作,且該商家擁有實體店面,可供顧客造訪(例如牙醫),或提供上門到家的服務(例如水電工)。 請務必確保你取得「Google 我的商家」的認證。 當我們談到本地搜尋結果,Google 使用三個主要因素去決定排名: 1. 關聯性 2. 距離 3. 著名程度 ### 相關性 相關性是指本地商家,與使用者搜尋關鍵字的符合程度。 為了確保店家所做的每件事,都與使用者有相關,務必確認商家資訊徹底正確的填寫清楚。 ### 距離 Google 使用你的地理位置,用以提供更好的本地搜尋結果。 本地搜尋結果對於「位置鄰近程度」非常敏銳。 通常自然搜尋對於使用者的地點,都有一定的敏銳度,但卻很少如「本地搜尋」此功能般明顯。 註:位置鄰近程度,是指搜尋者自身的位置,與搜尋地點兩者的接近程度。 ### 著名程度 Google 希望透過「著名程度」此功能,藉此獎勵已在實體世界中具備知名度的企業。 除了企業的線下知名度,Google 同樣也會查看線上因素,去決定本地排名的順位。 例如: - 評論 本地商家在 Google 評論的數量,以及那些評論評論的心情,都會對他們在本地搜尋結果的排名能力,有個明顯的影響。 - 引述 「商業引述」或「企業名錄」,是一種網路上的本地企業資訊表。 該表會在本地企業平台(如 Yelp, Acxiom, YP, Infogroup, Localeze 等地),刊登企業的名稱、地址與電話。 本地排名會因商業引用的「數量」、「一致性」而受到影響。 Google 會根據廣告多變的資料來源,不斷更新、建立它自己的本地企業索引。 當 Google 發現有多重且一致的商業引述時,它會加強該筆資料的信任有效性。 常見的引述有店家名稱、電話號碼與地址。 上述這種機制,使 Google 能顯示更有保證的店家資訊。 當然,Google 也會參考其他管道來源的資訊,例如連結與文章。 ### 自然排名 SEO 的優化方法,同樣也適用於本地 SEO。 因為當 Google 決定本地排名時,同樣會考慮網站的自然排名位置。 在下個章節,你將會學到頁面 SEO 的最佳實踐方法,幫助 Google 與使用者更了解你的內容。 ## 本地參與率(加贈內容) 雖說 Google 未將參與率列入本地排名因素,但其指標扮演的角色,在未來只可能越來越重要。 Google 不斷藉由合併現實世界的數據,以此豐富本地搜尋結果。 例如:「熱門造訪的時間」與「平均訪問時長」。  ...甚至還提供搜尋者詢問店家問題。  無疑地,現今的本地搜尋結果相較過往,現實世界的數據已具備更大的影響力。 這種互動性,是搜尋者與本地商家的實際回應,而非純粹的統計(或可被操弄的)數據,如連結與引用次數。 因為 Google 想要提供最好、最相關的本地商家給使用者。 不難想像,他們會使用真實世界的互動指標,用來判定數據品質與關聯性。 --- 你不必了解 Google 演算的完整面貌(它仍是個謎!)。 但至少你現在已經有個認知基準,關於搜尋引擎如何找到、翻譯、儲存並排名網站內容。 帶著這些知識,讓我們學習如何挑選,網站內容的關鍵字。 --- 由 [Britney Muller](https://moz.com/community/q/user/britneymuller) 及 Moz 員工撰寫
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up