作為前端,你不得不知道的SEO

作為前端,你不得不知道的SEO

研發的同學,其實很多人並沒有深入了解SEO這個概念。在技術博客里,提及這一塊的也寥寥無幾。我今天就拿自己的經驗,簡單給大家掃個盲,有什麼遺漏的地方,歡迎大家補充。

文字內容有點多,但是乾貨滿滿,請耐心閱讀!

什麼是SEO:

以下內容摘自百度百科:

SEO(Search Engine Optimization):漢譯為搜索引擎優化。搜索引擎優化是一種利用搜索引擎的搜索規則來提高目前網站在有關搜索引擎內的自然排名的方式。SEO是指為了從搜索引擎中獲得更多的免費流量,從網站結構、內容建設方案、用戶互動傳播、頁面等角度進行合理規劃,使網站更適合搜索引擎的索引原則的行為。

SEO原理

其實搜索引擎做的工作是相當複雜的,我們這裡簡單說一下大致的過程。後續針對SEO如何優化,也會根據這幾個點展開描述。

- 頁面抓取: 蜘蛛向伺服器請求頁面,獲取頁面內容

- 分析入庫:對獲取到的內容進行分析,對優質頁面進行收錄

- 檢索排序:當用戶檢索關鍵詞時,從收錄的頁面中按照一定的規則進行排序,並返回給用戶結果

SEO優化

既然是優化,那我們就得遵循SEO的原理來做,可謂知己知彼,百戰不殆。針對上面提出的三點,我們分別展開敘述。我們這裡主要以百度蜘蛛舉例。

頁面抓取

如何才能吸引蜘蛛光顧我們的網站,如何才能讓蜘蛛經常光顧我們的網站。這裡提出以下幾個優化點:

1. 提交頁面。提交頁面又分為幾種不同的方式

1. sitemap提交。sitemap,顧名思義,就是網站地圖,當蜘蛛來到我們的網站時,告訴它我們有多少頁面,不同頁面是按什麼分類的,每個頁面的地址是什麼。順著我們的指引,蜘蛛會很輕鬆的爬遍所有內容。另外,如果你的頁面分類比較多,而且數量大,建議添加sitemap索引文件。如果站點經常更新添加新頁面,建議及時更新sitemap文件;

2. 主動提交。就是把你的頁面直接丟給百度的介面,親口告訴百度你有哪些頁面,這是效率最高也是收錄最快的方式了。但是需要注意,百度對每天提交的數量是有限制的,而且反覆提交重複的頁面,會被降低每日限額,所以已被收錄的頁面不建議反覆提交。收錄有個時間過程,請先耐心等待;

3. 實時提交。在頁面中安裝百度給的提交代碼,當這個頁面被用戶打開我,便自動把這個頁面提交給百度。這裡不需要考慮重複提交的問題。

以上幾種提交方式可以同時使用,互不衝突。

2. 保證我們的頁面是蜘蛛可讀的。

  早在ajax還沒流行的的時候,其實SEO對於前端的要求並沒有很多,或者說,那個時候還沒有前端這個職業。頁面全部在伺服器端由渲染好,不管是用戶還是蜘蛛過來,都能很友好的返回html。ajax似乎原本是為了避免有數據交互導致必須重刷頁面設計的,但是被大規模濫用,一些開發者不管三七二十一,所有數據都用ajax請求,使得蜘蛛不能順利的獲取頁面內容。慶幸的是這反倒促進了前端的飛速發展。  到了後來,各種SPA單頁應用框架的出現,使得前端開發者不再需要關心頁面的DOM結構,只需專註業務邏輯,數據全部由Javascript發ajax請求獲取數據,然後在客戶端進行渲染。這也就導致了老生常談的SEO問題。百度在國內搜索引擎的佔有率最高,但是很不幸,它並不支持ajax數據的爬取。於是,開發者開始想別的解決方案,比如檢測到是爬蟲過來,單獨把它轉發到一個專門的路由去渲染,比如基於Node.js的Jade引擎(現在改名叫Pug了),就能很好地解決這個問題。React和Vue,包括一個比較小眾的框架Marko也出了對應的服務端渲染解決方案。詳細內容查看對應文檔,我就不多說了。

  1. URL與301

