Hexo博客搜索引擎优化

1. 如何让自己的博客网站被收录

1.1. 首先检查自己的站点有没有被收录

以百度为例

  • 打开百度http://www.baidu.com
  • 在收索框输入 site: 你的网站域名
    • 如果你用 site:高级搜索没有搜索到你的网站,那么说明你的网站并没有被搜索引擎收录。
    • 如果搜索到了,但通过网站的关键词搜索不到,说明你的网站排名靠后,正需要 SEO 优化。

1.2. 让百度收录你的网站

  • 首先,进入百度搜索资源平台

  • 打开平台后,点击用户中心,点击站点管理,如果未登录,需要先登录;

  • 点击添加网站,选择你的协议头 http/https 按照自身情况选择,输入你的网站地址,点击下一步;

  • 验证网站: 一般验证网站有以下几种验证方法:

    1. 文件验证 (推荐)

      • 文件验证是指将百度给你的 html 文件放到 source 目录下(即 source/baidu_verify_code_xxxx.html)

      • 值得注意的是:文件验证的文件是一个 HTML 文件,hexo 可能会将他与主题镶嵌在一起,所以要在百度给你的 HTML 文件上加入以下代码:

        1
        2
        3
        ---
        layout: false
        ---
    2. html 标签验证

      • html 标签验证则是在 head 标签里添加百度所指定的代码
    3. CNAME 验证 (推荐)

      • CNAME 验证就是添加域名解析记录

        请将 code-xxxxx.guoapeng.github.io 使用 CNAME 解析到 ziyuan.baidu.com

        完成操作后请点击“完成验证”按钮。

        为保持验证通过的状态,成功验证后请不要删除该 DNS 记录

    对于 hexo 的博客来说,我个人建议 CNAME 和文件验证这两种

  • 网站验证成功后,就可以在站点管理管理你的网站了。

    提交完你的网站后,不出意外的情况下,搜索引擎会在几个星期内收录你的网站,一般不超过一个月,超过一个月的话可能就有问题了。

1.3. 让 Bing 收录你的网站

  • 首先,进入bing webmaster tools

  • 进入bing webmaster tools时,如果未登录,需要先登录;

  • 点击添加网站,输入你的网站地址,点击添加;

  • 验证网站: 一般验证网站有以下几种验证方法:

    1. xml 文件验证 (推荐) 文件验证是指将百度给你的 xml 文件放到 source 目录下(即 source/BingSiteAuth.xml)

    2. HTML Meta 标记验证

      • html 标签验证则是在 head 标签里添加百度所指定的代码
        <meta> 标记复制并粘贴到你网站的主页中。该标记应位于第一个 <body> 部分前面的 <head> 部分中。
        <meta name="msvalidate.01" content="xxxxxx" />

        要保持已验证状态,请勿移除 meta 标记,即使验证成功后也是如此.

    3. CNAME 验证 (推荐)
      手动将 CNAME 记录添加到域名服务器中
      添加名为 xxx 且值为 verify.bing.com 的 CNAME (别名)记录。

  • 以上三种验证方式, 任选一种, 进行验证

1.4. 优化结构

seo 搜索引擎优化认为,网站的最佳结构是用户从首页点击三次就可以到达任何一个页面,但是我们使用 hexo 编译的站点打开文章的 url 是:sitename/year/mounth/day/title 四层的结构,这样的 url 结构很不利于 seo,爬虫就会经常爬不到我们的文章,于是,我们可以将 url 直接改成 sitename/title 的形式,并且 title 最好是用英文,在根目录的配置文件下修改 permalink 如下:

1
2
3
4
5
6
7
8
url: http://你的网站
root: /
permalink: :title.html
permalink_defaults:
pretty_urls:
trailing_index: false # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks

这里建议添加 html 后缀, 这样搜索引擎从 url 后缀也能判断是 html 页面
这里建议将 trailing_index 设置为 false 这样生成的目录结构又会缩短一层变成’http://你的网站/category/title.html’
如果不设置为 false, 则页面的永久连接为’http://你的网站/category/title/index.html’

1.5. 添加 sitemap 站点地图

sitemap 站点地图可以让搜索引擎更便捷的抓取你的网站,一般为 XML 文件。

hexo 有两个插件可以自动生成 sitemap:

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

安装完成后,进入 hexo 根目录的_config.yml 配置文件,添加以下代码:

1.6. 自动生成 sitemap

1
2
3
4
5
6
# common sitemap for all the search engines
sitemap:
path: sitemap.xml
# for baidy
baidusitemap:
path: baidusitemap.xml

每次运行 hexo g ,则会在缓存文件夹下生成 sitemap.xml baidusitemap.xml 则为成功。

生成了 sitemap 后,则需要提交 sitemap 给搜索引擎:

百度则是进入搜索资源平台的站点管理,点击 sitemap,添加 baidusitemap.xml 的路径
谷歌则是进入 Google Search Console,进入站点地图,添加 sitemap.xml 的路径
其中 sitemap.xml 文件是搜索引擎通用的 sitemap 文件

1.7. 关键词与描述的优化

keywords 和 description 是告诉搜索引擎你这个网页的关键词和你这个网页是干什么的,不能乱写。

1.8. 代码压缩

网页的代码存在大量空白符,压缩代码可以提高网站被访问速度。

安装以上插件:

1
2
3

npm install hexo-neat --save

配置插件

修改根目录下的配置文件_config.yml 添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
neat_enable: true
neat_html:
enable: true
exclude:
neat_css:
enable: true
exclude:
- "**/*.min.css"
neat_js:
enable: true
mangle: true
output:
compress:
exclude:
- "**/*.min.js"
- "**/index.js"

1.9. 添加 robots.txt

在网站优化过程中,有些时候,网站中有重要及私密的内容,站长并不希望某些页面被蜘蛛抓取,比如后台的数据,测试阶段的网站,还有一种很常见的情况,搜索引擎抓取的大量没有意义的页面。

robots.txt 是一个纯文本文件,用于声明该网站中不想被蜘蛛访问的部分,或指定蜘蛛抓取的部分,当蜘蛛访问一个站点时,它会首先检查该站点是否存在,robots.txt,如果找到,蜘蛛就会按照该文件中的内容来确定抓取的范围,如果该文件不存在,那么蜘蛛就会沿着链接直接抓取。即,只有在需要禁止抓取某些内容是,写 robots.txt 才有意义.

robots 配置方法如下:

  • 在 …/source 路径下创建 robots.txt 文件,里面输入你的 robots 配置,如果不懂,可以百度 robots 的语法,修改后保存即可提交。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
# welcome to : eagle's blog
User-agent: *
Allow: /
Allow: /archives/
Allow: /categories/
Allow: /about/

Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /lib/
Sitemap: https://your_site_address/sitemap.xml

注意 Disallow 与 Allow 行的顺序是有意义的

1
2
3
4
5
6
7
8
9
10
11
12
13
举例说明:
允许爬虫蜘蛛访问 /admin/ 目录下的seo文件夹  
  User-agent: *     
  Allow: /admin/seo/
  Disallow: /admin/

如果Allow 和 Disallow 的顺序调换一下:

  User-agent: *     
  Disallow: /admin/
  Allow: /admin/seo/
  爬虫蜘蛛就无法访问到 /admin/ 目录下的 seo 文件夹,因为第一个 Disallow: /admin/ 已匹配成功。

在百度站长平台监测并更新 Robots
提示检测到您更新了 Robots 文件即成功。

2. 开启百度推送

每次更新博客时,主动向百度提交链接,有利于 SEO.

  • 安装 hexo-baidu-url-submit
