博客seo优化

前言
这篇文章主要介绍
博客seo
开发环境:macOS


提交网站

Google

Google Console

新版Google Console添加方式
google-add-new

旧版Google Console添加方式
google-add-old

百度

百度搜索资源平台

百度
baidu-add

验证方式

一般都是选择html的验证方式,把html文件下载下来,放到博客根目录/source文件夹下。
由于这样直接打包,打包程序会对该html文件进行处理。所以在博客根目录/_config.yml中查找skip_render:,按下图进行修改
skip_render
修改完成后,部署到服务器上去,然后就可以校验啦


提交Sitemap(网站地图)

生成Sitemap

执行下面命令安装Sitemap

1
2
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save

根目录/_config.yml中添加下面代码

1
2
3
4
5
6
7
8
sitemap-plugins:
- hexo-generator-baidu-sitemap
- hexo-generator-sitemap

baidusitemap:
path: baidusitemap.xml
sitemap:
path: sitemap.xml

打包并部署服务器

向Google提交Sitemap

打开Google Console抓取->站点地图->添加/测试站点地图,添加sitemap.xml就行了
google-sitemap

Google的收录比较快大概几十分钟就可以了
google-site

向百度提交Sitemap

自动推送方式

打开博客根目录/themes/next/_config.yml,搜索baidu_push将它的值改为true
打开百度搜索资源平台数据引入->链接提交,选择自动提交下的sitemap,在文本框中输入你的xml就行了
baidu-Sitemap

主动推送方式

博客更目录下创建baidu_push.py文件,并写入以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import json
from bs4 import BeautifulSoup as BS
import requests

# ⚠️这里改为你的url地址
url = 'http://data.zz.baidu.com/urls?site=www.ouyanting.com&token=Do5KDAMlYRgwpbx7'
baidu_sitemap = os.path.join(sys.path[0], 'public', 'baidusitemap.xml')
google_sitemap = os.path.join(sys.path[0], 'public', 'sitemap.xml')
sitemap = [baidu_sitemap, google_sitemap]
assert (os.path.exists(baidu_sitemap) or os.path.exists(
google_sitemap)), "没找到任何网站地图,请检查!"
# 从站点地图中读取网址列表
def getUrls():
urls = []
for _ in sitemap:
if os.path.exists(_):
with open(_, "r") as f:
xml = f.read()
soup = BS(xml, "xml")
tags = soup.find_all("loc")
urls += [x.string for x in tags]
if _ == baidu_sitemap:
tags = soup.find_all("breadCrumb", url=True)
urls += [x["url"] for x in tags]
return urls
# POST提交网址列表
def postUrls(urls):
urls = set(urls) # 先去重
print("一共提取出 %s 个网址" % len(urls))
print(urls)
data = "\n".join(urls)
return requests.post(url, data=data).text
if __name__ == '__main__':
urls = getUrls()
result = postUrls(urls)
print("提交结果:")
print(result)

保存后执行命令python baidu_push.py

运行该python命令时,可能会遇到下面问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

# No module named bs4

# 缺少BeautifulSoup4

$ sudo pip install BeautifulSoup4

# zsh: command not found: pip

# 缺少pip

$ sudo easy_install pip

# ImportError: No module named requests

# 缺少request

$ sudo pip install requests

# bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: xml. Do you need to install a parser library?

# 缺少lxml

$ sudo pip install lxml

# AssertionError: 没找到任何网站地图,请检查

$ hexo clean && hexo g


⚠️进行该过程前,先将根目录/_config.yml文件中的url的值改为你的网站地址


添加robots.txt

博客根目录下/source/下面创建robots.txt文件,并写入下面内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

User-agent: *
Allow: /
Allow: /archives/
Allow: /categories/
Allow: /tags/
Disallow: /vendors/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/

Sitemap: <http://www.ouyanting.com/sitemap.xml>
Sitemap: <http://www.ouyanting.com/baidusitemap.xml>


⚠️记得将域名更改为你的博客域名

打开博客根目录/_config.yml,查找skip_render:,添加- robots.txt
skip_render2


url优化

由于现在访问的方式是网站名称/年/月/日/文章名称,这种链接对于爬虫来说十分不友好,所以对其进行优化

安装hexo-abbrlink
执行npm install hexo-abbrlink --save命令
打开博客根目录/_config.yml文件
查找permalink:
修改为下面代码

1
2
3
4
permalink: archives/:abbrlink.html
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: hex # 进制:dec(default) and hex

permalink
就会变成这样了
permalink效果图


  • 参考文章


博客seo优化
作者
墨陌默
发布于
2018年12月7日
许可协议