文章首發於個人博客: 我的博客 SEO 優化(2):站內優化對於搜索引擎原理不清楚的能夠看第一篇文章:我的博客 SEO 優化(1):搜索引擎原理介紹html
SEO 優化能夠分爲站內優化和站外優化,而站內優化又分爲:網站結構優化和網站頁面優化。從 SEO 角度來看,作網站結構優化的目的在於:前端
網站結構優化簡單歸納有下面幾個要素:web
物理結構指的就是網站真實目錄及文件所在的位置決定的結構。通常來講,比較合理的兩種物理結構是扁平式和樹形結構。扁平式就是全部的頁面都放在一級,通常來講,這種方式只適合頁面數量少的網站。更多的都是採用樹形結構的方式。好比利用 hexo 構建的博客就是採用樹形結構:segmentfault
連接結構指的是網站內部頁面的連接所造成的結構。連接結構一般也是樹形結構:api
H 表明着網站首頁。C1 和 C2 表明着網站的分類首頁。P1~4 則是具體的每一個頁面。這只是演示的結構,實際的結構會比這個更加複雜。服務器
對於搜索引擎來講,連接結構會比物理結構來得更有意義。在上一篇 我的博客 SEO 優化(1):搜索引擎原理介紹 中有介紹到,與首頁點擊距離越近的頁面被 spider 爬行的機率也大,即權重越高。這裏的點擊距離指的就是連接結構的距離。好比一樣是屬於第三層級的 P3 頁面,因爲被首頁直接連接指向,它的首頁點擊距離比其餘頁面來得短,所以會有更高的權重。hexo
設置合理的網站的連接結構有利於頁面權重的分配。ide
清晰的導航系統是網站設計的重要目標。畢竟你確定不想你的用戶進入你的網站首頁後,面對混亂的導航,難以找到想到的頁面。對於搜索引擎的 spider 也是如此,混亂的導航會下降 spider 爬行機率。工具
在設置網站導航應該注意下面幾點:學習
搜索引擎一般會把子域名當成獨立的站點。而目錄就是該域名名下的一部分。好比http://api.chenhuichao.com
只是 http://www.chenhuichao.com
的一個子域名。http://www.chenhuichao.com/tags
就是一個目錄。
所以對主域名所作的優化,對於子域名的網站而言,一樣須要再作一遍。通常的網站和博客不須要子域名。只有大型的網站纔會須要。
你若是你不想某些具體的頁面不被收錄,能夠經過 robots 文件或者 Meta Robots 標籤來指定,確保頁面不會被搜索引擎收錄。
該文件是搜索引擎爬行網站第一個訪問的,用於告訴搜索引擎那些內容能夠爬取,哪些內容禁止爬取。若是沒有寫規則或者沒有 robots 文件的話,就是默認所有沒有均可以爬取。
可是因爲有的網站服務器設置問題,若是不存在 robots.txt 文件的時候,會返回 200 狀態碼及一些錯誤信息。可能會致使 spider 錯誤解讀信息。因此建議,至少也要放一個空的 robots.txt 文件在網站根目錄下。
robots 的格式以下:
User-agent: * Disallow: /
上面的文件表明禁止全部搜索引擎爬取全部內容。User-agent: *
表示運行全部的搜索引擎。咱們知道,不一樣的搜索引擎的 spider 名稱也不一樣。在 User-agent
上你也能夠設置名稱,只容許特定的搜索引擎爬取。如 User-agent: Googlebot
Disallow
不添加任何路徑就表示運行爬取任何內容。須要注意的是:若是要 Disallow 多個文件夾或者文件,須要寫成多行。每一行 Disallow 只能寫一個。
經過 <meta name="robots" content="noindex,nofollow">
也能夠設置禁止搜索引擎索引本頁的內容,禁止跟蹤本頁的連接。其中 content 的參數有:
每一個參數中間須要已逗號隔開。
格式以下:
<a href="" rel="nofollow">nofollow</follow>
nofollow 標籤是由 Google 領頭創新的一個「反垃圾連接」的標籤,並被市場上其餘主流搜索引擎普遍支持。nofollow 是 a 標籤的一個屬性值。用於告訴搜索引擎不要追蹤此連接,由於這個連接不是做者所信任的。這裏的 nofollow 與上面說的 meta 標籤上的 nofollow 區別在於:a 標籤上的 nofollow 是指單個連接,而 meta 上的 nofollow 是指整個頁面全部的連接。
nofollow 一般用於博客評論、論壇帖子、社交網站、留言板等地方。由於這些地方的內容都是用戶能夠自由留下連接,站長並不知道這些連接是否可信。通過測試發現,你在 segmentfault 或者掘金髮表文章時,文章的外部連接都會加上 rel="nofollow"
。
同時對於網站內部一些重複內容的頁面或者是一些無需被收錄的連接均可以加上該標籤,能夠防止網站權重浪費。好比像聯繫咱們、隱私政策等頁面,就可使用 nofollow 標籤了。
咱們都知道,對於動態頁面對應 spider 爬取是不友好的。所以須要將 URL 靜態化才能更好的讓 spider 爬取。
這點對於 hexo 博客來講不成問題。畢竟自己都是靜態博客,全部的頁面都是 HTML 頁面。
網址規範指的是儘可能使用惟一的 URL,而不要使用多個 URL。好比下面的 url 雖然訪問都是一樣的內容,可是搜索引擎會把他們當作不一樣的頁面
複製內容也稱重複內容,指的是多個 URL 的內容相同或者很是類似。複製內容既可能發生在同一網站內,也可能發生在不一樣網站上。
若是一個網站的複製內容過多的話,會帶來害處。一是有可能使搜索引擎對網站的質量產生懷疑,致使懲罰。另一種狀況就是,同一個站內的複製內容過多的話,會分散權重。
那麼該如何消除複製內容?
不管站點的多少,網站地圖都是須要的。網站地圖有 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 版本的網站地圖是上面那樣。其中的標籤含義以下:
changefreg,可選的,頁面更新頻率
除了 url
和 loc
是必須以外,其餘的標籤都爲可選,只是主動告訴搜索引擎頁面的一些信息,具體仍是得根據搜索引擎本身的判斷。
製做好網站地圖後,須要主動告訴搜索引擎。有兩種方式:主動在站長工具提交 sitemap、robots.txt 文件指明位置
好比 針對 Google 搜索引擎能夠在 Google 網站站長 上提交。
另一種方式是在 robots.txt
文件中指出 sitemap.xml 的位置也能讓搜索引擎知道網站地圖的位置。
Sitemap: http://www.chenhuichao.com/sitemap.xml
一個網站的首頁權重是最高的,接着是二級分類頁面,與咱們前面提到的連接結構同樣,也是成一個樹結構。內部權限分配有幾個原則:
錨文字對於內部權限分配也是很是重要的一個手段。這方面 維基百科絕對是作得最好的。
當訪問的頁面不存在時,須要一個專門的 404 頁面。404 頁面的設計須要注意幾點:
404 頁面與外鏈的一個小技巧
因爲搜索引擎並不會平白無故得爬行一些不存在的緣由的。確定是有外部連接指向這些地址,好比別人的博客頁面引用等,而原文可能你已經刪除或者更換 url 了。因此咱們能夠經過 Google 網站站長工具發現咱們網站存在的錯誤連接,將錯誤地址作 301 跳轉到正確的頁面或者直接在原本不存在的 URL 上新建一個頁面,接收這些外部連接的權重。
網址頁面優化能夠從下面幾個角度進行:
頁面標題是頁面優化最重要的因素。格式以下:
<title>我的博客 SEO</title>
在優化標題的時候須要注意:
|->
Description 標籤用於說明網頁的主體內容。格式以下:
<meta name="description" conent="seo學習筆記,經過學習seo對我的博客進行seo優化,以提升搜索引擎排名"
Description 標籤的重要性要比標題低不少。用戶在頁面中並不會看到描述文字,只會在源文件和搜索結構列表中才能看到。可是搜索引擎並非只會提交描述標籤文字顯示在搜索結果列表的。有時候搜索引擎也會根據文章內容動態提取說明文字。
對於我的站點而言,描述標籤最好是一句通順的句子,若是不能的話,則寧肯不要。
目前 keyword 標籤對 seo 已經沒有任何影響了。
正文中的關鍵詞涉及到兩個概念:
因爲如今詞頻和密度對於 SEO 影響不大,因此只要保持你的正文中出現 4~6 次關鍵詞就能夠了。千萬不能堆砌關鍵詞。
H 標籤的重要性多是僅次與頁面標籤。H1->H6 的重要性依次下降。
因此建議在頁面的 H1 和 H2 標籤中混入關鍵詞
對於前端攻城獅而言,這是個常規操做了。畢竟圖片都是須要添加 ALT 文字的,用於在圖片不顯示的狀況下顯示 ALT 文字。圖片 ALT 文字出現的關鍵詞對頁面相關性也有必定的影響。一樣的,也不要在 ALT 上堆砌關鍵詞。
內部連接對於爬行和收錄具備很重要的意義。內部連接對頁面關鍵詞相關性也有影響,最主要的就是在內部連接中使用錨文字。
錨文字是告訴搜索引擎被連接頁面主題內容的最重要依據之一。咱們有時候可能沒法控制外部連接的錨文字,可是對於站內的內部連接錨文字咱們能夠控制。不過有幾點須要注意:
導出連接有可能會有兩種狀況:
毋庸置疑,保持更新能提升排名。畢竟頁面更新率也是吸引 spider 返回抓取的因素之一。
經過上面的一些介紹,基本上把站內優化的基本要素覆蓋了。雖然對於網站 SEO 而言,站外連接的優化意義要遠遠重要於站內優化,可是這並不意味着你不須要站內優化。只有把一些基本的站內優化細節作好,保持高質量的內容更新,才能吸引更多的用戶。
因此下一篇文章就要介紹如何針對 hexo 主題進行 SEO 改造。