个人博客 SEO 优化(2):站内优化
對于搜索引擎原理不清楚的可以看第一篇文章:個人博客 SEO 優化(1):搜索引擎原理介紹
SEO 優化可以分為站內優化和站外優化,而站內優化又分為:網站結構優化和網站頁面優化。從 SEO 角度來看,做網站結構優化的目的在于:
- 提高用戶體驗
- 提高收錄
- 更好的權重分配
- 優化錨文字分布
網站結構優化簡單概括有下面幾個要素:
- 物理及鏈接結構
- 清晰的導航
- 分配好子域名和目錄
- 禁止收錄機制
- nofollow 使用
- URL 靜態化
- URL 設計
- 網址規范化
- 復制內容
- 網站地圖 sitemap
- 內部鏈接及權重分配
- 404 頁面
網站結構優化
物理及鏈接結構
物理結構指的就是網站真實目錄及文件所在的位置決定的結構。一般來說,比較合理的兩種物理結構是扁平式和樹形結構。扁平式就是所有的頁面都放在一級,一般來說,這種方式只適合頁面數量少的網站。更多的都是采用樹形結構的方式。比如利用 hexo 構建的博客就是采用樹形結構:
鏈接結構指的是網站內部頁面的鏈接所形成的結構。鏈接結構通常也是樹形結構:
H 代表著網站首頁。C1 和 C2 代表著網站的分類首頁。P1~4 則是具體的每個頁面。這只是演示的結構,實際的結構會比這個更加復雜。
對于搜索引擎來說,鏈接結構會比物理結構來得更有意義。在上一篇 個人博客 SEO 優化(1):搜索引擎原理介紹 中有介紹到,與首頁點擊距離越近的頁面被 spider 爬行的概率也大,即權重越高。這里的點擊距離指的就是鏈接結構的距離。比如同樣是屬于第三層級的 P3 頁面,由于被首頁直接鏈接指向,它的首頁點擊距離比其他頁面來得短,因此會有更高的權重。
設置合理的網站的鏈接結構有利于頁面權重的分配。
清晰的導航
清晰的導航系統是網站設計的重要目標。畢竟你肯定不想你的用戶進入你的網站首頁后,面對混亂的導航,難以找到想到的頁面。對于搜索引擎的 spider 也是如此,混亂的導航會降低 spider 爬行概率。
在設置網站導航應該注意下面幾點:
- 文字導航。盡量使用 HTML 靜態文字作為導航,不要使用 JavaScript 生成的動態導航。這樣對 spider 來說,爬行阻力最小。導航系統鏈接是整個網站收錄最重要的內部鏈接
- 點擊距離及扁平化。導航的一個目標就是讓所有的頁面與首頁點擊距離越短越好。像權重普通的網站,內頁一般不要超過首頁 4、5 次點擊。所以要盡量在鏈接結構上做到扁平化。
- 錨文字中包含關鍵詞。導航關鍵詞盡量使用目標關鍵詞。
- 面包屑導航。對于中大型網站,面包屑是必不可少。它是幫助用戶和搜索引擎建立頁面在網站整個結構中的位置最好的方法。
- 避免頁腳堆積。近年來對于頁腳堆積關鍵詞的做法似乎不受搜索引擎歡迎了,盡量避免這種做法。
子域名和目錄
搜索引擎通常會把子域名當成獨立的站點。而目錄就是該域名名下的一部分。比如http://api.chenhuichao.com 只是 http://www.chenhuichao.com 的一個子域名。
http://www.chenhuichao.com/tags 就是一個目錄。
因此對主域名所做的優化,對于子域名的網站而言,同樣需要再做一遍。一般的網站和博客不需要子域名。只有大型的網站才會需要。
禁止收錄機制
你如果你不想某些具體的頁面不被收錄,可以通過 robots 文件或者 Meta Robots 標簽來指定,確保頁面不會被搜索引擎收錄。
robots 文件
該文件是搜索引擎爬行網站第一個訪問的,用于告訴搜索引擎那些內容可以爬取,哪些內容禁止爬取。如果沒有寫規則或者沒有 robots 文件的話,就是默認全部沒有都可以爬取。
但是由于有的網站服務器設置問題,如果不存在 robots.txt 文件的時候,會返回 200 狀態碼及一些錯誤信息。可能會導致 spider 錯誤解讀信息。所以建議,至少也要放一個空的 robots.txt 文件在網站根目錄下。
robots 的格式如下:
上面的文件代表禁止所有搜索引擎爬取所有內容。User-agent: * 表示運行所有的搜索引擎。我們知道,不同的搜索引擎的 spider 名稱也不同。在 User-agent 上你也可以設置名稱,只允許特定的搜索引擎爬取。如 User-agent: Googlebot
Disallow 不添加任何路徑就表示運行爬取任何內容。需要注意的是:如果要 Disallow 多個文件夾或者文件,需要寫成多行。每一行 Disallow 只能寫一個。
meta robots 標簽
通過 <meta name="robots" content="noindex,nofollow"> 也可以設置禁止搜索引擎索引本頁的內容,禁止跟蹤本頁的鏈接。其中 content 的參數有:
- noindex: 不索引本頁內容
- nofollow:不追蹤本頁鏈接
- nosnippet:不要在搜索結果中顯示說明文字
- noarchive:不要顯示快照
- noodp:不要使用開放目錄中的標題和說明
每個參數中間需要已逗號隔開。
nofollow
格式如下:
<a href="" rel="nofollow">nofollow</follow>nofollow 標簽是由 Google 領頭創新的一個“反垃圾鏈接”的標簽,并被市場上其他主流搜索引擎廣泛支持。nofollow 是 a 標簽的一個屬性值。用于告訴搜索引擎不要追蹤此鏈接,因為這個鏈接不是作者所信任的。這里的 nofollow 與上面說的 meta 標簽上的 nofollow 區別在于:a 標簽上的 nofollow 是指單個鏈接,而 meta 上的 nofollow 是指整個頁面所有的鏈接。
nofollow 通常用于博客評論、論壇帖子、社交網站、留言板等地方。因為這些地方的內容都是用戶可以自由留下鏈接,站長并不知道這些鏈接是否可信。經過測試發現,你在 segmentfault 或者掘金發表文章時,文章的外部鏈接都會加上 rel="nofollow"。
同時對于網站內部一些重復內容的頁面或者是一些無需被收錄的鏈接都可以加上該標簽,可以防止網站權重浪費。比如像聯系我們、隱私政策等頁面,就可以使用 nofollow 標簽了。
URL 靜態化
我們都知道,對于動態頁面對應 spider 爬取是不友好的。因此需要將 URL 靜態化才能更好的讓 spider 爬取。
這點對于 hexo 博客來說不成問題。畢竟本身都是靜態博客,所有的頁面都是 HTML 頁面。
網址規范化問題
網址規范指的是盡量使用唯一的 URL,而不要使用多個 URL。比如下面的 url 雖然訪問都是同樣的內容,但是搜索引擎會把他們當做不同的頁面
- http://www.chenhuichao.com
- http://www.chenhuichao.com/in...
- http://chenhuichao.com/index....
復制內容
復制內容也稱重復內容,指的是多個 URL 的內容相同或者非常相似。復制內容既可能發生在同一網站內,也可能發生在不同網站上。
如果一個網站的復制內容過多的話,會帶來害處。一是有可能使搜索引擎對網站的質量產生懷疑,導致懲罰。另外一種情況就是,同一個站內的復制內容過多的話,會分散權重。
那么該如何消除復制內容?
- 確保 URL 的唯一性。每個頁面只有一個 URL。
- 對于某些確實需要多個 URL 頁面可以使用 301 跳轉
- 使用 cannoical 標簽
網站地圖
無論站點的多少,網站地圖都是需要的。網站地圖有 HTML 和 XML 兩種版本。
HTML 版本的網站地圖就是一個頁面列出網站的結構。而 XML 版本則是通過在根目錄添加 sitemap.xml 文件。
一個 XML 版本的網站地圖是上面那樣。其中的標簽含義如下:
- url,必須的,是網址的母標簽
- loc,必須的,頁面完整 URL
- lastmod,可選的,頁面最后一次更新時間
-
changefreg,可選的,頁面更新頻率
- always
- hourly
- daily
- weekly
- monthly
- yearly
- never
- priority 可選 頁面權重
除了 url 和 loc 是必須之外,其他的標簽都為可選,只是主動告訴搜索引擎頁面的一些信息,具體還是得根據搜索引擎自己的判斷。
制作好網站地圖后,需要主動告訴搜索引擎。有兩種方式:主動在站長工具提交 sitemap、robots.txt 文件指明位置
比如 針對 Google 搜索引擎可以在 Google 網站站長 上提交。
另外一種方式是在 robots.txt 文件中指出 sitemap.xml 的位置也能讓搜索引擎知道網站地圖的位置。
Sitemap: http://www.chenhuichao.com/sitemap.xml內部鏈接及權限分配
一個網站的首頁權重是最高的,接著是二級分類頁面,與我們前面提到的鏈接結構一樣,也是成一個樹結構。內部權限分配有幾個原則:
- 重點內頁可以通過直接鏈接到首頁提高權重
- 非必要頁面設置 nofollow 不分散權重
錨文字對于內部權限分配也是非常重要的一個手段。這方面 維基百科絕對是做得最好的。
404 頁面
當訪問的頁面不存在時,需要一個專門的 404 頁面。404 頁面的設計需要注意幾點:
- 保持與網站統一的風格
- 應該在醒目的位置顯示錯誤信息,明確提示用戶,訪問的頁面不存在。
- 錯誤頁面還可以提供幾種跳轉:比如回到首頁和其他你引導讓用戶訪問的鏈接
404 頁面與外鏈的一個小技巧
由于搜索引擎并不會無緣無故得爬行一些不存在的原因的。肯定是有外部鏈接指向這些地址,比如別人的博客頁面引用等,而原文可能你已經刪除或者更換 url 了。所以我們可以通過 Google 網站站長工具發現我們網站存在的錯誤鏈接,將錯誤地址做 301 跳轉到正確的頁面或者直接在本來不存在的 URL 上新建一個頁面,接收這些外部鏈接的權重。
頁面優化
網址頁面優化可以從下面幾個角度進行:
- 頁面標題
- description meta 標簽
- keyword meta 標簽
- 正文中的關鍵詞
- H 標簽
- 圖片 ALT 文字
- 內部鏈接及錨文字
- 外部鏈接及錨文字
- 頁面更新
頁面標題
頁面標題是頁面優化最重要的因素。格式如下:
<title>個人博客 SEO</title>在優化標題的時候需要注意:
- 每個標題應該是根據當前內容設置的獨特不重復的。
- 字數限制。不能太長,要不然搜索引擎結果列表會顯示不全。最好不超過 25 個中文字。最好是在 10~20 之間。
- 切勿堆砌關鍵詞。這是很多人常犯的錯誤
- 關鍵詞最好出現在最前面
- 標題有吸引力。畢竟有吸引力的標題才能讓用戶點擊
- 連詞符的使用。可以使用 |->
- 不要使用沒有意義的句子
description 標簽
Description 標簽用于說明網頁的主體內容。格式如下:
<meta name="description" conent="seo學習筆記,通過學習seo對個人博客進行seo優化,以提高搜索引擎排名"Description 標簽的重要性要比標題低很多。用戶在頁面中并不會看到描述文字,只會在源文件和搜索結構列表中才能看到。但是搜索引擎并不是只會提交描述標簽文字顯示在搜索結果列表的。有時候搜索引擎也會根據文章內容動態提取說明文字。
對于個人站點而言,描述標簽最好是一句通順的句子,如果不能的話,則寧可不要。
keyword 標簽
目前 keyword 標簽對 seo 已經沒有任何影響了。
正文中的關鍵詞
正文中的關鍵詞涉及到兩個概念:
- 詞頻:關鍵詞出現的次數
- 密度:關鍵詞出現的次數除以頁面可見文字總詞數
由于現在詞頻和密度對于 SEO 影響不大,所以只要保持你的正文中出現 4~6 次關鍵詞就可以了。千萬不能堆砌關鍵詞。
H 標簽
H 標簽的重要性可能是僅次與頁面標簽。H1->H6 的重要性依次降低。
所以建議在頁面的 H1 和 H2 標簽中混入關鍵詞
圖片 ALT 文字
對于前端攻城獅而言,這是個常規操作了。畢竟圖片都是需要添加 ALT 文字的,用于在圖片不顯示的情況下顯示 ALT 文字。圖片 ALT 文字出現的關鍵詞對頁面相關性也有一定的影響。同樣的,也不要在 ALT 上堆砌關鍵詞。
內部鏈接及錨文字
內部鏈接對于爬行和收錄具有很重要的意義。內部鏈接對頁面關鍵詞相關性也有影響,最主要的就是在內部鏈接中使用錨文字。
錨文字是告訴搜索引擎被鏈接頁面主題內容的最重要依據之一。我們有時候可能無法控制外部鏈接的錨文字,但是對于站內的內部鏈接錨文字我們可以控制。不過有幾點需要注意:
- 適當出現匹配關鍵詞的錨文字
- 錨文字不能集中導航或者頁尾,要分散在正文中
- 不要過度優化錨文字,要不然有可能會被搜索引擎懲罰
導出鏈接及錨文字
導出鏈接有可能會有兩種情況:
- 導出的鏈接頁面內容與錨文字不符合,會對網站頁面的相關性有一定影響
- 如果導到一個權威的網站,頁面本身相關性也會提高
頁面更新
毋庸置疑,保持更新能提高排名。畢竟頁面更新率也是吸引 spider 返回抓取的因素之一。
通過上面的一些介紹,基本上把站內優化的基本要素覆蓋了。雖然對于網站 SEO 而言,站外鏈接的優化意義要遠遠重要于站內優化,但是這并不意味著你不需要站內優化。只有把一些基本的站內優化細節做好,保持高質量的內容更新,才能吸引更多的用戶。
所以下一篇文章就要介紹如何針對 hexo 主題進行 SEO 改造。
總結
以上是生活随笔為你收集整理的个人博客 SEO 优化(2):站内优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leaflets + heatmap 加
- 下一篇: Mysql视图权限设置的踩坑经历