Google SEO第一步:理解搜尋引擎的基本運行原理

Google SEO第一步:理解搜尋引擎的基本運行原理

Google SEO第一步:理解搜尋引擎的基本運行原理

搜尋引擎的運行原理也是SEO新手入門需要了解的知識,能夠説明你對搜尋引擎這個工具有個整體的認知。 對於所有的搜尋引擎來說,他們基本的工作流程都是相同的。

  • 首先是抓取,搜尋引擎通過蜘蛛(搜尋引擎的抓取程式),抓取互聯網上的眾多網站訊息;
  • 然後是收錄,搜尋引擎會把抓取到的網頁訊息,收錄到自己的資料庫中;
  • 最後是排名,搜尋引擎根據使用者使用的搜索詞通過它的特定演算法在資料庫中找到匹配的相關頁面,通過搜尋結果的形式展示給使用者。

抓取規則(Crawling)

搜尋引擎會利用蜘蛛工具抓取互聯網上可以抓取到的所有網頁訊息。 可能有人會問蜘蛛工具是什麼? 互聯網上的網站是相互連結的,網站內部的叫做內鏈,對外的連結叫做外鏈。 這些連結就像一張大網一樣,把幾乎所有的網站都連接到了一起,從而組合成了整個互聯網。

而搜尋引擎的抓取工具,就像蜘蛛一樣,可以順著這個網路對網頁訊息一個個地進行抓取。 所以,我們把搜尋引擎的抓取工具稱之為蜘蛛。 谷歌的抓取工具就叫做谷歌蜘蛛,百度的抓取工具就叫做百度蜘蛛,有些人也把蜘蛛叫做機器人,都是同一個意思。

技巧1:檢查網站是否可以被抓取

蜘蛛到你的網站上第一步會檢測你的網站是否處於可以抓取的狀態,因為不是所有的網站都願意讓搜尋引擎抓取。

比如,一個網站剛剛搭建,還沒有什麼實質性的內容,不想立刻對外開放,也不想給搜尋引擎留下不好的第一印象,於是可以選擇不讓蜘蛛抓取。 這一步實現起來也很簡單,主要是利用網站中的一個叫做robots.txt的協定檔告訴蜘蛛是否可以抓取本網站,甚至進一步規定哪些頁面可以抓取,哪些頁面不可以抓取。

想要查看一個網站的robots檔也很簡單,比如查看雲點SEO網的robots檔,可以在瀏覽器中輸入下述位址訪問即可:

通過訪問查看到的robots協定主要內容如下:

其中,User-agent規定對像是哪個搜尋引擎的蜘蛛,如果面向所有搜尋引擎就使用*這個符號;Disallow代表不允許抓取的內容;Allow代表允許抓取的內容;Sitemap代表網站xml地圖所在位置。

以上內容就告訴所有搜尋引擎的蜘蛛,/wp-admin/這個目錄除了admin-ajax.php可以抓取,其餘均不可以抓取。 另外,網站其他內容沒有做規定,預設均可抓取。 所以,如果robots.txt這個檔是空白的,也就預設所有內容均可抓取。

除了robots規則,如果網頁代碼中包含nofollow、noindex這兩個meta標籤,也會禁止搜尋引擎抓取、收錄此網頁。

技巧2:抓取的路徑(概念)

在獲得網站內容抓取許可權后,蜘蛛就會開始自己的抓取工作,搜集網站中各個網頁的訊息。 前面提到過,蜘蛛是順著連結爬行的,所以你的網站中的各個頁面需要有連結聯繫起來,這樣才能方便蜘蛛爬行抓取,這些連結也就是我們說的內鏈。

內鏈的一般形式有:各類導航連結、文中鏈接、圖片連結等。 如果你的某一個網頁,其他頁面上均無法跳轉到,sitemap網站地圖裡也沒有,外部也沒有任何連結指向它,那麼這個頁面蜘蛛也就無法到達了,除非你單獨提交給搜尋引擎,但這種頁面也就沒什麼意義了。

另外,蜘蛛的抓取工作不一定都是通過首頁開始的,可能蜘蛛是順著別的網站指向你網站中的某個頁面的連結爬進來的,也就是通過外鏈來到了你的網站。 所以,外鏈也能起到幫助網站被抓取的作用。

技巧3:可以抓取到的內容(概念)

即便robots規則沒有阻止抓取,搜尋引擎的蜘蛛抓取工具也不是任何內容都可以抓取到的。 和我們肉眼查看網站的方式不一樣,搜尋引擎看的是網站被抓取到的原始程式碼。

比如下方範例頁面,我們看到的內容是這個樣子:

而,搜尋引擎看的是蜘蛛抓取到的網頁代碼,不含任何設計樣式:

任何內容都是以代碼的方式呈現在搜尋引擎眼中:

所以,即便有些內容我們可以觀察到,但如果不能很好地顯示在代碼中,那對於搜尋引擎來說就是無法識別的。

在所有的網站程式設計語言中,Html是搜尋引擎最容易識別抓取的代碼,這也是為什麼做SEO時要求網站必須有靜態化的Html代碼的原因,動態的代碼程式會導致搜尋引擎無法識別抓取或者抓取不完全。

