終於完成了 Hexo 博客的搭建、優化以及部署,雖然在過程中遇到了各種各樣的問題,但最終都一定程度上解決了它。下面列舉了一些相對困擾比較久的問題及解決辦法,遇到的其他小問題不一一贅述。
總結下來就是:① 善用搜索引擎(Baidu / Google) ② 研讀官方文檔 ③ 多思考多實操。
域名解析問題:#
問題(一):域名解析到 Dnspod 後訪問不到或跳轉到域名商那裡
- 原因:博主在 Namesilo 購買的域名,域名管理默認自帶了 4 個 DNS 解析記錄。
解決辦法:刪除掉自帶的 DNS 解析記錄,在 Dnspod 處設置一或兩個 A 記錄(可以在Github
查看或自行ping username.github.io
)指向 IP,一個CNAME
記錄指向username.github.io
域名。
訪問速度問題:#
問題(一):添加Valine
後站點訪問加載緩慢
原因:
Valine
評論系統默認的 CDN 地址unpkg.com/valine/dist/Valine.min.js
加載太慢。解決辦法:替換
\themes\next\layout\_third-party\comments\valine.swig
中的默認 CDN 地址為最新的Valine.min.js
地址。
最新 Valine.min.js 獲取地址:https://www.jsdelivr.com/package/npm/valine,獲取方法如下圖:
SEO 問題:#
問題(一):站點無法通過百度站長平台驗證
原因:百度未找到驗證文件或驗證文件被 Hexo 模板渲染,內容已改變(博主遇到的就是這種情況,在 github 裡查看文件內容被渲染修改)
解決辦法:使用文件驗證,將指定 html 文件放至 source 目錄下,並在站點配置文件中添加
skip_render: baidu_verify_******.html
問題(二):若文章名有中文,博客文章鏈接默認帶有中文
原因:站點配置文件中 Permalink 默認為:
posts:/:year/:month/:day/:title/
解決辦法:使用
npm hexo-abbrlink --save
安裝插件,按插件文檔配置好站點文件,會利用算法將博客文章鏈接優化為不帶中文的 3 層鏈接形式。
博客備份和恢復#
博客備份#
$ git init //git初始化
$ git add . //git 文件添加
$ git commit -m "init" //git 提交
$ git pull origin hexo //pull到hexo分支
$ git push origin hexo //push到hexo分支
博客恢復#
(一)配置 ssh 連接 Github
$ cd ~/.ssh 或cd .ssh //檢查本機是否有ssh key設置
$ cd ~ //若沒有 ssh ,則切換當前路徑在 ”~” 下
$ ssh-keygen -t rsa -C "[email protected]" //引號內為自己郵箱,三個回車後生成ssh key;添加id_rsa.pub內容到Github;
$ git config --global user.name “your_username” //設置用戶名
$ git config --global user.email “your_registered_github_Email” //設置郵箱地址(建議用註冊giuhub的郵箱)
$ ssh -T [email protected] //測試ssh key是否設置成功
(二)安裝 Node.js;Git;Hexo;
$ git clone -b hexo [email protected]:user/user.github.io.git //將Github中hexo分支clone到本地
$ cd user.github.io //切換到hexo目錄下
$ npm install hexo
$ npm install
$ npm install hexo *** //安裝需要的插件:feed;deployer;abbrlink;sitemap;pdf;nofollow;baidu-url-submit等
$ hexo g -d //測試能否正常編譯上傳
博主安裝的插件:#
hexo-abbrlink // Hexo 鏈接優化
hexo-baidu-url-submit // 百度鏈接主動提交
hexo-blog-encrypt // 博客文章加密
hexo-autonofollow // 出站鏈接優化
hexo-deployer-git // 上傳部署
hexo-generator-baidu-sitemap //百度站點地圖
hexo-generator-feed // RSS 插件
hexo-generator-searchdb // 站內搜索
hexo-generator-sitemap // 站點地圖
hexo-neat // 博客壓縮
hexo-pdf // 博客文章 PDF 顯示
hexo-wordcount // 計數插件
hexo-lazyload-image //圖片懶加載