URL設置要合理規範,層次分明。如果網站到了後期發現URL不合理需要重新替換時,會導致之前收錄的頁面失效,就是我們所說的死鏈(這種情況屬於死鏈的一種,404等也屬於死鏈)。所以一定要在網站建設初期就做好長遠的規劃。一旦出現這種情況也不要過於擔心,我們可以採取向搜索引擎投訴或者設置301跳轉的方式解決。

URL層級嵌套不要太深,建議不超過四層。增加麵包屑導航可以使頁面層次分明,也有利於為蜘蛛營造順利的爬取路徑。

除此之外,將指向首頁的域名全部設置301跳轉到同一URL,可以避免分散權重。

分析入庫

當蜘蛛把頁面抓取回去之後,就需要對頁面內容進行分析,並擇優收錄入庫。為什麼說是擇優呢?下面我給你慢慢分析。

搜索引擎的目的是給用戶提供高質量的、精準的搜索結果。如果整個頁面充斥著滿滿的廣告和各種不良信息,這無疑會很大程度上影響用戶體驗。

除此之外,你肯定不希望自己辛辛苦苦創作的文章被別人輕而易舉的抄走,所以搜索引擎在一定程度上幫助你避免這種情況的發生。對於已經收錄的內容,搜索引擎會降低其權重,甚至直接不收錄這個頁面。即便是這樣,為了保證頁面的新鮮度,很多網站都會爬取或者轉載其他網站的內容。這就是我們經常聽到的偽原創。所以,想要讓你的頁面能夠以較高的權重被收錄,就需要堅持更新網站內容,並且是高質量的原創內容。

檢索排序

這塊我的理解是,頁面被收錄後,會給每個頁面打一些tag。這些tag將作為搜索結果排序的重要依據。比如用戶搜索「北京旅遊」,搜索引擎會檢索收錄頁面中被打了「北京旅遊」tag的頁面,並根據一系列規則進行排序。所以,如何提升這些tag在搜索引擎裡面的權重是至關重要的。

1. TDK優化

TDK是個縮寫,seo頁面中的頁面描述與關鍵詞設置。

其中"T"代表頁頭中的title元素,這裡可能還要利用到分詞技術,當標題(Title)寫好後,我們就盡可> 能不要再去修改了,盡量簡潔,沒意義的詞盡量不要加入到標題中,避免干擾到搜索引擎識別網站主題。

其中"D"代表頁頭中的description元素,要知道描述是對網頁的一個概述,也是對title的補充,因為title中只能書寫有限的字數,所以在description中就要稍微詳細的補充起來,一般用一句兩句話概括文章的內容。

其中"K"代表頁頭中的keywords元素,提取頁面中的主要關鍵詞,數量控制在三到六個內。想方設法讓主關鍵字都出現。

以上內容摘自百度百科,這裡需要補充幾點。

TDK是搜索引擎判斷頁面主題內容的關鍵,所以要在title裡面言簡意賅的體現出頁面的主要內容,如果主體比較多,可以用一些符號把不同的主題詞隔開,但是關鍵詞不要太多,最多不要超過五個。

keywords裡面把每個關鍵詞用英文逗號隔開,三到五個最佳。盡量覆蓋每個關鍵詞。

description就是用自然語言描述頁面的主要內容,這裡注意一點就是把每個關鍵詞至少覆蓋一遍才能達到最佳效果。

  1. 提升頁面關鍵詞密度

首先說個概念,叫關鍵詞密度。簡單理解就是關鍵詞在所有文字內容中出現的比例。提升關鍵詞的密度,有利於提升搜索引擎針對對應關鍵詞的搜索排名。但並不是我們整個頁面密密麻麻堆砌關鍵次就好,我們來分析一個案例。

我們在百度搜索「北京旅遊」,排在第一的是百度旅遊,這個就不解釋了。排第二位是攜程,我們就分析一下為啥攜程會排名這麼靠前。

通過查看百度快照,可以一目了然的看到頁面上究竟哪些地方命中了這些詞。

頁面頭部

頁面底部

頁面很清晰表明了關鍵詞出現的地方,我們發現這個頁面除了正文部分外,還設置了許多的模塊,這些模塊看似只是一些簡單的鏈接,實際上他們更重要的使命就是服務SEO,提升關鍵詞的密度。同時,這些鏈接都是指向網站內部的鏈接,通過這樣的方式,還可以在不同的頁面之間相互投權重。可以說小鏈接,大學問!

你以為到此結束了?並沒有。請仔細觀察頁面上這些模塊的內容設置。分別覆蓋了地區、景點、攻略、導航、住宿、交通等等,可以說是涵蓋了你要旅遊所需要的任何需求。這樣一來,不管你搜哪些有關於「北京旅遊」的關鍵詞,比如「北京旅遊住宿」,「北京特色美食」等都會命中這個頁面的詞,這使得這個頁面的關鍵詞數量得到提升,更容易得到曝光。

  1. 細枝末節但不可忽視的優化

頁面上經常會有各種圖片,對於搜索引擎來說,它是不識別圖片上的內容的。你可能知道代碼中img標籤的alt屬性是為了圖片載入失敗的時候,給用戶看的。這個屬性表明了這張圖的內容。其實搜索引擎在分析頁面的時候,也會根據這個詞去判斷圖片的內容,所以要給頁面上有意義的圖片都加上alt屬性,寫清楚圖片索要反映的內容。

頁面上的出站鏈接(也就是指向別的網站的A標籤),我們要給它加上nofollow標籤,避免它向別的網站輸出權重。百度蜘蛛會忽略加了nofollow 的鏈接。你也可以在網頁的meta標籤里這麼寫<meta name="robots" content="nofollow" />,這樣一來,百度蜘蛛將不追蹤頁面上的所有鏈接,但不建議這麼做,除非這個頁面的所有鏈接都指向了別的域名。

......

其他優化點

友情鏈接

我們經常會在頁面底部看到友情鏈接。友情鏈接是作為網站之間相互交換流量,互惠互利的合作形式。事實上,友情鏈接對網站權重提升有著至關重要的作用。友鏈不僅可以引導用戶瀏覽,而且搜索引擎也會順著鏈接形成循環爬取,可以有效提升網站流量和快照的更新速度。

關鍵詞篩選

藉助站長工具、愛站網或者各種站長後台我們可以分析出ip來路,以及關鍵詞的搜索熱度和相關詞,我們再把這些詞以一定的密度添加到頁面中,以此來提升命中率。這裡主要是運營同學的工作,我不專業,也就不展開說了,更多功能大家自行摸索。

利用好分析工具

我們要在自己的站點安裝百度統計代碼,這樣就可以分析出站點內用戶的關注度和瀏覽流程,以此來不斷優化站點結構,提升用戶的留存率。同時也可以做用戶畫像,分析用戶數據等等。

結語

想要做好SEO並不是一件簡單的事,需要持之以恆,面面俱到。對網站持續關注,並保持更新。從長遠打算,切不可投機取巧,只圖一時的效果做違背搜索引擎的操作,也就是常說的黑帽SEO,否則被百度K掉就得不償失了。

以上觀點只是我最近學習的一些總結,並不權威,希望給不了解這塊的研發同學簡單掃個盲,如有錯誤,還請各位指正與補充!


推薦閱讀:

css垂直居中整理
了不起的 Gatsby.js
[2018IFE]第一天:為什麼有那麼多人要做前端?
前端日刊-2018.02.06

TAG:前端工程師 | 前端開發 | 搜索引擎優化SEO |