hexo優(yōu)化

關(guān)鍵詞與描述

搜索引擎除了主要抓取標(biāo)題外,頁面的關(guān)鍵詞和描述也會(huì)抓取。

在\scaffolds\post.md中添加如下代碼,用于生成的文章中添加關(guān)鍵字和描述。

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">keywords: description:</pre>


開啟壓縮文件(不成功,以后填坑)

因?yàn)閔exo生成的文件是靜態(tài)html,里面占用了大量的空白符。使用gulp進(jìn)行壓縮接口提高訪問速度并且降低內(nèi)存。

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">npm install gulp -g npm install gulp-minify-css gulp-uglify gulp-htmlmin gulp-htmlclean gulp --save npm install gulp-concat npm install gulp-imagemin</pre>

在hexo blog文件夾下創(chuàng)建gulpfile.js:

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">var gulp = require('gulp'), uglify = require('gulp-uglify'), cssmin = require('gulp-minify-css'), imagemin = require('gulp-imagemin'), htmlmin = require('gulp-htmlmin'), htmlclean = require('gulp-htmlclean'); concat = require('gulp-concat'); //JS壓縮 gulp.task('uglify', function() { return gulp.src(['./public/js//.js','!./public/js//min.js'])//只是排除min.js文件還是不嚴(yán)謹(jǐn),一般不會(huì)有問題,根據(jù)自己博客的修改我的修改為return gulp.src(['./public//.js','!./public/zuoxi//.js',,'!./public/radio//.js']) .pipe(uglify()) .pipe(gulp.dest('./public/js'));//對(duì)應(yīng)修改為./public即可 }); //public-fancybox-js壓縮 gulp.task('fancybox:js', function() { return gulp.src('./public/vendors/fancybox/source/jquery.fancybox.js') .pipe(uglify()) .pipe(gulp.dest('./public/vendors/fancybox/source/')); }); // 合并 JS gulp.task('jsall', function () { return gulp.src('./public//.js') // 壓縮后重命名 .pipe(concat('app.js')) .pipe(gulp.dest('./public')); }); //public-fancybox-css壓縮 gulp.task('fancybox:css', function() { return gulp.src('./public/vendors/fancybox/source/jquery.fancybox.css') .pipe(cssmin()) .pipe(gulp.dest('./public/vendors/fancybox/source/')); }); //CSS壓縮 gulp.task('cssmin', function() { return gulp.src(['./public/css/main.css','!./public/css/min.css']) .pipe(cssmin()) .pipe(gulp.dest('./public/css/')); }); //圖片壓縮 gulp.task('images', function() { gulp.src('./public/uploads/.') .pipe(imagemin({ progressive: false })) .pipe(gulp.dest('./public/uploads/')); }); // 壓縮 public 目錄 html文件 public//.hmtl 表示public下所有文件夾中html,包括當(dāng)前目錄 gulp.task('minify-html', function() { return gulp.src('./public//.html') .pipe(htmlclean()) .pipe(htmlmin({ removeComments: true, minifyJS: true, minifyCSS: true, minifyURLs: true, })) .pipe(gulp.dest('./public')) }); gulp.task('build', ['uglify', 'cssmin', 'fancybox:js', 'fancybox:css', 'jsall','images']); //, 'minify-html'</pre>

在根目錄下的package.json文件中生成寫入scripts

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"scripts": { "build": "hexo clean && hexo g && gulp build" }</pre>

這樣每次輸入 npm run build 就會(huì)自動(dòng)清理上次生成的文件,然后生成新的文件,最后壓縮文件


開啟推送

將網(wǎng)站鏈接提交到百度,百度搜索引擎提交入口 ,然后驗(yàn)證你的網(wǎng)站,這一點(diǎn)網(wǎng)上有很詳細(xì)的教程我就不復(fù)述了,驗(yàn)證確認(rèn)你的網(wǎng)站后,繼續(xù)驗(yàn)證你的網(wǎng)站的robots.txt和sitemap文件是否可用,一般都是可用的。

然后就可以開始推送了,基本上推送有三種方式:主動(dòng)推送>自動(dòng)推送>sitemap三種,一般主動(dòng)提交比手動(dòng)提交效果好。

自動(dòng)推送

把下面的代碼放到D:\hexo\themes\next\source\js\src目錄下,文件名為bai.js

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><script> (function(){ var bp = document.createElement('script'); bp.src = '//push.zhanzhang.baidu.com/push.js'; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script></pre>

然后在D:\hexo\scaffolds目錄下的post.md文件(模板文件中加入這么一行)

<script type="text/javascript" src="/js/src/bai.js"></script>

這樣只要訪問你的這個(gè)頁面,就會(huì)自動(dòng)向百度推送你的這個(gè)網(wǎng)頁。

手動(dòng)推送

用Python寫了一個(gè)自動(dòng)推送的腳本,首先你要在百度站長(zhǎng)平臺(tái)獲取你的網(wǎng)址的token

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#coding:utf-8 import requests import time from bs4 import BeautifulSoup as bp print unicode('Langzi.Fun 自動(dòng)推送開啟....','utf-8') time.sleep(0.5) site_url = 'http://www.這里改寫成你的網(wǎng)站.com/baidusitemap.xml' try: print unicode('Langzi.Fun 獲取sitemap鏈接....','utf-8') data_ = bp(requests.get(site_url).content,'lxml') except Exception.e: print e list_url=[] def get_(data): headers={'User-Agent':'curl/7.12.1 ', 'Content-Type':'text/plain '} try: r = requests.post(url='http://data.zz.baidu.com/urls?site=www.這里改寫成你的網(wǎng)站.com&token=這里改寫成你的token',data=data) print r.status_code print r.content except Exception,e: print e print '---------------------------------' for x,y in enumerate(data_.find_all('loc')): print x,y.string list_url.append(y.string.replace('http://','http://www.')) print '---------------------------------' print unicode('Langzi.Fun 開始推送....','utf-8') for x in list_url: print unicode('Langzi.Fun 當(dāng)前推送條目為:','utf-8') + x get_(x)</pre>

修改完后雙擊啟動(dòng)一次即可,每次寫完文章后,都啟動(dòng)推送一次。已經(jīng)使用主動(dòng)推送的站點(diǎn),依然可以部署自動(dòng)推送的JS代碼,二者一起使用。


獲取關(guān)鍵詞

現(xiàn)在搜關(guān)鍵詞全是廣告,其實(shí)百度已經(jīng)提供了一個(gè)接口,每次使用過百度搜索的時(shí)候下面的下拉條會(huì)出現(xiàn)一堆相關(guān)的關(guān)鍵詞,這下關(guān)鍵詞的權(quán)重是非常高的,采集這些關(guān)鍵詞然后用在自己的文章中效果還可以,但是要記住不能堆砌關(guān)鍵詞。

接口:

[https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=](https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=)

例如:

[https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=](https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=)敲黑板

搜過結(jié)果:

window.baidu.sug({q:"langzi",p:false,s:["浪子彥","朗姿女裝","朗姿","朗姿唯品會(huì)","浪子彥直播","浪子心聲","浪子","浪子回頭","朗姿股份","浪子燕青"]});

一般回顯10個(gè)關(guān)鍵詞

提取代碼如下:

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#coding:utf-8 import requests import time print unicode('Langzi.Fun 關(guān)鍵詞采集開啟....','utf-8') #time.sleep(0.5) key = raw_input(unicode('輸入關(guān)鍵詞:','utf-8')) site_url = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=' + (str(key)) r = requests.get(site_url) print r.content.replace('window.baidu.sug({q:','').replace('});','').replace(',p:false,s:','').replace('"','').replace(str(key),'')</pre>

網(wǎng)上也有很多百度下拉框工具,可以去找一下。


title優(yōu)化

搜索引擎在抓取網(wǎng)頁時(shí),最先讀取的就是網(wǎng)頁標(biāo)題,所以title是否正確設(shè)置極其重要。title一般不超過80個(gè)字符,而且詞語間要用英文“-”隔開,因?yàn)橛?jì)算機(jī)只對(duì)英語的敏感性較高,對(duì)漢語的敏感性不高。

用法:<title>網(wǎng)站標(biāo)題</title>

注意點(diǎn):

首頁title寫法:首頁的title寫法格式一般是“總標(biāo)題-特別重要的關(guān)鍵詞或者一句話含有特別重要關(guān)鍵詞的描述”。注意這里的“-”是英文,要問我為什么呢?這個(gè)因?yàn)榛ヂ?lián)網(wǎng)不是我們國(guó)內(nèi)開發(fā)的,漢語不是標(biāo)準(zhǔn),計(jì)算機(jī)只對(duì)英語敏感性較高,而對(duì)漢語敏感性不太高。

欄目頁title寫法:欄目頁title的寫法有兩種,關(guān)鍵詞名稱命名寫法是“欄目名稱-總名稱”,非關(guān)鍵詞命名寫法是:“欄目名稱 欄目關(guān)鍵詞-總名稱”。

分類列表頁的title寫法:用關(guān)鍵詞為這個(gè)欄目起名,然后按照下列順序填寫便可了“分類列表頁名稱-欄目名稱-總名稱”。

注意事項(xiàng):

每個(gè)標(biāo)題應(yīng)該是根據(jù)當(dāng)前內(nèi)容設(shè)置的獨(dú)特不重復(fù)的。

字?jǐn)?shù)限制。不能太長(zhǎng),要不然搜索引擎結(jié)果列表會(huì)顯示不全。最好不超過 25 個(gè)中文字。最好是在 10~20 之間。

切勿堆砌關(guān)鍵詞。這是很多人常犯的錯(cuò)誤

關(guān)鍵詞最好出現(xiàn)在最前面

標(biāo)題有吸引力。畢竟有吸引力的標(biāo)題才能讓用戶點(diǎn)擊

連詞符的使用??梢允褂?|->

不要使用沒有意義的句子


keywords優(yōu)化

主要作用是告訴搜索引擎,這個(gè)網(wǎng)站內(nèi)容是什么。因?yàn)椋枚嗾鹃L(zhǎng)在keywords堆砌關(guān)鍵詞,所以好多搜索引擎不太重視keywords了。建議大家還是認(rèn)真填寫keywords,有的搜索引擎還是很重視的,由于現(xiàn)在詞頻和密度對(duì)于 SEO 影響不大,所以只要保持你的正文中出現(xiàn) 4~6 次關(guān)鍵詞就可以了。千萬不能堆砌關(guān)鍵詞。

注意點(diǎn):

首頁keywords寫法:首頁keywords按照選定的欄目名稱,在首頁的keywords中加入總名稱、欄目名稱和一兩個(gè)關(guān)鍵詞。

欄目keywords寫法:欄目的keywords其欄目下所有分類列表的名稱列出,加上欄目關(guān)鍵字,寫法是“欄目名稱,欄目關(guān)鍵字,欄目分類列表名稱”

分類列表頁keywords寫法:將你這個(gè)欄目中的主要關(guān)鍵字寫入。


Description優(yōu)化

功能讓搜索引擎是判斷整個(gè)頁面內(nèi)容的,當(dāng)中要寫入的內(nèi)容是你頁面內(nèi)容的簡(jiǎn)介。description一般不超過100個(gè)字符。對(duì)于個(gè)人站點(diǎn)而言,描述標(biāo)簽最好是一句通順的句子,如果不能的話,則寧可不要。

注意點(diǎn):

首頁description寫法:description的寫法就是將首頁的標(biāo)題、關(guān)鍵詞和一些特殊欄目的內(nèi)容融合到里面,寫成簡(jiǎn)單的介紹形式,不要只寫關(guān)鍵詞。

欄目description寫法:將欄目的標(biāo)題、關(guān)鍵字、分類列表名稱,盡量的寫入description中,仍是盡量寫成介紹形式。

分類description寫法:是將你這個(gè)欄目中的主要關(guān)鍵字寫入。


H標(biāo)簽優(yōu)化

H 標(biāo)簽的重要性可能是僅次與頁面標(biāo)簽。H1->H6 的重要性依次降低。

所以建議在頁面的 H1 和 H2 標(biāo)簽中混入關(guān)鍵詞


圖片 ALT 文字優(yōu)化

插入圖片的時(shí)候會(huì)提示輸入文字,這個(gè)不能敷衍。圖片 ALT 文字出現(xiàn)的關(guān)鍵詞對(duì)頁面相關(guān)性也有一定的影響。同樣的,也不要在 ALT 上堆砌關(guān)鍵詞。


內(nèi)部鏈接及錨文字優(yōu)化

內(nèi)部鏈接對(duì)于爬行和收錄具有很重要的意義。內(nèi)部鏈接對(duì)頁面關(guān)鍵詞相關(guān)性也有影響,最主要的就是在內(nèi)部鏈接中使用錨文字。

錨文字是告訴搜索引擎被鏈接頁面主題內(nèi)容的最重要依據(jù)之一。我們有時(shí)候可能無法控制外部鏈接的錨文字,但是對(duì)于站內(nèi)的內(nèi)部鏈接錨文字我們可以控制。不過有幾點(diǎn)需要注意:

適當(dāng)出現(xiàn)匹配關(guān)鍵詞的錨文字

錨文字不能集中導(dǎo)航或者頁尾,要分散在正文中

不要過度優(yōu)化錨文字,要不然有可能會(huì)被搜索引擎懲罰


搜索引擎食用方法

首先給你的文章生成sitemap文件

  • 谷歌
    npm install hexo-generator-sitemap --save #sitemap.xml適合提交給谷歌搜素引擎
  • 百度
    npm install hexo-generator-baidu-sitemap --save #baidusitemap.xml適合提交百度搜索引擎
    然后在站點(diǎn)配置文件_config.yml中添加以下代碼

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">自動(dòng)生成sitemap sitemap: path: sitemap.xml baidusitemap: path: baidusitemap.xml</pre>

最后修改站點(diǎn)配置文件_config.yml

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"># URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://你的網(wǎng)站</pre>

每次hexo g后都會(huì)在/public目錄下生成sitemap.xml和baidusitemap.xml,這就是你的站點(diǎn)地圖。


robots.txt:

robots.txt 是一種存放于網(wǎng)站根目錄下的 ASCII 編碼的文本文件,它的作用是告訴搜索引擎此網(wǎng)站中哪些內(nèi)容是可以被爬取的,哪些是禁止爬取的。robots.txt 放在博客目錄下的 source 文件夾中,博客生成后在站點(diǎn)目錄 /public/ 下。

我的 robots.txt 文件內(nèi)容如下:

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">User-agent: * Allow: / Allow: /archives/ Allow: /categories/ Allow: /about/ Disallow: /js/ Disallow: /css/ Disallow: /fonts/ Disallow: /vendors/</pre>

robots.txt 文件更新至網(wǎng)站后可進(jìn)入 Google Search Console - 抓取 - robots.txt 測(cè)試工具進(jìn)行測(cè)試。


其他SEO優(yōu)化

