我的博客 SEO 優化(1):搜索引擎原理介紹

文章首發於個人博客: 我的博客 SEO 優化(1):搜索引擎原理介紹

寫在文章前面:
前段時間接到一個 SEO 優化的私活。爲了完成這個活,只能趕鴨子上架,從零開始系統地去學習 SEO 知識。通過幾天的學習後,也算是入了門。才意識到 SEO 它的意義與重要性,以爲 SEO 對於作我的站點(博客也算是我的站點)的意義與重要性不言而喻。可能有人會反駁在現在自媒體、微信公衆號及知乎、掘金、sf等各類垂直網站盛行的年代,再去研究 SEO,對博客作 SEO 是否有必要。個人見解是,若是你想長期堅持維護本身的博客,那麼學習必要的 SEO 知識的收益是一件半衰期很長的事情,是一件堅持就會事半功倍的事情。算法

由於你只需花費很少的精力對博客進行站內優化,而後保持必定的文章更新頻率(若是有須要的話,還能夠進行站外優化)。就能提升你的博客在搜索引擎排名,爲本身的博客帶來更多的訪問量。不管你是想提升知名度仍是想讓你的文章可以幫助到更多的人,訪問量多了才能到達你的目的。數據庫

接下來的內容徹底是一個 SEO 初學者的學習總結,若是 SEO 大神看到,請輕噴,還望指出不足之處。瀏覽器

搜索引擎

可能有些人還不瞭解什麼是 SEO。所謂 SEO 指 Search Engine Optimization(搜索引擎優化)。經過對網站進行優化,來提升網站在搜索引擎中的排名,爲網站帶來更多的訪問。
在介紹 SEO 優化要素及技巧以前,咱們須要先對搜索引擎的工做原理有個瞭解。才能更好的理解 SEO 具體操做的意義。緩存

基本原理簡介

搜索引擎過程很是複雜,咱們這裏只能以最簡單的流程來介紹搜索引擎是怎麼實現網頁排名的。
搜索引擎的工做過程大致能夠分爲三個階段:服務器

  1. 爬行和抓取:搜索引擎經過跟蹤連接訪問網頁、得到頁面 HTML 代碼並存入數據庫。
  2. 預處理:索引程序對抓取來的頁面數據進行文字提取、中文分詞、索引等處理,以備排名程序調用。
  3. 排名:用戶輸入關鍵詞後,排名程序調用索引數據庫,計算相關性,而後按照一個的格式生成搜索結果頁面。

第一步:爬行和抓取

爬行和抓取是搜索引擎工做的第一步,完成數據收集的任務。微信

spider

搜索引擎用來爬行和抓取頁面的程序叫作也就是咱們熟知的蜘蛛(spider),也稱爲機器人(bot)。spider訪問網站頁面相似於普通用戶使用的瀏覽器。spider 發出頁面訪問請求後,服務器返回 HTML 代碼,spider 把收到的程序存入原始頁面數據庫。爲了提升爬行和抓取速度,搜索引擎一般或多個spider並行爬行。hexo

spider 訪問任何一個網站時,都會先訪問該網站根目錄下的 rotbots.txt 文件。該文件能夠告訴 spider 哪些文件或目錄能夠抓取或者禁止抓取。
和不一樣的瀏覽器 UA 不一樣同樣,不一樣廠商的 spider 也帶有特定代理的名稱。ide

跟蹤連接

爲了抓取網上儘量多的頁面,spider 會跟蹤網頁上的連接,從一個頁面爬到下一個頁面,就好像蜘蛛在蜘蛛網上爬行同樣。
爬行遍歷有兩種策略:學習

  • 深度優先:spider 沿着頁面的連接一直爬取,直到該頁面沒有其餘連接爲止
  • 廣度優先:spider 在一個頁面發現多個連接,先把這頁面的全部第一層連接都遍歷完,再繼續第二層連接遍歷

