SEO(Search Engine Optimization):中文譯為搜索引擎優化,即利用搜索引擎的規則提高網站搜索引擎內自然排名。主要通過站內優化比如網站結構調整、網站內容建設、網站代碼優化等以及站外優化等方式實現。
主要是給各個搜索引擎提交你的 sitemap,讓別人能搜到你博客的內容。
先確認博客是否被搜索引擎收錄,在百度或者谷歌輸入下面格式來判斷,如果能搜索到就說明被收錄,否則就沒有。
site:寫你要搜索的域名
# site:rogn.top
開啟 Next 主題的 SEO 優化項
Next 提供了 seo 優化選項,在主題配置文件_config.yml
中有個選項是seo
,設置成true
即開啟了 seo 優化。
百度無法搜索到博客信息,是因為 Github Pages 屏蔽了百度爬蟲
讓百度和百度收錄博客
由於兩者方法相似,相似的部分一起講。
1. 進行驗證
打開百度站長平台,之后在用戶中心 > 站點管理
下添加網站。根據提示輸入站點地址等信息,建議輸入的域名為www
開頭的。
登陸google search console(選右邊),添加你的網站地址。
有3種驗證方式:
- HTML文件驗證:將驗證文件放置於您所配置域名的根目錄下,即放在博客的本地根目錄的
source
文件夾下(要設置skip_render)。 - HTML標簽驗證:baidu_site_verification后添加HTML標簽content后的內容(推薦)
- CNAME驗證:按要求添加一條CNAME解析
2. 生成sitemap站點地圖
站點地圖是一種文件,您可以通過該文件列出您網站上的網頁,從而將您網站內容的組織架構告知 Google 等搜索引擎。搜索引擎網頁抓取工具會讀取此文件,以便更加智能地抓取您的網站。
我們需要使用插件自動生成網站的 sitemap,然后將生成的 sitemap 提交到百度和其他搜索引擎。
先安裝谷歌和百度的插件,如下:
npm install hexo-generator-sitemap --save npm install hexo-generator-baidu-sitemap --save
在博客根目錄的_config.yml
中改url
為你的站點地址:(最好把文章鏈接也改淺點)
url: https://rogn.top root: / # permalink: :year/:month/:day/:title/ permalink: :title/
在博客根目錄的_config.yml
中添加如下代碼:
baidusitemap:
path: baidusitemap.xml
sitemap:
path: sitemap.xml
之后重新打包hexo g -d
,若在你的博客根目錄的public
下面發現生成了sitemap.xml
以及baidusitemap.xml
就表示成功了,其中sitemap.xml
文件是搜索引擎通用的文件,baidusitemap.xml
是百度專用的 sitemap 文件。
3. 添加 robots.txt
robots.txt
是搜索引擎蜘蛛協議,告訴引擎哪些要收錄,哪些禁止收錄。source
文件夾下新建 robots.txt,內容如下:
User-agent: * Allow: / Allow: /home/ Allow: /about/ Allow: /archives/ Allow: /categories/ Allow: /tags/ Disallow: /js/ Disallow: /css/ Disallow: /fonts/ Disallow: /vendors/ Disallow: /fancybox/ Disallow: /categories/ Sitemap: http://rogn.top/sitemap.xml Sitemap: http://rogn.top/baidusitemap.xml
4. 提交sitemap
谷歌:在 google search console 站點地圖,提交sitemap.xml
百度:在百度站長平台--鏈接提交--自動提交--sitemap,添加https://rogn.top/baidusitemap.xml
對於百度,除了 sitemap 還有主動推動和自動推送這兩種方式,主動推送的原理是每次 deploy 的時候都把所有鏈接推送給百度,自動推送則是每次網站被訪問時都把該鏈接推送給百度。
主動推送:
1. 插件安裝
npm install hexo-baidu-url-submit --save
2. 修改站點配置文件
在 Hexo/_config.yml,添加以下內容
baidu_url_submit: count: 5 host: your_site token: your_token path: baidu_urls.txt
其中 count 表示一次推送提交最新的N個鏈接;host 和 token 可以在百度站點頁面->數據引入->鏈接提交可以找到;path 為生成的文件名,里面存有推送的,我們網站的鏈接地址。
確保your_site 項跟百度注冊的站點一致。
同樣修改站點配置文件的 deploy 項,我們原來已經有 git 的 deploy,現在增加對 baidu 的推送,最終是這樣子的:
deploy: - type: git repo: https://github.com/growvv/growvv.github.io.git branch: master - type: baidu_url_submitter
重新生成,發布 hexo d,
{"remain":99998,"success":2}
可以看到推送給百度成功。
自動推送
首先,在主題配置文件下設置,將baidu_push
設置為true
:
然后查看themes/next/layout/_third-party/baidu-push.swig
文件中是否包含如下百度提供的自動推送代碼,沒有的話要添加:
{% if theme.baidu_push %} <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> {% endif %}
這樣每次訪問博客中的頁面就會自動向百度提交 sitemap。
參考鏈接: