0%

hexo seo 优化

害呀,hexo 都做了这么多了,干脆把google 统计一起加上去得了。Google Analytics、Google添加站点,baidu 添加站点、bing 添加站点,通通加上!

google analytics

  • 访问Google Analytics,需要科学上网并用google账号登录,之后按照提示填写网站信息开通GA服务,获取统计ID。

  • 编辑主题配置文件, 找到关键字google_analytics , 删除注释#并填写获取到的统计ID

    1
    2
    google_analytics:
    tracking_id: UA-XXXXXXXXX-X # <app_id>

robots.txt

在 source 目录下添加 robots.txt ,编写爬虫规则,下面是我的 robots.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
User-agent: *
Allow: /
Allow: /archives/
Allow: /tags/
Allow: /categories/

Disallow: /vendors/
Disallow: /js/
Disallow: /lib/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/
Disallow: /old/

Sitemap: http://blog.tcpsoft.app/sitemap.xml
Sitemap: http://blog.tcpsoft.app/baidusitemap.xml

Google Search Console

image-20200209180807809

提交整个域名或者某个子域名到 google,我这里提交“网域”即整个域名。

输入tcpsoft.app,点继续,会开始验证。

image-20200209181014294

在域名购买处修改 DNS 记录或者自己的 DNS 托管商处修改,添加一条特定的 TXT 记录。

小贴士 用 linux 命令dig hostnamenslookup -q=TXT hostname可查询DNS是否生效(后者windows也可用)

这个地方有一点坑的是需要设置 name 为 @,值为 google-site-verification=XXXXXX ,而不是 name 为 google-site-verification

image-20200209184813570

设置记录,稍等片刻(或者等半天)记录生效之后,点击验证,验证成功

image-20200209184707276

之后就可以进行管理辣。

接下来提交 sitemap,站点地图,帮助机器人抓取网站

之后就可以通过 google 搜索命令 site:blog.tcpsoft.app 查看站点收录情况

image-20200209185519286

Baidu搜索资源平台

打开Baidu搜索资源平台,添加网站

image-20200209201555631

填入主域名 https://tcpsoft.app 选择网站分类,准备验证,可通过文件验证,html 标签验证,CNAME 验证,此处我选择 CNAME 验证,将 H9JpujyZsP.tcpsoft.app 使用 CNAME 解析到 ziyuan.baidu.com。和之前一样,在托管商添加DNS记录。

小贴士 可用 dig hostnamenslookup -q=CNAME hostname 可查看DNS是否生效,同上文。

image-20200209202629054

添加记录生效后就点击完成验证,稍等一会儿,提示验证成功,可以选择批量添加子站。

和 google 不同,这里的需要手动一条条添加。(还有一点隐私保护的味道呢 [滑稽] )手动填入子域名即可。

image-20200209203148808

通过 html 标签验证添加,会要求 head 中添加标签,此处 hexo 有集成,在 hexo 修改配置就可。

image-20200209204126442

复制 baidu 提供的 content,在 next 主题的 _config.yml中搜索 baidu_site_verification: 填入,然后再 hexo g -d 发布一次,检查有标签后,点击完成验证。

验证完成 ,就可以查看站点,我等了半天 Baidu 也抓不到站点,到处看了一圈发现是 github 屏蔽了Baidu 爬虫,所以需要其他方式。

首先是把根目录下的 baidusitemap.xml 提交给Baidu平台,不多介绍,自己摸索

Baidu 自动推送

于是就手动提交 sitemap 并且开启 hexo next 集成的自动推送链接功能,打开站点主题theme/next/_config.yml文件:

1
2
# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO
baidu_push: true

however~,貌似 uBlock Origin 会拦截 Google Analytics 和 Baidu 自动提交,这就比较悲催了

hexo 自动提交 Baidu

1
npm install hexo-baidu-url-submit --save

然后修改 hexo 的配置文件,添加 baidu_url_submit: ,并修改 deploy

注意:本插件的配置文件中包含秘钥, 如果要把 hexo 博客整体放在 github ,需要放在私有仓库。

注意:这里 host 里填入的域名是在 Baidu站长平台 添加好的域名

1
2
3
4
5
6
7
8
baidu_url_submit:
count: 5 ## 提交最新的5个链接
host: blog.tcpsoft.app ## 在百度站长平台中注册的域名
token: your_token ## 请注意这是您的秘钥, 请不要发布在公众仓库里!
path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里
# xz_appid: 'xxxxxx' ## 你的熊掌号 appid
# xz_token: 'xxxxxx' ## 你的熊掌号 token
# xz_count: 10 ## 从所有的提交的数据当中选取最新的10条,该数量跟你的熊掌号而定

不过我认为熊掌号没什么用,需要的话可以添加

1
2
3
4
5
deploy:
- type: git
repository: https://github.com/XXXX/XXXX
- type: baidu_url_submitter # 百度
# - type: baidu_xz_url_submitter # 百度熊掌号

执行hexo deploy的时候,新的链接就会被推送了。

当你 hexo g -d,看到这个的时候,说明配置成功了

image-20200209224126611

其他的中国特色搜索引擎

不说了,想设置Sougou、360、神马可以参考这篇: Hexo-NexT 博客提交搜索引擎收录 | 小丁的个人博客

Bing

搜索并打开 Bing - Webmaster Tools,Bing网站搜索管理。然后登陆微软账号或者 google 账号,看起来像这样:

image-20200209235529136

由于我已经有了 Google Search Console(第三条提到的),就直接绑定 Google 账号同步数据就可以了。

image-20200209235651847

点击“继续访问”之后会跳转到 google 登陆,登录之后授权 Bing 就可以了。读取到站点数据,导入。

image-20200209235919325

然后也需要向 Bing 提交sitemap,同上 Google。

修改 url 格式

seo搜索引擎优化认为,网站的最佳结构是用户从首页点击三次就可以到达任何一个页面

但是我们使用hexo编译的站点打开文章的url是:sitename/year/mounth/day/title四层的结构,这样的url结构很不利于seo,爬虫就会经常爬不到我们的文章,所以我把url格式改为 sitename/year/mounth/title。

修改 hexo 配置文件:

1
permalink: :year/:month/:title/

出站链接 “nofollow”

外链越多,搜索引擎给此站点的权重就越低,即排位越后。为了提高权重,可以禁止搜索引擎跟进外链,添加 nofollow 属性就可以做到。一个一个页面添加跟定是不现实的,当然是选择用插件。

先在 hexo 博客根目录安装插件,插件有hexo-autonofollowhexo-filter-nofollow ,filter要好用一些,他们两个的差别可以参考作者的博客:hexo-filter-nofollow - Hexo 官方的 nofollow 插件 | Sukka’s Blog

1
npm install hexo-filter-nofollow --save

编辑 hexo 配置文件,添加:

1
2
3
4
5
6
nofollow:
enable: true
field: post # post:仅处理文章内容,site:处理全站所有页面
exclude:
- 'exclude1.com'
- 'exclude2.com'
坚持原创技术分享,您的支持将鼓励我继续创作!