SEO新手必學: 搜尋引擎 的運作原理

搜尋引擎 的兩大基本功能

Google 官方的說明指出,搜尋引擎有二大基本功能:

  • 抓取(Crawl)並索引(index)資料

Google引擎每天會派出許多爬蟲出去爬取網頁,到處抓取資料,再將這些資料放到他們的資料中心(索引)。

  • 提供搜尋結果

收錄了網站之後,下一步則是依照相關性提供搜尋結果給使用者。而其中的相關性,也就決定了網站排名了。

假設互聯網是一個巨大的蜘蛛網,網上的每一個節點就是一個網站,搜尋引擎的爬蟲就被派出去爬取這些節點,一路上找尋所有的網站,而對爬蟲來說最好的路徑就是「連結」。

這些網站一但被找到了,就被搜尋引擎列入他的爬取schedule中,搜尋引擎會開始解析這些網站,並列出爬取的優先次序。一旦頁面被爬取後,就會進入下一個演算法,也就是要決定哪些頁面要被收錄在資料中心,這的動作就是索引了。索引是為了日後有人搜尋相關資訊時可以隨時備查,以最快的速度提供給使用者,而不是在你搜尋的當下才去爬取相關網站。

是否發現了?這個流程的開頭是網站必須被找到,也就是並不是每個網站(URL)都有被發現、被爬取,搜尋引擎也不會去收錄每一個它爬取過的網站。

網站不被爬取或收錄,可能跟下列語法的設定有關:

  • Robot.txt

搜尋爬蟲進入一個網站,第一個動作是找尋並讀取robot.txt檔。Robot.txt檔有兩個部分,第一是user-agent,這部分定義了這個網站允許那些搜尋爬蟲來爬取網站,第二部分是disallow,定義了哪些目錄不想被爬取。

  • Noindex

告訴搜尋引擎不要索引這個頁面,但在頁面層級的noindex指令是不明確的。搜尋引擎仍然可能爬取網頁並且將這個頁面與某個收錄的字詞作關聯,但這個頁面基本上不會被列入搜尋結果。

  • Canonicals指令

Canonical語法是用於,一個網站可能有多個頁面為重複內容,為了將權重集中於其中一頁,而設定的語法。

相信大家都覺得搜尋結果的內容相關性越來越高了。究竟Google大神為什麼這麼神呢?

當你在搜尋Bar打下搜尋詞的時候,第一,搜尋引擎只會顯示相關的網站給你,第二,它還依據網站的相關性(Relevance)以及受歡迎程度(Popularity)作了網站排名。而SEO在經營的,就是要去影響這個相關性以及受歡迎程度。

搜尋引擎 如何決定網站的相關性及受歡迎程度

在抓取、索引網站後,搜尋引擎又細分了五個步驟來決定網站的相關性及受歡迎程度:

  1. 分析

這部分就是在計算網頁的相關數據,包括網頁的信賴度、連結的分析以及頁面的分類等等。

主要分析分為兩部分:與關鍵字相關以及與關鍵字無關。

與關鍵字相關的,就是頁面內容萃取出多少跟關鍵字詞相關的內容;與關鍵字無關的部分,則包含了像是信賴度、結構化標記,其他包含網站的流量、歷史等等,都會被納入考量。

  1. 過濾

主要是用來過濾掉垃圾網站,以及低品質的網站,像是內容農場。

Google於2011年推出的熊貓演算法,2012年推出的企鵝演算法,目的都是在過濾違反規則的網站,提高搜尋結果品質。

  1. 解析

主要用來提高搜尋結果與查詢詞的關聯性。

  1. 排名

為了提供最相關的搜尋結果,搜尋引擎的演算法包含了數百個變數,我們稱之為排名因素(Ranking Factor),大致上可以分為網站整體排名因素、網頁內部排名因素、網頁間排名因素,以及使用者行為等。

(延伸閱讀:SEO 搜尋引擎優化-網站排名的關鍵因素)

  1. 展示

也就是搜尋結果顯示的樣子,包含網頁標題、網頁描述、以及相關連結等。

網站經營者可能會發現,搜尋引擎顯示的標題,和你的網頁標題並不符合,這就是沒有注意展示原則的可能結果。

是否發現了?在這一系列的流程中,前提是網站必須被找到,也就是並不是每個網站(URL)都有被發現、被爬取,搜尋引擎也不會去收錄每一個它爬取過的網站,而這部分就關乎於網站的搜尋引擎友善度了。

搜尋引擎友善度

網站不被爬取或收錄,很可能是網站的語法或是設定,或是網站內容是無法收錄的,簡而言之,就是對搜尋引擎是不友善的。

常見的狀況如下:

  • 內容是不可爬取的

