何爲SEO優化
搜索引擎優化(英語:search engine optimization,縮寫爲SEO),是一種通過了解搜索引擎的運作規則來調整網站,以及提高目的網站在有關搜索引擎內排名的方式。由於不少研究發現,搜索引擎的用戶往往只會留意搜索結果最前面的幾個條目,所以不少網站都希望通過各種形式來影響搜索引擎的排序,讓自己的網站可以有優秀的搜索排名。當中尤以各種依靠廣告維生的網站爲甚。
所謂“針對搜索引擎作最優化的處理”,是指爲了要讓網站更容易被搜索引擎接受。搜索引擎會將網站彼此間的內容做一些相關性的數據比對,然後再由瀏覽器將這些內容以最快速且接近最完整的方式,呈現給搜索者。搜索引擎優化就是通過搜索引擎的規則進行優化,爲用戶打造更好的用戶體驗,最終的目的就是做好用戶體驗。
對於任何一個網站來說,要想在網站推廣中獲取成功,搜索引擎優化都是至爲關鍵的一項任務。同時,隨着搜索引擎不斷變換它們的搜索排名算法規則,每次算法上的改變都會讓一些排名很好的網站在一夜之間名落孫山,而失去排名的直接後果就是失去了網站固有的可觀訪問流量。所以每次搜索引擎算演法的改變都會在網站之中引起不小的騷動和焦慮。可以說,搜索引擎優化是一個愈來愈複雜的任務。
——維基百科
看起來還蠻高大上的。
當我們的網站設置好之後,能不能在搜索引擎搜索到呢?
試一下。
百度搜索:
site: liyaolife.com
返回結果
Amazing!搜不到,所以怎麼辦?SEO優化。
Google SEO優化
下面以Google爲例,講一下SEO優化的過程。
註冊Google Search Console
使用Google賬號直接登錄即可,沒有的,註冊一個,不需要實名認證,非常方便。
添加博客域名,驗證域名所屬權,這裏當然不會給我們手機發送一個驗證碼了,而是通過其他方式驗證。
點擊添加屬性。
然後在後面輸入自己的網址。
驗證方式有很多種,我選擇的是通過HTML標記驗證,只需要添加一行代碼放到首頁即可。
把那行代碼複製下來,放到,theme/layout/_partial/header.ejs
文件裏面,即可。這樣更新自己的博客之後,在chrome裏右鍵查看源代碼就會發現。
這行代碼,Google正式通過這種方式來驗證我們對網站的所有權,下面一行baidu-site-verification就是百度的驗證。方法是一樣的。
添加站點地圖 sitemap
首先,在本地安裝站點地圖自動生成的插件
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save
在blog的配置文件中增加:
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
注意格式一定要正確,這裏建議使用帶高亮的編輯器(比如Atom)打開配置文件,因爲帶高亮的情況下,可以很容易看出格式正不正確。
添加好之後hexo g即可在本地生成sitemap.xml文件了,deploy之後在線
http://liyaolife.com/sitemap.xml也可以看見我的sitemap。
然後在Google search console裏添加sitemap即可。
添加robots.txt測試工具
在博客的source文件下面新建robots.txt
內容
# hexo robots.txt
User-agent: *
Allow: /
Allow: /archives/
Disallow: /vendors/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/
Sitemap: http://liyaolife.com/sitemap.xml
Sitemap: http://liyaolife.com/baidusitemap.xml
注意將網址換成自己的!
部署,然後同樣提交到google search console裏面
大功告成,很快Google就可以搜索到我們啦。
排在第一位,很棒。
百度SEO
過程與Google基本一致,但是由於GitHub Pages屏蔽了百度的爬蟲請求,所以baidusitemap.xml總是提交失敗。
解決這個問題,過程非常麻煩,知乎有一個討論帖。
知乎:如何解決百度爬蟲無法爬取搭建在Github上的個人博客的問題?
我總結了一下,基本上可以分爲兩個方案。
在國內的gitcafe或者coding這樣的類GitHub平臺再做一個頁面,也解析到我們的網址,國內的請求訪問這個源,國外的訪問GitHub的源。
但是這個方案最近似乎不行了,因爲國內的一些服務方如果不買會員,就會強制加幾秒廣告!!!
第二種方法,CDN服務,設置一個緩存區,百度爬的是緩存區的內容,技術上可行,但是國內的CDN服務方,騰訊雲,七牛雲,要求網站必須備案,備案過程非常繁瑣……
所以這個問題就很難解決,要麼就自己買VPS(租服務器),把網站部署到VPS上,這樣就不會受到GitHub的限制了。
總之很多博客都沒有解決這個問題,這也是爲什麼一些技術問題在百度搜索的時候找不到答案,用Google可以,因爲很多個人博客百度檢索不到啊!另外,這個鍋,似乎不該百度來背……
抽空給必應和搜狗也做一個SEO吧。