1. 程式人生 > 實用技巧 >hexo+yilia進行SEO優化

hexo+yilia進行SEO優化

介紹

SEO優化

推廣是一個煩人的事情,特別是對於我們搞技術的來說,可能就不擅長推廣,那麼怎麼才能讓別人知道我們呢,我們就要想辦法讓別人通過搜尋就可以搜尋到你部落格的內容,給我們帶來自然流量,這就需要seo優化,讓我們的站點變得對搜尋引擎友好。

SEO是由英文Search Engine Optimization縮寫而來, 中文意譯為“搜尋引擎優化”。SEO是指通過站內優化比如網站結構調整、網站內容建設、網站程式碼優化等以及站外優化。

百度收錄

參考:https://blog.csdn.net/linzhiqiang0316/article/details/89344595
百度官方介紹:https://ziyuan.baidu.com/college/articleinfo?id=1504

bug:提交推送連結後,百度好像有延遲,你不能立即看到提交資料的變化,我的是過幾天后才有資料的。

如何選擇連結提交方式 ?

  1. 手動提交:一次性提交連結給百度,可以使用此種方式。
  2. 自動提交(雖然這種方式各有千秋,但是百度推薦全用上,全面一點!):
    2.1 主動推送(實時):最為快速的提交方式,推薦您將站點當天新產出連結立即通過此方式推送給百度,以保證新連結可以及時被百度收錄。
    2.2 自動推送:最為便捷的提交方式,請將自動推送的JS程式碼部署在站點的每一個頁面原始碼中,部署程式碼的頁面在每次被瀏覽時,連結會被自動推送給百度。可以與主動推送配合使用。
    2.3 sitemap:您可以定期將網站連結放到sitemap中,然後將sitemap提交給百度。百度會週期性的抓取檢查您提交的sitemap,對其中的連結進行處理,但收錄速度慢於主動推送。

設定推送

站長平臺:https://ziyuan.baidu.com

前提:註冊百度,新增站點、驗證站點。

注意:使用HTML進行驗證的話,要保證該檔案上傳到網站後是一模一樣的,即不然被渲染和壓縮,跳過渲染可以再HTML檔案前面加入下面的內容;跳過壓縮因外掛而異。跳過該HTML檔案。

---
layout: false
---

驗證成功就能在百度找到你的網站了,如site:www.yansheng.xyz,不過百度好像沒有那麼快,可能需要一兩天。

主動推送

參考:Hexo外掛之百度主動提交連結

前提:獲得祕鑰

您得註冊百度站長工具,然後在(標題欄)網站支援->資料引入->連結提交

裡找到你的密匙。
現在(2020-6-23)該網站好像改版了,你可以在資源提交->普通收錄裡找到你的密匙,如下圖。

新增外掛hexo-baidu-url-submit

該外掛github網址:https://github.com/huiwang/hexo-baidu-url-submit

首先,在Hexo根目錄下,安裝本外掛:
npm install hexo-baidu-url-submit --save

配置“百度主動推送”

然後,同樣在根目錄下,把以下內容配置到_config.yml檔案中:

# 百度主動推送
baidu_url_submit:
  count: 1 ## 提交最新的一個連結
  host: www.hui-wang.info ## 在百度站長平臺中註冊的域名
  token: your_token ## 請注意這是您的祕鑰, 所以請不要把部落格原始碼釋出在公眾倉庫裡!
  path: baidu_urls.txt ## 文字文件的地址, 新連結會儲存在此文字文件裡

其次,記得檢視_config.yml檔案中url的值, 必須包含是百度站長平臺註冊的域名(一般有www), 比如:

# URL
url: http://www.hui-wang.info

最後,加入新的deployer:

deploy:
- type: s3 ## 這是我原來的deployer
  bucket: hui-wang.info
- type: baidu_url_submitter ## 這是新加的

注意:上面是官方的文件,而實際上應該要這樣,可參考我的:

deploy:
- type: git
  repository: 
     github: https://github.com/yansheng836/yansheng836.github.io.git
     coding: https://git.dev.tencent.com/yansheng836/yansheng836.coding.me.git
  branch: master
  # 釋出時,同時進行百度推送
- type: baidu_url_submitter

因為不是有兩個deploy,要放在一起。

如何進行推送

執行hexo deploy的時候,新的連線就會被推送了。如下圖

檢視官網資訊(如下所示)我們可以知道這是推送成功了。

補充:官網資訊檢視方式 (標題欄)網站支援->資料引入->連結提交->自動提交->主動推送,在下面就有推送成功的資訊(如下)。

#成功返回示例:
{
    "remain":4999998,
    "success":2,
    "not_same_site":[],
    "not_valid":[]
}

重新生成後,我們可以發現在public\目錄下生成有baidu_urls.txt裡面的就是推送的連結。

自動推送

參考:https://purewhite.io/2017/04/29/hexo-baidu-url-submit/

https://github.com/JoeyBling/hexo-theme-yilia-plus/commit/c1215e132f6d5621c5fea83d3c4f7ccbcca074a3

1.在配置H:\Hexo\themes\yilia\_config.yml中開啟功能:

# 開啟百度站長平臺自動推送(https://ziyuan.baidu.com/linksubmit/index)
# 頁面被訪問了,就會被推送過去。
baidu_push: true

2.新建H:\Hexo\themes\yilia\layout\_partial\baidu-push.ejs

<% if (theme.baidu_push){ %>
<!-- 開啟百度站長平臺自動推送https://ziyuan.baidu.com/linksubmit/index,
https://ziyuan.baidu.com/college/courseinfo?id=267&page=2#h2_article_title19-->
<script>
  (function () {
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
      bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    } else {
      bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
  })();
</script>
<% } %>

3.在H:\Hexo\themes\yilia\layout\_partial\head.ejs</head>前引入指令碼:

<!--百度自動推送-->
<%- partial('baidu-push') %>
</head>

sitemap

參考部落格:https://purewhite.io/2017/04/29/hexo-baidu-url-submit/

我們使用 hexo generator-baidu-sitemap這個外掛,github:https://github.com/coneycode/hexo-generator-baidu-sitemap

或者使用這個外掛:https://github.com/ludoviclefevre/hexo-generator-seo-friendly-sitemap:它將為頁面,帖子,類別,標籤和XSL樣式表生成單獨的站點地圖檔案。

安裝hexo generator-baidu-sitemap外掛
#if your hexo version is 2.x.x, you should install as follow:
$ npm install [email protected] --save

#if version is 3.x.x, you should install as follow:
$ npm install hexo-generator-baidu-sitemap --save

然後在_config.yml 裡面配置一下:
baidusitemap:
  path: baidusitemap.xml

hexo g後,會在public\目錄下生成站點檔案baidusitemap.xml

百度站長平臺設定

之後去百度站長平臺提交一下 sitemap 的路徑就好,一般都是 www.example.com/baidusitemap.xml,一段時間後,去百度搜索相關資訊就會出現這些網頁。

效果

在站長平臺可以看到連結提交數量,如:

Google收錄

和百度類似。

新增網站、驗證

登入Google賬號,開啟搜尋控制檯:https://search.google.com/search-console,新增你的網站,需要驗證網站,它那裡會提供幾種驗證方式,我是用HTML,下載它的HTML檔案,將它新增到你的網站根目錄下,然後點選驗證。

注意:使用HTML進行驗證的話,要保證該檔案上傳到網站後是一模一樣的,即不然被渲染和壓縮,跳過渲染可以再HTML檔案前面加入下面的內容,跳過壓縮因外掛而異。

---
layout: false
---

驗證成功很快就能再Google找到你的網站了,如site:www.yansheng.xyz

安裝hexo-generator-sitemap外掛

提交sitemap,上面使用的是百度特有的sitemap,Google識別不了,所以使用通用sitemap生成器hexo-generator-sitemap:https://github.com/hexojs/hexo-generator-sitemap

npm install hexo-generator-sitemap --save

配置_config.yml

sitemap:
    path: sitemap.xml

重新生成,會在根目錄下生成sitemap.xml檔案,釋出後,就可以在google控制檯提交這個sitemap了。

效果

補充

SEO只負責提交網站的索引量、訪問量,具體資料可以通過新增百度分析和google分析來參看。可參考:hexo+yilia新增百度統計和Google統計