要做好SEO,第一個前提是網站必須是搜尋爬蟲可以爬取的,也就是,網站的重點內容必須是HTML。

不可爬取的內容有哪些?例如,圖片、Flash、Java組件。

  • 網站架構完整性不足

可能有部分頁面呈現孤島狀態,也就是沒有任何頁面跟它有連結,這樣一來,搜尋引擎也是無法找到這個頁面的。

(延伸閱讀:SEO網站優化-如何規劃網站架構)

  • 內容隱藏於提交表單中

如果有特定的內容,是要求使用者完成線上表單才可以取得,有可能搜尋引擎是永遠看不到這些頁面的。因為表格可能含有密碼或是需要填入許多資料。不論是哪種狀態,搜尋引擎是不會試著去提交表單的,因此這一類內容對搜尋引擎而言形同隱形。

  • 連結埋在JavaScript中

這樣的頁面,搜尋爬蟲不是不會爬取,就是給予它比較低的權重。如果一個頁面的連結是希望被搜尋引擎爬取的,它的連結就必須是HTML語法。

  • Frame 或是iframe頁面

技術上來說,在frame和iframe中的內容是可以爬取的,但是這樣的內容,對於搜尋引擎在爬取的時候,會有結構性和後續追蹤的問題。iframe是一個HTML語法,讓你能夠將其它網站的內容崁在你的網站。簡言之,iframe就是一個頁面中的頁面,搜尋引擎知道崁在頁面中的內容是來自其他來源,因此這些內容並不會被算在這個頁面之中。如果是重點葉面、希望取得好的排名,不要使用iframe。

如果你並不是非常熟悉搜尋爬蟲的爬取和追蹤方式,最好不要設計這樣的內容。

  • txt

搜尋爬蟲進入一個網站,第一個動作是找尋並讀取robot.txt檔。Robot.txt檔有兩個部分,第一是user-agent,這部分定義了這個網站允許那些搜尋爬蟲來爬取網站,第二部分是disallow,定義了哪些目錄不想被爬取。

  • Noindex

告訴搜尋引擎不要索引這個頁面,但在頁面層級的noindex指令是不明確的。搜尋引擎仍然可能爬取網頁並且將這個頁面與某個收錄的字詞作關聯,但這個頁面基本上不會被列入搜尋結果。

  • Nofollow

是在告訴搜尋引擎,不要前往此網頁上的連結。Nofollow一開始是頁面層級的標記,但後來nofollow已經可以應用在個別連結,網站管理員可以更精確地管理,哪些連結不要前往。

  • Canonicals指令

Canonical語法是用於,一個網站可能有多個頁面為重複內容,為了將權重集中於其中一頁,而設定的語法。

 

關於SEO,搜尋引擎的官方建議

看到這裡,大家已經大致了解搜尋引擎的運作模式,每一個步驟如果發生問題,都有可能影響搜尋結果。但是,是不是每個搜尋引擎運作方式都一樣呢?可以參考一下搜尋引擎的官方建議:

Google

Google的官方建議,各位站長們需要注意的項目包括:

網頁要為了使用者製作,而不是為了搜尋引擎。不要呈現給使用者的是一個樣子,顯示給搜尋引擎的內容又不同,刻意蒙騙搜尋引擎,像是早期的黑帽SEO做法,就會製作一些隱形的內容填充關鍵字。

此外,網站要有清楚的架構和層級,連結也要順暢,每個頁面至少都要有一個連結可以到達。

創造一個實用的、資訊豐富的網站,網站內容要清楚、明確,並確定你的title 和ALT都是明確、具有描述性的。

使用關鍵字創造描述性、友善的網址。並使用301轉址或是canonical語法去切割重複性的內容。

Bing

Bing的工程師則是提出了排名因素:

要確保乾淨、充滿關鍵字的網址結構。

內容不要隱藏於多媒體中,例如:Flash、Java Script、Ajax等。此外,多媒體中也不要隱藏連結於其中。內容要富有搜尋相關關鍵字,網站要經常更新內容。

不要將希望被索引的內容文字置入圖片,例如,如果希望公司名稱或是地址被收錄,要確定相關字詞不是放在logo中。

SEO入門9堂課:HOME

1—SEO新手必學第一課-搜尋引擎運作原理

2—SEO 搜尋引擎優化-網站排名的關鍵因素

3—SEO網站優化-如何規劃網站架構

4—SEO網站優化入門-行銷人必學HTML語法

5—內容行銷VS. SEO優化-缺一不可的網站排名密技

6—什麼是網站權重?網站權重與排名

7—什麼是反向連結?如何建立反向連結提升SEO排名

8—社交訊號(Social signal) 對SEO排名的影響

9—個人化搜尋(Personalization)對SEO排名的影響

Close Panel