1
2
3
npm install hexo-baidu-url-submit --save
# 使用淘宝cnpm可以加快速度
cnpm install hexo-baidu-url-submit --save
  • 修改根目录下的_config 配置

    设置百度主动推送

    1
    2
    3
    4
    5
    baidu_url_submit:
    count: 200 # 比如200,代表提交最新的200个链接
    host: www.pengtech.net # 在百度站长平台中注册的域名
    token: your_token # 百度站长密钥
    path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里,这个默认
  • 修改根目录下的_config 配置 Deploy

  • 检验是否成功
    当出现类似以下信息,表示配置成功.

    1
    2
    3
    4
    5
    6
    INFO  Deploying: baidu_url_submitter
    INFO Submitting urls
    https://www.pengtech.net/20211028/linux/create_rpm_repository_on_linux/
    https://www.pengtech.net/20211028/linux/how_to_create_rpm_package/
    {"remain":2978,"success":22}
    INFO Deploy done: baidu_url_submitter

3. 谷歌收录站点

进行这个之前,首先友情提示下大佬们,最好开个 开启魔法,因为很多涉及谷歌服务,我这里用的是 v2raya,网上有很多,可以参考(2rayA 安装与配置教程)[https://pengtech.net/network/v2rayA_install.html]

打开 Google Search Console,添加博客地址。并进行相关验证,根据提示即可完成认证,认证成功如下:

认证方法其实这里方法和百度的类似,也有三种,我用的是直接下载文件,放到我的站点 source 目录下,然后我在 git 命令面板里输入以下指令(下面将这一套指令简称为更新并同步文件指令)

1
hexo clean && hexo g && hexo d

之后,我去 google 认证,发现并不能验证成功,后来去站点配置_config.yml 下添加了一句代码

1
google-site-verification: true

修改 Next theme 的_config.yml

1
2
3
# Google Webmaster tools verification.
# See: https://developers.google.com/search
google_site_verification: your_google_verification_code

4. 首页标题优化

SEO 最重要的是你的标题,一般搜索都是搜索你的标题。
更改 index.swig 文件(your-hexo-site\themes\next\layout\layout.njk);

1
<title>{% block title %} {% endblock %}</title>

修改为:

1
<title>{% block title %} - {{ theme.description }} {% endblock %}</title>

这时候你的首页会更符合网站名称 - 网站描述这习惯。

5. 补充: 让 bing, google, baidu 快速收录网站

对于 Hexo 博客,我们需要快速将内容主动提交给搜索引擎,其他人仅搜索文章的关键字时才能看到我们的文章,从而提高了曝光率。
这里需要安装插件 并修改 hexo 配置 hexo-submit-urls-to-search-engine
安装:

1
npm install --save hexo-submit-urls-to-search-engine

配置:
需要修改 hexo 的配置文件_config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
hexo_submit_urls_to_search_engine:
submit_condition: count # count/period The submitted condition, only supports count now
count: 20 ## Submit the latest 10 links
period: 900 #A period of time, in seconds, the update time of the article is away from the running time of the plugin. Within this period of time, the link will be submitted
google: 0 # 1/0->on/off Submit to Google
bing: 1 #Submit to bing
baidu: 1 #Submit to baidu
txt_path: submit_urls.txt ## The address of the text document, the link to be pushed will be saved in this text document
baidu_host: https://www.pengtech.net ## Domain name registered in Baidu webmaster platform
baidu_token: xxxxx ## Please note that this is your secret key, so do not publish the website source code in the public repository!
bing_host: https://www.pengtech.net ## Domain name registered in Bing webmaster platform
bing_token: xxxxx ## Please note that this is your secret key, so do not publish the website source code in the public repository!
google_host: https://www.pengtech.net ## Domain name registered in Google webmaster platform
google_key_file: Project.json #Store the json file of the google key in the root directory of the website (same location as the hexo config.yml file), please do not publish the source code of the website in the public warehouse!

5.1. 如何获得 bing_token

登录 bing webmasters, 点击设置-> API 访问 管理凭据 -> API 密钥 管理密钥 -> 即可看到 api 密钥.

5.2. 修改 deploy

1
2
3
4
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

发布

1
2
hexo clean && hexo generate && hexo deploy

此时可以看到日志中已经可以提交连接到百度和 bing

相关阅读

使用 Hexo 搭建自己的博客网站

Hexo 命令详解

Hexo 博客添加评论功能

Hexo 配置 Next 主题

Hexo 博客搜索引擎优化

作者

鹏叔

发布于

2021-10-26

更新于

2024-07-10

许可协议

评论