我看到過不少外貿網站,首頁就是一個動態的Flash動畫,視覺效果確實很不錯,但對於搜尋引擎來說,你的首頁基本上就是個空白的頁面,因為搜尋引擎理解不了你的Flash內容。 永遠不要把一個Flash動畫作為網站首頁,這對於SEO非常不利。

技巧4:查看谷歌快照

如果一個頁面已經被Google抓取並收錄,那麼這個頁面就會有個谷歌快照。 通過輸入「cache:網址」的指令,即可查看該網頁的谷歌快照,例如:

該頁面的快照(為了方便人們查看,快照不是純代碼形式,也是會應用設計樣式的):

通過對比網頁和谷歌快照,你可以查看網頁內容被抓取的情況。 如果很多內容都無法顯示在谷歌快照里,那麼就該想辦法調整了。 如果你想看下網頁在Google眼中的內容情況,可以點擊上圖中的"純文字版本",這就是谷歌過濾掉很多代碼後查看到的網站內容。

收錄規則(Indexing)

搜尋引擎在對網站進行抓取后,會判斷抓取到的網頁是否值得收錄到自己的資料庫中。 要知道,互聯網上的網站不計其數,每個網站又有數量不一的網頁,這是個非常龐大的數據量,搜尋引擎不可能對所有網頁都進行無差別收錄,即便是Google這樣擁有全球最大資料庫容量的公司也無法做到。

所以,搜尋引擎在收錄網頁時是會進行挑選的,不是所有網頁均有機會被收錄。 這也是我們給客戶做SEO時,一直強調網站內容不要抄襲、網頁內容盡量做得豐富的原因。 網頁擁有高質量的內容,才是保障收錄的最好方法。 只有被收錄了,才有參與到排名的機會。

技巧5:如何快速查看網站的谷歌收錄情況

想要確認自己的網站是否已經被谷歌收錄其實很簡單,只需使用谷歌搜索指令site:即可。 比如,我方雲點SEO網的谷歌收錄情況,在Google搜索中輸入:site: yundianseo.com,就可以看到如下結果:

如圖所示,一共找到了92條結果,代表著本站共有92個網頁被谷歌收錄。 注意:這個查詢數量不可以當做網站的頁面數量,因為你的網站頁面不一定已被收錄。 翻到搜尋結果最後一頁,再次查看一下,你會發現顯示的結果數往往會少一些:

這是因為,開始顯示的收錄數量是谷歌索引庫中已經收錄的頁面數量,點到最後一頁顯示的數量是不僅被收錄而且會展示出來的頁面數量,也叫做有效頁面,只有這些頁面才有機會參與到排名中。

網頁收錄有快有慢,一開始沒被收錄不代表就一定有問題,我遇到過有的客戶網站部分頁面是在網站上線幾個月後才陸續被收錄、展示出來。

同理,site:指令可以用來查詢具體某個頁面是否已經被谷歌收錄,:號後面接著網頁的網址即可(不需要加HTTP形式的開頭),以本頁面舉例:site: yundianseo.com/seo-guid

排名規則(Ranking)

排名是搜尋引擎工作機制的最後一步。 當收到使用者的查詢時,搜尋引擎會根據自身複雜的演算法來匹配已經收錄到資料庫中的網頁,按照評分排序,決定出這些網頁在搜尋結果中出現的位置。

所以說,搜索演算法是搜尋引擎的核心技術。 如果誰能夠掌握Google的具體演算法,那麼他就能夠操控谷歌排名。 顯然,這是不可能發生的事情。 演算法是搜尋引擎的核心機密,而且在不斷地升級更新中,根本不可能洩露或者被測試出來。

因此,很多拿著"保證排名"做口號的谷歌SEO公司都只是在搞噱頭套路罷了。

技巧6:谷歌演算法與排名因素(概念)

搜尋引擎的演算法也不是毫無痕跡的。 比如,Google就曾多次公佈其演算法里包含的某個排名因素。 國外有些SEO大牛也做過相關總結,整理出了200多個谷歌排名因素,這些排名因素有些被證實過,有些也只是猜測。

事實上,就算知道了確切的排名因素也無法完全操控排名,因為你不清楚這些排名因素在Google演算法里的具體比重是多少。 只能說,有利於排名的因素盡量都做好,不利於排名的因素盡量都避免。

具體如何做好以及避免,就需要長時間的經驗積累了。 其中有些排名因素是大家公認比較重要的,比如:

  • 網站內容
  • 網站品質
  • 用戶體驗
  • 網站速度
  • 等等

Google排名的目的是為使用者提供最符合對方需求的訊息;所以,谷歌關鍵詞排名不是一個不變的結果,Google總是會把更好的網頁排到更高的位置。 因此,即便你的網站排入了谷歌首頁,那也不是意味著SEO的結束。

後期,你仍然需要保持網站內容的更新,創造出更多有價值的內容出來,對於新產生的大量頁面也需要通過合理優化讓它們能夠為網站提供更多的權重,以維持排名的穩定,並獲得進一步提升的機會。

SEO是一個長期性的工程。 即便你的網站排到了Google首頁,也不代表就可以放手不管了,想要穩定排名和進一步提高,你就得創造更多有價值的內容,獲取更多的谷歌權重,保持網站的競爭力。

元宇宙讓一副畫作掛上NFT交易平臺Opensea被以4倍的價格售出

Github Pages 速度慢 vercel 部署靜態博客