網絡爬蟲與搜索引擎優化(SEO)


爬蟲及爬行方式

爬蟲有很多名字,比如web機器人、spider等,它是一種可以在無需人類干預的情況下自動進行一系列web事務處理的軟件程序。web爬蟲是一種機器人,它們會遞歸地對各種信息性的web站點進行遍歷,獲取第一個web頁面,然后獲取那個頁面指向的所有的web頁面,依次類推。因特網搜索引擎使用爬蟲在web上游盪,並把他們碰到的文檔全部拉回來。然后對這些文檔進行處理,形成一個可搜索的數據庫。簡單來說,網絡爬蟲就是搜索引擎訪問你的網站進而收錄你的網站的一種內容采集工具。例如:百度的網絡爬蟲就叫做BaiduSpider。

  • 搜索引擎的爬蟲工作原理
    網絡 < --- > 爬蟲 < --- > 網頁內容庫 < --- > 索引程序 < --- > 索引庫 < --- > 搜索引擎 < --- > 用戶

爬蟲程序需要注意的地方

  • 鏈接提取以及相對鏈接的標准化

爬蟲在web上移動的時候會不停的對HTML頁面進行解析,它要對所解析的每個頁面上的URL鏈接進行分析,並將這些鏈接添加到需要爬行的頁面列表中去。關於具體的方案我們可以查閱這篇文章

  • 避免環路的出現
    web爬蟲在web上爬行時,要特別小心不要陷入循環之中,至少有以下三個原因,環路對爬蟲來說是有害的。
  1. 他們會使爬蟲可能陷入可能會將其困住的循環之中。爬蟲不停的兜圈子,把所有時間都耗費在不停獲取相同的頁面上。
  2. 爬蟲不斷獲取相同的頁面的同時,服務器段也在遭受着打擊,它可能會被擊垮,阻止所有真實用戶訪問這個站點。
  3. 爬蟲本身變的毫無用處,返回數百份完全相同的頁面的因特網搜索引擎就是這樣的例子。
    同時,聯系上一個問題,由於URL“別名”的存在,即使使用了正確的數據結構,有時候也很難分辨出以前是否訪問過這個頁面,如果兩個URL看起來不一樣,但實際指向的是同一資源,就稱為互為“別名”。
  • 標記為不爬取
    可以在你的網站中創建一個純文本文件robots.txt,在這個文件中聲明該網站中不想被蜘蛛訪問的部分,這樣,該網站的部分或全部內容就可以不被搜索引擎訪問和收錄了,或者可以通過robots.txt指定搜 索引擎只收錄指定的內容。搜索引擎爬行網站第一個訪問的文件就是robot.txt。同樣也可以把鏈接加上rel="nofollow"標記。

  • 避免環路與循環方案

  • 規范化URL

  • 廣度優先的爬行
    以廣度優先的方式去訪問就可以將環路的影響最小化。

  • 節流
    限制一段時間內爬蟲可以從一個web站點獲取的頁面數量,也可以通過節流來限制重復頁面總數和對服務器訪問的總數。

  • 限制URL的大小
    如果環路使URL長度增加,長度限制就會最終終止這個環路

  • URL黑名單

  • 人工監視

搜索引擎優化

搜索引擎優化也叫SEO,了解了web爬蟲的工作方式於原理之后對SEO會有更好的認識,對於前端開發,需要注意的SEO有以下內容:

  • 突出重要內容
    合理的title、description和keywords
    雖然現在搜索對這三項的權重慢慢減小,但還是希望能夠合理的寫好他們,只寫有用的東西,不要在這里寫小說,要表達重點。
    title:只強調重點即可,重要關鍵詞出現不要超過2次,而且要靠前,每個頁面title要有所不同description:把網頁內容高度概括到這里,長度要合理,不可過分堆砌關鍵詞,每個頁面description要有所不同,keywords:列舉出幾個重要關鍵詞即可,也不可過分堆砌。
  • 語義化書寫HTML代碼,符合W3C標准
    對於搜索引擎來說,最直接面對的就是網頁HTML代碼,如果代碼寫的語義化,搜索引擎就會很容易的讀懂該網頁要表達的意思。
  • 利用布局,把重要內容HTML代碼放在最前
    搜索引擎抓取HTML內容是從上到下,利用這一特點,可以讓主要代碼優先讀取,讓爬蟲最先抓取
  • 重要內容不要用JS輸出
    爬蟲不會讀取JS里的內容,所以重要內容必須放在HTML里
  • 盡少使用iframe框架
    搜索引擎不會抓取到iframe里的內容,重要內容不要放在框架中。
  • 為圖片加上alt屬性
    alt屬性的作用是當圖片無法顯示時以文字作為代替顯示出來,對於SEO來說,它可以令搜索引擎有機會索引你網站的圖片。
  • 需要強調的地方可以加上title屬性
    在進行SEO優化時,適合將alt屬性設置為圖片本來的含義,而將 ttitle屬性為設置該屬性的元素提供建議性的信息。
  • 為圖片加上長寬
    圖片大的會排在前面一點。
  • 保留文字效果
    如果需要兼顧用戶體驗和SEO效果,在必須用圖片的地方,例如個性字體的標題,我們可以利用樣式控制,讓文本文字不會出現在瀏覽器上,但在網頁代碼中是有該標題的。
    注意:不可使用display:none;的方法讓文字隱藏,因為搜索引擎會過濾掉display:none;里邊的內容,就不會被蜘蛛檢索了。
  • 提高網站速度
    網站速度是搜索引擎排序的一個重要指標
  • 對於指向外部網站的鏈接要使用rel="nofollow"屬性告訴爬蟲不要去爬其他的頁面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM