個人部落格 SEO 優化(2):站內優化

weixin_33763244發表於2018-04-16

文章首發於我的部落格:個人部落格 SEO 優化(2):站內優化

Hexo 個人部落格 SEO 優化(1):搜尋引擎原理介紹

Hexo 個人部落格 SEO 優化(2):站內優化

Hexo 個人部落格 SEO 優化(3):改造你的部落格,提升搜尋引擎排名

SEO 優化可以分為站內優化和站外優化,而站內優化又分為:網站結構優化網站頁面優化。從 SEO 角度來看,做網站結構優化的目的在於:

  • 提高使用者體驗
  • 提高收錄
  • 更好的權重分配
  • 優化錨文字分佈

網站結構優化簡單概括有下面幾個要素:

  • 物理及連結結構
  • 清晰的導航
  • 分配好子域名和目錄
  • 禁止收錄機制
  • nofollow 使用
  • URL 靜態化
  • URL 設計
  • 網址規範化
  • 複製內容
  • 網站地圖 sitemap
  • 內部連結及權重分配
  • 404 頁面

網站結構優化

物理及連結結構

物理結構指的就是網站真實目錄及檔案所在的位置決定的結構。一般來說,比較合理的兩種物理結構是扁平式和樹形結構。扁平式就是所有的頁面都放在一級,一般來說,這種方式只適合頁面數量少的網站。更多的都是採用樹形結構的方式。比如利用 hexo 構建的部落格就是採用樹形結構:

SEO 站內優化-物理結構樹形圖

連結結構指的是網站內部頁面的連結所形成的結構。連結結構通常也是樹形結構:

SEO 站內優化-樹形連結結構
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: *
Disallow: /
複製程式碼

上面的檔案代表禁止所有搜尋引擎爬取所有內容。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/index.html
  • http://chenhuichao.com/index.html

複製內容

複製內容也稱重複內容,指的是多個 URL 的內容相同或者非常相似。複製內容既可能發生在同一網站內,也可能發生在不同網站上。

如果一個網站的複製內容過多的話,會帶來害處。一是有可能使搜尋引擎對網站的質量產生懷疑,導致懲罰。另外一種情況就是,同一個站內的複製內容過多的話,會分散權重。

那麼該如何消除複製內容?

  • 確保 URL 的唯一性。每個頁面只有一個 URL。
  • 對於某些確實需要多個 URL 頁面可以使用 301 跳轉
  • 使用 cannoical 標籤

網站地圖

無論站點的多少,網站地圖都是需要的。網站地圖有 HTML 和 XML 兩種版本。 HTML 版本的網站地圖就是一個頁面列出網站的結構。而 XML 版本則是通過在根目錄新增 sitemap.xml 檔案。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url>
    <loc>http://chenhuichao.com/2018/04/13/seo/seo-search-engine-principle/</loc>
    <lastmod>2018-04-13T13:49:50.000Z</lastmod>
    <changefreg>monthly</changefreg>
    <priority>1</priority>
  </url>
</urlset>
複製程式碼

一個 XML 版本的網站地圖是上面那樣。其中的標籤含義如下:

  • url,必須的,是網址的母標籤
  • loc,必須的,頁面完整 URL
  • lastmod,可選的,頁面最後一次更新時間
  • changefreg,可選的,頁面更新頻率
    • always
    • hourly
    • daily
    • weekly
    • monthly
    • yearly
    • never
  • priority 可選 頁面權重

除了 urlloc 是必須之外,其他的標籤都為可選,只是主動告訴搜尋引擎頁面的一些資訊,具體還是得根據搜尋引擎自己的判斷。

製作好網站地圖後,需要主動告訴搜尋引擎。有兩種方式:主動在站長工具提交 sitemaprobots.txt 檔案指明位置

比如 針對 Google 搜尋引擎可以在 Google 網站站長 上提交。

另外一種方式是在 robots.txt 檔案中指出 sitemap.xml 的位置也能讓搜尋引擎知道網站地圖的位置。

Sitemap: http://www.chenhuichao.com/sitemap.xml
複製程式碼

內部連結及許可權分配

一個網站的首頁權重是最高的,接著是二級分類頁面,與我們前面提到的連結結構一樣,也是成一個樹結構。內部許可權分配有幾個原則:

  • 重點內頁可以通過直接連結到首頁提高權重
  • 非必要頁面設定 nofollow 不分散權重

錨文字對於內部許可權分配也是非常重要的一個手段。這方面 維基百科絕對是做得最好的。

404 頁面

當訪問的頁面不存在時,需要一個專門的 404 頁面。404 頁面的設計需要注意幾點:

  • 保持與網站統一的風格
  • 應該在醒目的位置顯示錯誤資訊,明確提示使用者,訪問的頁面不存在。
  • 錯誤頁面還可以提供幾種跳轉:比如回到首頁和其他你引導讓使用者訪問的連結

404 頁面與外鏈的一個小技巧 由於搜尋引擎並不會無緣無故得爬行一些不存在的原因的。肯定是有外部連結指向這些地址,比如別人的部落格頁面引用等,而原文可能你已經刪除或者更換 url 了。所以我們可以通過 Google 網站站長工具發現我們網站存在的錯誤連結,將錯誤地址做 301 跳轉到正確的頁面或者直接在本來不存在的 URL 上新建一個頁面,接收這些外部連結的權重。

SEO站內優化-錯誤連結

頁面優化

網址頁面優化可以從下面幾個角度進行:

  • 頁面標題
  • 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 改造。

相關文章