你所不了解的搜索引擎

搜索引擎指的是蜘蛛程序沿著鏈接爬行和抓取網(wǎng)上的大量網(wǎng)頁內(nèi)容,存入數(shù)據(jù)庫,經(jīng)過復雜的算法進行預處理,建立網(wǎng)站索引目錄,當用戶在搜索框輸入關鍵字之后,搜索引擎通過相關性的排序算法從索引庫中找到最符合用戶需求的頁面按照一定權重展示給用戶的過程。蜘蛛爬行、頁面收錄及排序都是自動處理的。

搜索引擎面臨的問題或瓶頸

1、用戶搜索內(nèi)容時必須反應快而準確。在天量的互聯(lián)網(wǎng)網(wǎng)頁世界里面,每天有無數(shù)的頁面被創(chuàng)建、更新、刪除、要返回最有用及最新的內(nèi)容是一個巨大而繁瑣的挑戰(zhàn),搜索引擎蜘蛛更新一次數(shù)據(jù)庫中的頁面需要花費很長的時間。因此為了提升用戶體驗,保證搜索質(zhì)量,搜索引擎從網(wǎng)站權重、是否官方認證、歷史快照、搜索頻次等幾個方面做了預處理,因此無論多么優(yōu)秀的網(wǎng)站被搜索引擎收錄及展現(xiàn)在搜索結果中都需要一段時間的蜘蛛爬行過程。

2、海量的數(shù)據(jù)存儲。除了天量網(wǎng)頁需要蜘蛛爬行之外,網(wǎng)站的結構也是需要蜘蛛記憶的,復雜冗余、邏輯纏繞的網(wǎng)站邏輯會降低蜘蛛的爬行效率,以及蜘蛛在數(shù)據(jù)庫建立索引等過程,引擎蜘蛛通過權重的分配、信任外鏈、網(wǎng)站目錄提交等方案,提高引擎蜘蛛的收錄效率。因此如果網(wǎng)站在很長一段時間內(nèi)都沒有被搜索引擎收錄,需要seoer檢查是否因為網(wǎng)站內(nèi)鏈邏輯是否過于復雜,導致蜘蛛爬行過程漫長。

3、索引處理快速有效,具有高度擴展性。在引擎蜘蛛抓取和存儲后,要做復雜的算法篩選過濾,提取關鍵詞計算相關性,然后進行樹狀存儲,但是網(wǎng)站會隨時進行更新,索引數(shù)據(jù)也需要響應這些更新,并重新計算相關性和索引,因此對引擎服務器的性能提出了更高的挑戰(zhàn)。

4、判斷用戶意圖及人工智能。前面幾個可以通過一定的算法和硬件的發(fā)展進行有效解決,智能識別用戶意圖還處在機器學習階段,這也是搜索引擎公司未來的發(fā)展方向,在大數(shù)據(jù)和區(qū)塊鏈技術的不斷完善下,搜索引擎會更懂你,那么如果網(wǎng)站更懂搜索引擎,間接的也會更懂用戶!

搜索結果展示

搜索結果頁面主體有兩部分,一部分是廣告,另一部分是自然搜索結果。廣告及推廣部分一般在頁面的右邊和前幾個搜索結果里,并且會在結果的末尾注明“廣告”或者“贊助商鏈接”。一般情況下右側(cè)廣告最多有8個,上部廣告最多有3個。

搜索廣告在網(wǎng)絡營銷行業(yè)經(jīng)常被稱為PPC,由廣告主針對某些關鍵詞進行競價,通過點擊數(shù)進行付費,具有精準營銷的思維。受到大多數(shù)公司的歡迎。

SEOer最關心是自然搜索結果。統(tǒng)計數(shù)據(jù)顯示,自然搜索結果總點擊訪問量遠大于廣告點擊數(shù),因此seo對于一個企業(yè)的網(wǎng)絡營銷效果有不可忽視的作用。

搜索引擎會根據(jù)權重對站點的展現(xiàn)形式做一些調(diào)整,讓用戶可以直達目標頁,也為網(wǎng)站導入了巨大的流量資源,一般有標題摘要、縮略圖標題摘要、二級頁面縮進列表、全站鏈接、迷你全站鏈接、獨立面板One-box、富摘要、面包屑導航等。

搜索引擎工作原理

搜索引擎的工作原理非常復雜,大體上可以分為三個階段:爬行和抓取、預處理、排名。

爬行和抓取

引擎蜘蛛通過跟蹤鏈接訪問網(wǎng)頁,獲得頁面HTML代碼存入數(shù)據(jù)庫。

搜索引擎用來爬行和訪問頁面的程序被稱為蜘蛛(spider),也稱為機器人(bot)。

搜索引擎模擬用戶直接通過網(wǎng)站地址Get網(wǎng)站信息,得到信息后將代碼存入原始頁數(shù)據(jù)庫,為了提高爬行數(shù)據(jù)和效率,會同時使用多個蜘蛛進行分布式爬行。

在訪問站點是會首先嗅探該站點根目錄下有沒有robots.txt文件。讀取該文件,蜘蛛根據(jù)該文件的協(xié)議訪問整個站點,如果沒有此文件,蜘蛛默認訪問整個站點。

搜索引擎會標注自己的訪問身份,可以再后臺的日志找到搜索引擎的爬行痕跡。

搜索引擎一般會采取兩種策略去爬行整個站點:1. 深度優(yōu)先; 2. 廣度優(yōu)先;通常情況下是混合使用者兩種策略,可以照顧到不同類型的站點。

理論上蜘蛛可以爬行所有的頁面,但是實際上蜘蛛爬行會自己的邊界和規(guī)則,seoer的主要職責是適應蜘蛛爬行規(guī)則,讓蜘蛛盡可能多的收錄自己的站點信息。

為了避免重復爬行和抓取網(wǎng)址,搜索引擎會建立一個地址庫,記錄以及被發(fā)現(xiàn)還沒有被抓取的頁面,以及以及被抓取的頁面。地址庫中的URL的來源一般有這樣幾種情況:

1、人工錄入的種子站點。

2、通過爬行解析出來的網(wǎng)站外鏈,與地址庫中的數(shù)據(jù)進行比對,如果地址庫沒有則是新的網(wǎng)址。

3、站長通過搜索引擎網(wǎng)頁提交表格提交進來的網(wǎng)址。

預處理

索引程序?qū)ψト淼捻撁鏀?shù)據(jù)進行文字提取、中文分詞、網(wǎng)站層級分析、索引建立等處理。

Get到網(wǎng)站內(nèi)容后,蜘蛛會完成下面幾件事:

1、提取關鍵字,通過解析代碼,找到內(nèi)容塊,進行分類分權重存儲。

2、中文分詞,分詞是中文搜索特有的步驟。搜索引擎存儲和處理頁面及用戶搜索都是以詞為基礎進行的,英文天然以空格進行分割,這樣才能有效的進行意義識別。中文分詞一般有兩種方法:基礎詞典庫匹配和統(tǒng)計數(shù)據(jù)匹配。

3、去停止詞,無論是英文還是中文,頁面里面會出現(xiàn)一些頻率很高但是對內(nèi)容意義沒有任何影響的詞,如‘的’、‘地’之類的,英文里如‘the’、‘a(chǎn)’、‘a(chǎn)n’等詞語。這些詞語對用戶的意義識別沒有任何幫助,剔除之后也會降低服務器的檢索壓力。

4、消除噪音,有些內(nèi)容對網(wǎng)站的常規(guī)內(nèi)容,對網(wǎng)站的產(chǎn)品或主題沒有任何貢獻,比如版權聲明文字、導航條、廣告等需要對這部分內(nèi)容進行剔除。

5、去重,進行分詞操作后,有些意義相近的詞語會在站點內(nèi)反復出現(xiàn),但是他們代表同樣的意義,所以需要對這些詞語進行歸類去重。

6、正向索引,經(jīng)過文字層層過濾后搜索引擎得到獨特的、能反映頁面主體內(nèi)容、以詞為單位的內(nèi)容集合,按照詞頻提取關鍵字并配權重存儲在數(shù)據(jù)庫,按照頁面的層級順序進行建立的關鍵字索引庫就是正向索引。

7、倒排索引,通過關鍵詞對出現(xiàn)關鍵詞的文件進行排練組合,形成文件索引列表,這叫做倒排索引,可以用于用戶搜索。

8、鏈接關系計算,這是預處理很重要的一環(huán)。現(xiàn)在所有的主流搜索引擎排名因素中都包含網(wǎng)頁之間的鏈流動信息,通過這些鏈信息進行權重計算,Google PR值就是這種關系價值的一種體現(xiàn)。

9、特殊文件處理,對于除html文件外的文件類型,引擎蜘蛛現(xiàn)在沒沒有辦法識別,所以都會剔除掉。

排名

用戶輸入關鍵字之后,排名程序會計算相關性,獲取關鍵字矩陣,然后通過索引獲取站點信息,按照一定的格式生成搜索結果頁。

排名的過程是和用戶互動的過程,引擎智能會根據(jù)歷史搜索和當前搜索進行聯(lián)想匹配得到一個最佳搜索結果呈現(xiàn)給用戶。

1、搜索詞處理,對搜索詞進行處理①中文分詞②去停止詞③指令處理④拼寫錯誤糾正⑤整合搜索觸發(fā)。

2、文件匹配,經(jīng)過處理后,搜索引擎得到一些關鍵詞集合,通過索引找到包含關鍵詞的文件,并計算相關性進行排序。

3、初始子集選擇,因為搜索結果是巨量的文件,通常搜索結果頁面只展示前100個,百度會返回將近1000條記錄,依靠權重找到最多1000條文件記錄,作為篩選初始子集。

4、相關性計算,計算相關性是排名過程中最重要的一步,也是seoer優(yōu)化的重點范圍。①關鍵詞常用程度,利用歷史搜索算出關鍵詞的熱度。②詞頻和密度,一般認為文件中沒有關鍵詞堆砌的情況下關鍵詞出現(xiàn)的頻率越高說明相關性也越高。③關鍵詞位置和形式,是否出現(xiàn)在頁面權重比較高的位置,比如title、H1、strong等,也是前端需要優(yōu)化的重點范疇。④關鍵詞距離,分詞計算后的關鍵詞完整匹配出現(xiàn),說明最相關,其次是分詞之后兩個詞的距離。⑤鏈接分析及頁面權重,除了頁面本身的因素外,頁面的外鏈也影響重大,外鏈權重高,關鍵詞價值越高,頁面有越多以搜索詞為錨文字的導入鏈接,說明頁面的相關性越強。

5、排名過濾及調(diào)整,經(jīng)過相關性計算,大體排名已經(jīng)被確定,之后搜索引擎可能還要進行一些過濾算法,對排名進行輕微的調(diào)整,其中最主要的是對作弊站點施加懲罰。

6、排名顯示,排名確定后,排名程序會調(diào)用原始頁面的標題標簽、說明標簽、快照日期等數(shù)據(jù)顯示在頁面上,有時也需要動態(tài)生成頁面摘要。

7、搜索緩存,用戶的關鍵詞往往在一段時間內(nèi)是重復的,按照二八定律,長尾理論,最常見的搜索詞沒有占到80%那么多,但是通常也有比較粗大的頭部,為了提高搜索效率,引擎會將熱詞進行緩存,當用戶搜索時可以直接從緩存數(shù)據(jù)中取出,不必再次進行相關性計算,大大提高了搜索效率。