SEO優(yōu)化應(yīng)該說是一個(gè)收益延遲的行為,可能你做的優(yōu)化短期內(nèi)看不到什么效果,但是一定要堅(jiān)持,seo優(yōu)化也是有很深的可以研究的東西,從我們最初的網(wǎng)站設(shè)計(jì),和最基礎(chǔ)的標(biāo)簽的選擇都有很大的關(guān)系,網(wǎng)站設(shè)計(jì)就如我們剛剛說的,要讓用戶點(diǎn)擊三次可以到達(dá)網(wǎng)站的任何一個(gè)頁面,要增加高質(zhì)量的外鏈,增加相關(guān)推薦(比如說我們經(jīng)常見到右側(cè)本站的最高閱讀的排名列表),然后就是給每一個(gè)頁面加上keyword和描述

在代碼中,我們應(yīng)該寫出能讓瀏覽器識(shí)別的語義化HTML,這樣有助于爬蟲抓取更多的有效信息:爬蟲依賴于標(biāo)簽來確定上下文和各個(gè)關(guān)鍵字的權(quán)重;并且對(duì)外鏈設(shè)置nofollow標(biāo)簽,避免spider爬著爬著就爬出去了(減少網(wǎng)站的跳出率),并且我們要盡量在一些比較大的網(wǎng)站增加我們站點(diǎn)的曝光率,因?yàn)閟pider會(huì)經(jīng)常訪問大站,比如我們?cè)诰蚪鸬燃夹g(shù)社區(qū)發(fā)表文章中帶有我們的站點(diǎn),這樣spider是很有可能爬到我們中的站點(diǎn)的,所以說,重要的還是:

網(wǎng)站外鏈的推廣度、數(shù)量和質(zhì)量

網(wǎng)站的內(nèi)鏈足夠強(qiáng)大

網(wǎng)站的原創(chuàng)質(zhì)量

網(wǎng)站的年齡時(shí)間

網(wǎng)站的更新頻率(更新次數(shù)越多越好)

網(wǎng)站的服務(wù)器

網(wǎng)站的流量:流量越高網(wǎng)站的權(quán)重越高

網(wǎng)站的關(guān)鍵詞排名:關(guān)鍵詞排名越靠前,網(wǎng)站的權(quán)重越高

網(wǎng)站的收錄數(shù)量:網(wǎng)站百度收錄數(shù)量越多,網(wǎng)站百度權(quán)重越高

網(wǎng)站的瀏覽量及深度:用戶體驗(yàn)越好,網(wǎng)站的百度權(quán)重越高


每篇文字獨(dú)立生成文件夾

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">npm install https://github.com/CodeFalling/hexo-asset-image --save</pre>


優(yōu)化hexo的url

SEO搜索引擎優(yōu)化認(rèn)為,網(wǎng)站的最佳結(jié)構(gòu)是用戶從首頁點(diǎn)擊三次就可以到達(dá)任何一個(gè)頁面,但是我們使用hexo編譯的站點(diǎn)打開文章的url是:sitename/year/mounth/day/title四層的結(jié)構(gòu),這樣的url結(jié)構(gòu)很不利于seo,爬蟲就會(huì)經(jīng)常爬不到我們的文章,于是,我們需要優(yōu)化一下網(wǎng)站文章url

方案一:

我們可以將url直接改成sitename/title的形式,并且title最好是用英文,在根目錄的配置文件下修改permalink如下:

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">url: https://www.zdyn.cn root: / permalink: :title.html permalink_defaults:</pre>

方案二:

使用插件優(yōu)化url

插件hexo-abbrlink實(shí)現(xiàn)了這個(gè)功能,它將原來的URL地址重新進(jìn)行了進(jìn)制轉(zhuǎn)換和再編碼。

安裝hexo-abbrlink:

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">npm install hexo-abbrlink --save</pre>

配置博客根目錄下的_config.yml文件:

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"># permalink: :title/ permalink: archives/:abbrlink.html abbrlink: alg: crc32 # 算法:crc16(default) and crc32 rep: hex # 進(jìn)制:dec(default) and hex</pre>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容