程序猿確定對這兩個遍歷算法很熟悉啦。
理論上不管是深度優先仍是廣度優先,只要給 spider 足夠的時間,老是能把互聯網上全部的頁面連接都爬取完。但實際狀況並非這樣,因爲各類資源的限制,搜索引擎也只是爬行和收錄互聯網的一部分。優化

因此一般 spider 都是深度優先和廣度優先混合使用

吸引蜘蛛

經過上面的介紹能夠知道,spider 不可能將全部的頁面都收錄,所以 SEO 就是要經過各類手段,吸引 spider 爬行收錄本身網站更多的頁面。既然不能全部頁面都收錄,那麼 spider 確定是儘可能抓取重要頁面。那麼 spider 是如何判斷哪些頁面重要?有幾個影響因素:

  • 網站和頁面權重。質量高,資格老的網站權重高。
  • 頁面更新度。更新頻率高的網站權重高。
  • 導入的連接。不管是外部連接仍是內部連接,要被 spider 抓取,就必需要有導入連接進入頁面。高質量的導入連接也常常使頁面上的導出連接被爬行深度增長。
  • 與首頁的點擊距離。通常來講,網站最高的權重就是首頁,大部分外鏈都是指向首頁,spider 訪問最頻繁的也是首頁。因此離首頁越近的頁面,權重也相對更高,被 spider 爬行的機會也越大。
地址庫

爲了不重複爬行和抓取網址,搜索引擎會創建一個地址庫,記錄已經被發現尚未抓取的頁面,以及已經被抓取的頁面。經過地址庫會有幾個來源:

  • 人工錄入的種子網站
  • spider 爬取頁面後,解析出網址,與地址庫對比。若是不存在,則存入
  • 站長經過搜索引擎網頁提交網址(通常我的博客或網站都採用這種方式)
文件存儲

spider 抓取的數據存入原始頁面數據庫。其中的頁面數據與用戶瀏覽器獲得的 HTML 是徹底同樣。

爬行時的複製內容檢測

檢測並刪除複製內容是在預處理的步驟處理掉。不過 spider 在爬行的時候也會進行必定程度的複製內容檢測。權重低,而大量抄襲複製內容的網站,spider 可能就再也不繼續爬行了。這也是爲何說一個網站須要原創內容的緣由。

第二步:預處理

預處理有時候也稱爲索引。由於索引是預處理中最主要的步驟。預處理有幾個步驟:

  1. 提取文字。搜索引擎會提取頁面的可見文字以及特殊的包含文字信息的代碼,如 Meta 標籤、圖片Alt屬性、超連接錨文字等。
  2. 分詞,不一樣的語言有不一樣的分詞如中文分詞,英文分詞。對第一步提取的文字進行分詞。不一樣的搜索引擎使用的分詞算法不一樣,會有差別。
  3. 去中止詞。不管中文仍是英文,都會有一些頻率高,對內容沒有影響的詞。如語氣詞、感嘆詞,介詞、副詞等。搜索引擎會在索引頁面以前去除這些詞。
  4. 消除噪聲。絕大部分頁面還有一部份內容對頁面主題也沒有貢獻。好比版權聲明文字,導航條等。以博客爲例,每一個頁面幾乎都會有的文章分類,歷史導航等信息,都是與頁面主題無關的。這些都是屬於噪音,須要消除掉。
  5. 去重。同一篇文章常常會重複出如今不一樣的網站及同一個網站的不一樣網址,搜索引擎並不喜歡這種重複的內容,因此搜索引擎會對這部份內容進行去重。
  6. 正向索引。也稱索引。通過前面文字提取、分詞、消噪、去重後,搜索引擎獲得的就是獨特的,能反映頁面主體內容,以詞爲單位的內容。接下來搜索引擎索引程序就能夠提取關鍵詞,按照分詞程序劃分好的詞,把頁面轉換爲一個關鍵詞組成的集合,同時記錄每個關鍵詞在頁面上的出現頻率、出現次數、格式、位置。而後把這些頁面及關鍵詞造成的結構存儲進索引庫。
  7. 倒排索引。正向索引還不能直接用於關鍵詞排名。搜索引擎還須要把正向索引數據庫從新構造爲倒排索引,把文件對應到關鍵詞的映射轉換爲關鍵詞到文件映射。這樣在搜索關鍵詞的時候,排序程序就在倒排索引中定位到這個關鍵詞,就能夠立刻找出這個關鍵詞全部的文件。
  8. 連接關係計算。連接關係計算也是預處理重要的一部分。搜索引擎在抓取頁面內容後,必須事前計算出:頁面上有哪些連接指向哪些其餘頁面,每一個頁面都有哪些導入連接,連接使用了什麼錨文字。這些複雜的連接指向關係造成了網站和頁面的連接權重。Google PR 值就是這種連接關係的最主要體現之一。其餘搜索引擎也都進行相似技術,雖然並不稱爲 PR。
  9. 特殊文件計算。除了 HTML 文件以外,搜索引擎還能爬取抓取和索引以文字爲基礎的多種文件類型,如 PDF,Word,PPT,TXT等。