8、查詢及點擊日志,用戶的搜索行為都會形成日志進行記錄,這些日志對于搜索結果的質(zhì)量起了重要的作用,引擎會自動計算相關權重,并在下一次搜索里影響排名,所以好的網(wǎng)站是持續(xù)流量的基石。

鏈接在搜索中的算法原理

基于一個假設:好的網(wǎng)站很少會鏈接到壞的網(wǎng)站,反之則不成立,很多垃圾網(wǎng)站會鏈接到高權威、高信任指數(shù)的網(wǎng)站,試圖提高自己的信任指數(shù)。用現(xiàn)代的話說就是信用背書,利用信用背書可以提高自己網(wǎng)站的權重值,獲得較好的排名。在排序算法中比重越來越高,seoer應該重視外鏈在站點內(nèi)的布局,及自己的站點被外鏈引用的頻率。

高級搜索指令

1、把搜索詞放在雙引號里面,代表完全匹配不進行分詞操作,連順序也必須完全匹配。百度和Google都支持這個指令。eg: "和平是我的夢想"

2、減號,減號(-)代表搜索不包含減號后面詞語的內(nèi)容,使用這個指令時減號前面必須是空格,減號后面沒有空格,緊跟需要排除的詞。Google和百度都支持這個指令。

3、星號,星號(*)是常用的通配符,也可以用在搜索中。百度不支持星號匹配。

4、inurl,用于搜索查詢詞出現(xiàn)在url中的頁面。百度和Google都支持inurl指令。

5、inanchor, 指令返回的結果是導入鏈接文字中包含搜索詞的頁面。百度不支持。

6、intitle, 指令返回的頁面中title標簽包含的關鍵詞頁面。百度和Google和百度都支持該指令。

7、allintitle, 返回頁面title標簽同時包含多個關鍵字的結果頁面,eg: allintitle:SEO 建站大全

8、allinurl, 返回地址中同時包含多個關鍵詞的結果頁面, eg:allinurl admin login。

9、filetype,該指令用于搜索特點格式的文件,Google和百度都支持,eg:filetype:doc 辣子雞丁,百度目前只支持pdf、doc、xls、ppt、rtf、all等格式,而Google則支持所有能索引的文件格式,包括html、php等。

10、site,這個指令是seoer最熟悉的高級搜索指令了,用來搜索某個域名下的所有文件,這個指令是查詢網(wǎng)站收錄頁面最有效直接的方法。不過site:指令并不準確,尤其是Google中,返回的收錄頁面經(jīng)常有大的波動,只能作為參考。

11、link,利用這個指令可以搜索某個url的反向鏈接,既可以包括內(nèi)部鏈接,也可以包括外部鏈接。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第1章 搜索引擎和搜索引擎優(yōu)化的同步發(fā)展 如何獲得來自搜索引擎的流量,就引入了搜索引擎營銷這個話題 什么是搜索引擎...
    甲方爸爸肖運華閱讀 1,011評論 3 13
  • 我要想想那些溫熱又閃光的日子 當美麗像一條熱乎滑溜的魚 鉆過我記憶柵欄透光的孔隙 悄悄溜走 我撫摸那些粗糙的木頭 ...
    先冷閱讀 173評論 1 0
  • 又逢Q日,一個15公里的間歇跑訓練,5E+7×800Rw/3m10s+3E。 有風阻,但也有順風。 亞索800的一...
    有所為無所畏閱讀 338評論 0 0
  • 從夢中醒來,夢里的世界瞬間消失。如同一只黑夜里陰溝里的狡猾老鼠,聞見人聲就匆忙逃離,無法捉住,但它存在過。夢也是一...
    森木閱讀 576評論 0 2
  • JS的語法跟swift很像,以下代碼有幾個知識點: 函數(shù)的定義 匿名函數(shù)的使用,作為參數(shù)/返回值,和OC的bloc...
    小如99閱讀 300評論 0 0

友情鏈接更多精彩內(nèi)容