搜尋引擎的原理與 SEO 排名淺規則

網站 SEO 優化第一步:解決 Google 索引問題的 4 個方法

不曉得大家有沒有好奇過:Google 與其他搜尋引擎是如何整合不同伺服器的網站,並且挑出你想要的內容給你呢?其實這一切要從 Google 龐大的資料庫系統開始,而讓自己的網站被納入這個資料庫,就是網站 SEO 的第一要務,這個過程被稱為「索引」

解決索引問題,是 SEO 的開始

想獲得排名,最基本的要求就是得讓網站存在 Google 龐大的資料庫中。而讓網站進到資料庫中,將會涉及兩個問題——「檢索」與「索引」:

所有的搜尋引擎有「檢索」這個過程,這是指引擎的爬蟲程式在網路上讀取不同伺服器的檔案,也就是在網路上尋找不同網站、不同網頁與檔案,如果找到合適的內容,就會進行「索引」將其規納入自身的資料庫當中。

  • 檢索(爬取):指搜尋引擎利用頁面中的連結,在網頁間一個一個走過,逐漸了解整個網站內容的過程,由於這個過程就像是在爬行一樣,因此被業界稱為「爬取」。在這個過程中,搜尋引擎將會確認網站中有多少頁面、程式碼、文字、圖檔⋯⋯,是認識網站的第一步驟
  • 索引(收錄):搜尋引擎爬取完網站之後,「通常」會將其放入引擎資料庫中,以供後續進行排名使用,這個過程稱為索引(收錄)。我們可以輕易地利用各大搜尋引擎的網站管理系統來查看收錄狀況,以 Google 來說,就可以從 Search Console 當中的涵蓋範圍就能清楚看出索引狀況
search console 示意圖

大家必須知道的是,如果網站沒有被索引(收錄),等於不存在搜尋引擎的資料庫當中,也不可能會有後續取得排名的機會。所以,如果網站遇到索引問題,一定得優先解決,才有辦法做後續 SEO 優化,這裡我們會針對常見的四種狀況,告訴大家如何解決:

Google 不是萬事通,不一定知道你有網站

以我們的經驗,應該有超過 80% 的 SEO 索引問題,都是網站沒有被搜尋引擎給檢索到,所以,只要我們主動告知 Google 與其他搜尋引擎網站在哪裡,就能直接改善這個問題。以 Google 來說,透過 Google Search Console 這個工具,提交 Sitemap 網站地圖,或者針對個別網頁提交需求,通常都能解決問題

補充說明:Google Search Console 是做 SEO 最實用的工具之一,這是 Google 免費提供的網站管理工具,除了能夠提交網址,也有許多與 Google SEO 相關的功能,包含:查看排名統計、優化數據資料、確認安全性問題⋯⋯等等。如果想了解更多,可以查看:Search Console 使用指南
補充說明:Sitemap 是指網站的目錄,許多後台都有內建產生的程式碼,也可以透過 Sitemap 產生工具快速生成。想了解更多請看:Sitemap 是什麼?了解免費產生器與提交方式

網站結構導致無法取得正確內容

搜尋引擎在檢索網站的過程當中,並不是像一般用戶一樣,以視覺化的介面理解網站,而是以程式碼的角度進行解析,而這也就產生了一個很大的差異:某些人為能夠操作的事情,透過程式碼很難做到。最典型的例子就是以 ajax 寫成的瀑布流內容,也就是頁面在網址不變動的過程中,不斷產生新內容的做法, Facebook 就是典型的代表,因為對機器人的操作來說,並不存在往下滑動這種概念,這導致伺服器不會吐出新內容,也就無法看到如同一般用戶的相關內容。

因此,在 SEO 實務上,會建議避免在重要內容中使用 JavaScript、ajax、flash⋯⋯等技術,尤其要避免用在:導覽列、麵包屑、產品目錄、文章列表⋯⋯等連結元素。雖然 Google 的檢索能力越來越好,能夠解決不少 JavaScript 生成的內容,但其他搜尋引擎並不一定支援,而且這種讓引擎更多麻煩的事情,違背了 SEO 的核心概念:搜尋引擎友好,所以依然不建議這樣撰寫。

如果不確定網站的內容是否可以被讀取,可以透過 Search Console 進行網址檢查線上測試網址,就可以看到在 Google 眼中網站長什麼樣子,最關鍵的是檢查網站核心內容,是否出現在 Google 看到的代碼中

search console 提交網址

另一個檢查 Google 如何看待網站的方法是透過搜尋結果頁上的「頁庫存檔」功能,這是指 Google 對網頁進行的快取,它能在某種程度上反應 Google 如何看待這個網頁,找到網頁後選擇文字版,通常只要這裡呈現出主要內容,就表示 Google 對於爬取網站沒有太多困難。

頁庫存檔

網頁內容重覆性太高、或者缺乏內容

當網頁內容太過單薄,或者重覆性太高時,Google 會認為網頁價值不足以提供給用戶,所以不會進行索引,遇到這種問題時,需要徹底檢視自己網站中為什麼會有這種內容不足、重覆性高的頁面,調整這些問題,才是解決的根本之道

補充說明:SEO 很重要的一個優化項目就是解決重複內容的問題,具體做法可以參考:網站 SEO 排名殺手,重複內容的解決大全
補充說明:如果 Google 因為內容重覆性過高而不索引網頁,其實並非壞事,因為重覆性內容將會造成網站整體權重下降,進而影響排名。在實際操作 SEO 的過程中,排除被索引的重覆頁面就是會使用的 SEO 手法

網站經營者可以宣告不接受索引

有些程式標籤能夠拒絕 Google 索引網頁,這些標籤通常用在不想被搜尋到的網頁上,例如:我的帳戶、結帳頁、或者是還未開發完成的頁面⋯⋯。這些標籤是經營者自己設定的,但有時會忘記要移除相關設定,導致應該要被索引的網頁,自然被排除在外,這聽起來很搞笑,但卻是很常發生的狀況,因此,檢查是否有錯誤設置的標籤也是改善索引的重要步驟

這裡進階說明:如果我們不希望 Google 爬取,可以在網站根目錄添加一個 robots.txt 的檔案,並宣告哪些頁面不允許爬取,以下是程式寫法範例:

  • User-agent:填入搜尋引擎的值(* 號代表全部、Googlebot 代表 Google、bingbot 代表 Bing,其他搜尋引擎也有自己的代碼。)
  • Disallow:填入不希望被搜尋引擎檢索的頁面路徑( / 代表所有網頁,也可以個別輸入單一路徑下的全部頁面,例如:/admin/ 就會拒絕這個路徑下的網頁。)
  • Allow:允許爬取的網頁路徑,由於預設就是所有網頁,因此通常不用設定。

讓我們看幾個範例:

//範例一:阻止所有搜尋引擎檢索所有頁面
User-agent: *
Disallow: /
//範例二:只阻止Google引擎檢索所有頁面
User-agent: Googlebot
Disallow: /
//範例三:阻止所有引擎檢索 /admin/ 路徑下的全部頁面
User-agent: *
Disallow: /admin/

一般來說,工程師會在開發階段阻止所有引擎檢索所有頁面,在開發完成後通常只會禁止敏感資訊的頁面,例如:登入頁、購物車、個資相關頁面⋯⋯。

除了利用 robots.txt 檔案之外,也可以在該頁面宣告不希望被納入資料庫的程式碼,但不同的是,在頁面上的宣告是禁止納入資料庫,引擎還是會爬到這個網頁。最常使用的情況是希望引擎拿這個網頁當作跳板,但不要被搜尋到。

要做到這些事情,需要搭配兩個指令一起使用,分別是:noindex 標籤與 nofollow 標籤,index 是宣告要不要被索引,follow 則是宣告頁面上的連結要不要爬取。

在網頁區域的標籤設定:meta name=”robots” content=”noindex, nofollow” 就能夠拒絕引擎的存取與繼續爬取

這兩個指令搭配使用所產生的宣告邏輯如下:

// 範例一:沒有意義,因為預設值就是這個,所以這樣宣告等於沒有宣告
<meta name="robots"  content="index, follow">
// 範例二:這是告訴引擎,不要索引這個頁面,同時這個頁面下的連結也不要再繼續爬了。
<meta name="robots"  content="noindex, nofollow">
// 範例三:檢索資料時該頁面的相關連結不要檢索。
<meta name="robots"  content="index, nofollow">
// 範例四:這是最常使用的,就是不要索引這個頁面,但頁面上的連結可以繼續爬,也就是把這個頁面當作跳板就好。
<meta name="robots"  content="noindex, follow">

這些關於程式碼的設定,屬於較為進階的做法,只有在特殊的 SEO 需求下才會使用,如果這些內容對你來說太過複雜的話,相關的宣告只需要知道如何避免被索引已經很充足了。

SEO 索引問題的結論

返回頂端