第三步:排名

到了這一步就是處理用戶輸入,而後根據用戶輸入的關鍵詞,排名程序調用索引程序,計算排名,顯示給用戶。
這個過程也分爲下面幾個步驟:

搜索詞處理

對用戶輸入的關鍵詞進行分詞、去中止詞、指令處理等處理。

文件匹配

根據關鍵詞找出全部匹配關鍵字的文件。

初始子集選擇

因爲文件匹配階段出來的文件數量巨大,不可能所有顯示。所以須要根據頁面權重計算出一個子集。

相關性計算

選完子集後,就須要對子集中的頁面進行相關性介紹。計算相關性是排名過程最重要的一步。
影響相關性主要因素有幾點:

  1. 關鍵詞經常使用程度。越經常使用的詞對搜索詞的意義貢獻越小。越不經常使用則越大。
  2. 詞頻與密度。在沒有堆積關鍵詞的狀況下,頁面的關鍵詞出現次數越多,密度越高,則相關性也越大。不過該因素的重要程序愈來愈低了。
  3. 關鍵詞的位置與形式。在前面索引提到的,頁面的標題標籤,黑體,H1都是比較重要的位置。
  4. 關鍵詞的距離。切分後的關鍵詞完整匹配地出現,說明與搜索匹配最相關。好比你搜索 hexo博客SEO,若是在頁面上連續完整出現 hexo博客SEO,說明相關性最高。
  5. 連接分析與頁面權重。除了頁面自己的因素,頁面之間的連接和權重關係也影響關鍵詞的相關性,其中最重要的就是錨文字。頁面有越多以搜索詞爲錨文字的導入連接,說明頁面的相關性越強。
排名過濾及調整

通過上面的步驟以後,已經獲得大致的排名。以後搜索引擎可能還會有一些過濾算法,對排序進行輕微調整,其中最重要的過濾就是施加懲罰。一些有做弊的頁面會被下降權重。

排名顯示

全部排名肯定後,排名程序就調用原始頁面的標題、Description Meta 等信息顯示在頁面上。

搜索緩存

用戶搜索很大一部分是由重複的。因此有一部分的搜索是會被緩存下來的。

查詢及點擊日誌

搜用用戶的 IP 地址,搜索的關鍵詞、搜索時間,以及點擊了哪些結果頁面,搜索引擎都記錄造成日誌,造成搜索統計日誌。這些日誌信息對搜索引擎判斷搜索結果質量、調整搜索算法、預期搜索趨勢等都有重要意義。

經過上面的三個步驟,你就能對搜索引擎的工做原理有了更深的理解。這對接下來要寫的站內優化內容及博客優化實踐能更好的理解。

相關文章
相關標籤/搜索