博客搜索引擎优化(SEO优化的主要方式淡漠和大家一起学习了如何部署到云上 )
优采云 发布时间: 2021-09-28 12:25博客搜索引擎优化(SEO优化的主要方式淡漠和大家一起学习了如何部署到云上
)
前言
上一章和大家一起学习了如何将项目部署到七牛云。在本章中,我们将进入高级 Hexo 个人博客,搜索引擎优化。
4.1 SEO基础知识4.1.1 SEO介绍
SEO是Search Engine Optimization的简称,即搜索引擎优化。那么,什么是搜索引擎优化?
SEO是指利用搜索引擎规则提高网站在相关搜索引擎中的自然排名。目的是让它在行业中占据领先地位,获得品牌利益。在很大程度上,是网站运营商提升自己或自己公司排名的一种商业行为。(来自百度百科)
看完这段是不是很干?是的,因为它来自更官方的百度百科。其实简单的说,SEO就是让你的网站容易被别人搜索到。比如莫丹建了一个博客,然后针对SEO优化,别人搜索“无所谓博客”网站就可以找到我的博客。
4.1.2 SEO优化的主要方法
有很多方法可以优化 SEO。淡漠个人认为最主要的方法如下:
4.2 SEO优化4.2.1 Hexo优化
1. url 优化
hexo默认生成的路径有三级(年、月、日),搜索引擎建议路径简单,尽量不要超过三级。
安装 hexo-abbrlink 优化链接
npm install hexo-abbrlink --save
修改_config.yml
permalink: archives/:abbrlink.html
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: hex # 进制:dec(default) and hex
将项目部署到云端(无所谓使用七牛云)
2. 添加nofollow
一般情况下,我们的网站都会有一些与搜索内容无关的垃圾链接。这时候需要通知搜索引擎不要抓取,所以可以使用谷歌推出的nofollow标签rel="external nofollow"
%]
3. <a href='https://www.ucaiyun.com/caiji/public_dict/' target='_blank'>关键词 优化
找到主题文件夹下的头文件(themes\kaze\layout_partial\head.ejs),添加如下代码:
解释:
如果页面(md文件)有标签,使用页面的标签和配置文件(_config.yml)的tags变量作为关键词,如果没有,使用配置文件的变量关键字作为关键词。
访问页面源码查看关键词
类似于描述优化:
4.2.1 制作站点地图
1. Hexo 安装站点地图插件
谷歌站点地图
npm install hexo-generator-sitemap --save
百度站点地图
npm install hexo-generator-baidu-sitemap --save
2. 配置sitemap.xml路径
_config.yml
# 自动生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
3. 生成sitemap.xml
hexo clean
hexo generate
最后将项目部署到云端
4.2.2 百度认证
接下来需要在百度上进行认证,这样百度才能搜索到我们的网站。百度搜索平台:/
添加:
建议使用www开头的域名,这样被收录的可能性会增加很多。其他子域这里用的无所谓,因为以前用过www。
首先我们在百度上搜索:site:域名
可以看到百度还没有收录我们的网站。
点击“网站管理”
添加网站
验证网站(此处选择文件验证)
将验证文件放在项目根目录下
修改部署命令将baidu_verify_code-xxx.html移动到public文件夹中
最后,将项目部署到云端。
浏览器访问:/baidu_verify_code-xxx.html
如果有返回码,那么ok,最后点击完成验证。
4.2.3 提交站点地图
方法一(推荐)
1. 制作站点地图.txt
百度提交的网站地图好像不支持添加sitemap.xml,只能是sitemap.txt。
淡漠的看了下源码,百度网站map hexo-generator-baidu-sitemap 没有提供生成sitemap.txt的接口,这里我们可以使用在线工具将sitemap.xml转换成sitemap.txt,或直接更改源代码:
node_modules\hexo-generator-baidu-sitemap\baidusitemap.ejs
-%>
代码的意思是如果配置文件有baidusitemap.type =='txt',那么会生成一个txt文件
_config.yml
baidusitemap:
path: baidusitemap.txt
type: txt
重新生成项目,可以看到public\baidusitemap.txt
谷歌网站map hexo-generator-sitemap 代码比较完整,可以指定sitemap模板。
在项目根目录新建一个sitemap_template.xml
{% if config.sitemap.type == 'txt' %}
{% for post in posts %}
{{ post.permalink | uriencode }}
{% endfor %}
{% else %}
{% for post in posts %}
{{ post.permalink | uriencode }}
{% if post.updated %}
{{ post.updated | formatDate }}
{% elif post.date %}
{{ post.date | formatDate }}
{% endif %}
{% endfor %}
{{ config.url | uriencode }}
{{ sNow | formatDate }}
daily
1.0
{% for tag in tags %}
{{ tag.permalink | uriencode }}
{{ sNow | formatDate }}
daily
0.6
{% endfor %}
{% for cat in categories %}
{{ cat.permalink | uriencode }}
{{ sNow | formatDate }}
daily
0.6
{% endfor %}
{% endif %}
_config.yml
sitemap:
path: sitemap.txt
template: ./sitemap_template.xml
type: txt
2. 提交站点地图.txt
sitemap.txt 和 baidusitemap.txt 通常是一样的,只需要提交其中一个即可。
cd public
curl -H 'Content-Type:text/plain' --data-binary @baidusitemap.txt "http://data.zz.baidu.com/urls?site=https://blog.tomyres.com&token=xxxxxx"
输出结果:
{"remain":2972,"success":24}
24个链接提交成功,今天可以提交2972个链接。
方法二(比较简单,但是很慢,可能需要等几天)
提交项目的站点地图链接
最后等百度收录,www域名可能需要一两天,其他子域可能需要很长时间。
以 www 开头的域名很快就变成了 收录。
过了一会儿,/也是收录,不过相比www,blog子域影响不大。