Hexo博客网站建立Sitemap和百度自动推送

文章目录
  1. 1. 配置百度站长平台
    1. 1.1. 站点管理
    2. 1.2. 链接提交
  2. 2. Sitemap方式提交
    1. 2.1. 创建Sitemap文件
    2. 2.2. 提交Sitemap文件
  3. 3. 自动推送方式提交

本文仅需三步即可建立Hexo博客网站的Sitemap和百度自动推送功能,实现了新增页面自动提交百度检索,从而提升该网站的博客文章被用户搜索、访问的机会和时效性。
以下是具体的操作步骤:

1. 配置百度站长平台

1.1. 站点管理

注册并登录 百度站长平台 后,需要输入Hexo博客网站域名,并进行网站验证。对于Hexo博客系统,由于站点html页面通常是系统自动生成的,不方便进行文件验证html标签验证,此处推荐选择CNAME验证方式。

在博客网站域名对应的域名管理网站,按图中要求添加一条CNAME类型的域名解析规则即可。返回站长平台页面,完成验证。

1.2. 链接提交

百度提供了多种网站链接提交方式,其中sitemap方式和自动推送方式的自动化程度较高,能够减轻网站运营维护的负担,也是本文阐述的重点内容。

2. Sitemap方式提交

顾名思义,Sitemap是网站的地图,通常以XML文件的形式提供给搜索引擎。该文件列出了网站中可供抓取的网页的链接地址,以及这些网页的元数据信息(比如上次更新的时间),从而方便搜索引擎进行抓取和收录。因此,Sitemap提交的核心步骤是Sitemap.xml文件的生成。

2.1. 创建Sitemap文件

幸运的是,已经有现成的Sitemap文件生成工具可以轻松搞定,具体步骤如下:

  • 对于Windows平台,在本机切换到博客根目录下 (也即hexo init命令执行时对应的目录,下同),运行以下命令:

    1
    npm install hexo-generator-sitemap --save
  • 在本机博客根目录下的_config.yml文件的末尾添加:

    1
    2
    3
    4
    5
    plugins:
    - hexo-generator-sitemap

    sitemap:
    path: sitemap.xml

下次运行hexo g命令后,系统便会在博客根目录的public文件夹下自动生成sitemap.xml文件。该文件通过hexo d命令被部署到GitHub等托管网站,从而被百度搜索引擎访问到。
完成博客部署后,自己也可以在浏览器中通过 <你的域名地址>/sitemap.xml 访问并查看Sitemap文件的内容,从而确认sitemap.xml文件已存在。

2.2. 提交Sitemap文件

回到站长平台的链接提交页面,在自动提交 -> sitemap 对应的文本编辑框中输入 <你的域名地址>/sitemap.xml,点击提交按钮后即完成了Sitemap文件的提交。百度搜索引擎会定期抓取该文件,从而获得博客网站中可供抓取的网页的链接地址。

3. 自动推送方式提交

百度站长平台对自动推送方式的说明如下:

自动推送JS代码是百度站长平台最新推出的轻量级链接提交组件,站长只需将自动推送的JS代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。

Hexo博客不同主题 (Theme) 的实现源代码有所不同,因此本文以yilia主题为例来说明如何添加自动推送JS代码。在本机 <博客根目录>/themes/yilia/layout/_partial 目录下打开article.ejs文件,定位到如下两段代码:

1
2
3
4
5
6
7
<% if (!index && theme.duoshuo && post.comments){ %>
<%- partial('post/duoshuo', {
key: post.slug,
title: post.title,
url: config.url+url_for(post.path)
}) %>
<% } %>


1
2
3
4
<% if (!index && post.comments && config.disqus_shortname){ %>
<section id="comments">
<div id="disqus_thread"></div>
<script type="text/javascript">

在以上两段代码之间插入如下代码:

1
2
3
4
5
6
7
8
9
10
<% if (!index){ %>
<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>
<% } %>

即完成了新增博客文章页面(不包括其他页面)的自动推送方式提交。


完成以上三步后,可以经常登录到百度站长平台,查看Hexo博客网站的链接提交情况: