执子之手

与子偕老


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索
close

Hexo博客提交搜索引擎

时间: 2017-02-14   |   分类: 博客     |   阅读: 2049 字 ~5分钟   |   访问: 0

新博客上线多天之后,通过百度和Google仍然搜索不到我写的内容。忽然意识到这应该是网站没有被搜索引擎索引。经过搜索,发现还真是这么回事。直接搜索:site:orchidflower.oschina.io和site:orchidflower.github.io,发现真的没有找到相关的记录。

经过上网查找原因,找到了一些资料,原来Hexo已经有这方面的解决方案了。

根据网上搜索到的资料,要解决这个问题总体上可以分为两步:

  1. 在搜索引擎注册网站;
  2. 提交链接信息或者站点地图给搜索引擎。

下面简单描述一下过程。

1. 注册网站

不论Google还是百度都提供了站长工具,可以让网站拥有者自助提交网站信息。相当于给搜索引擎的爬虫指个方向,能够更快速的索引你的网站。相关的网站地址为:Google搜索引擎提交入口,百度提交入口。

1.1 前提条件

首先你要有对应的搜索引擎的账号。因为Google和百度的操作过程基本类似,所以只描述Google的操作步骤。

1.2 步骤

登录Google之后,选择添加一个网址。添加完之后需要做验证。验证的目的是证明你对提交的网址确实有管理权,防止别人胡乱操作。验证的方法有几种,比较方便的有:

1.2.1 HTML验证

验证方式就是将Google提供的文件放置到你网站的根目录上,Google可以访问到就可以了。

所以下载验证文件,放到source目录中,执行hexo deploy重新发布应该就可以了;

1.2.2 HTML标记验证

验证方式就是在网站的页面中添加一个meta属性,这样Google访问网页后可以从中解析出来对应的meta,以此证明网站归你管理。

这种方式Hexo已经提供了内置支持。只需要修改Hexo的_config.yml文件,添加如下内容即可:

1google_site_verification: [your code from google]
2baidu_site_verification: [your code from baidu]

添加之后,执行hexo generate; hexo deploy,应该就可以了。

1.2.3 完成验证

无论采取上面那种方式,博客重新发布之后就可以在Google中点击验证确认网站所有权了。正常情况下,这样研究就通过了。如果碰到问题,请仔细检查以上几步是否有操作错误。

2. 提交链接信息

要让搜索引擎索引我们的网站,比较好的方法是提交站点地图文件(sitemap.xml)给搜索引擎。

站点地图文件是一个xml文件,其中包含了我们网站所有有效的链接,这样搜索引擎可以直接从中抓取有用的链接,理论上可以不用使用爬虫对网站进行扫描了。

幸运的是Hexo目前有插件可以很方便的生成站点地图文件。生成的文件会随着deploy发布到我们的网站上。这个文件可以通过url直接访问到,我们只需要将这个url提交给所搜引擎即可,不用每次更新之后再次提交。一次提交,终生受益:)

2.1 安装插件

首先是安装插件。这两个插件实际上的功能差不多,如果你只有一个域名,提交给Google和百度的站点地图文件是一样的,那随便安装哪一个都可以。但是如果你有多个域名(镜像),像我这样在Github和OSChina上都有站点,那就需要安装两个插件,分别用来生成提交给Google和百度的站点地图文件。

对我来说,使用hexo-generator-sitemap生成提交给Google的文件,里面的链接都是对应网址orchidflower.github.io的;使用hexo-generator-baidu-sitemap生成提交给百度的文件,里面的链接都是orchidflower.oschina.io的。

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

2.2 修改

默认情况下,这两个插件生成的url都会使用_config.yml文件中的url属性计算出来的路径。这样实际上生成的两个文件中的链接是一样的,这样不符合我的要求。所以我对hexo-generator-sitemap插件进行了一点修改,从而针对Google的文件里面制定了Github上面的网址。修改方法如下:

修改文件node_modules/hexo-generator-sitemap/sitemap.xml:

 1<?xml version="1.0" encoding="UTF-8"?>
 2<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 3  {% for post in posts %}
 4  <url>
 5    <loc>{{ (config.urlforgoogle+post.path) | uriencode }}</loc>
 6    {% if post.updated %}
 7    <lastmod>{{ post.updated.toISOString() }}</lastmod>
 8    {% elif post.date %}
 9    <lastmod>{{ post.date.toISOString() }}</lastmod>
10    {% endif %}
11  </url>
12  {% endfor %}
13</urlset>

第5行中,使用了一个变量config.urlforgoogle,这里指定了Github站点的地址。具体值可以参考下面的说明。

2.3 配置文件

修改配置文件_config.yml,增加如下内容:

1urlforgoogle: http://orchidflower.github.io/
2
3# 自动生成sitemap
4sitemap:
5  path: sitemap.xml
6baidusitemap:
7  path: baidusitemap.xml

其中指定了urlforgoogle,配置了提交给Google的站点地图文件中的站点是Github上的。另外两个参数分别指定了两个地图文件的名字。

2.4 提交

分别把http://orchidflower.github.io/sitemap.xml提交给Google;把http://orchidflower.oschina.io/baidusitemap.xml提交给百度。然后就是等待吧。

3. 后续

  • 2.13 提交给Google和百度;
  • 2.14 已经能够通过Google搜索到;百度还不行。

附录A. 参考资料

  • hexo干货系列:(六)hexo提交搜索引擎(百度+谷歌)
  • Hexo+Next主题博客提交百度谷歌收录
#Hexo# #博客#
安装Go语言调试工具dlv
从一台没有外网连接的阿里云主机上访问微信API
  • 文章目录
  • 站点概览
Orchidflower

Orchidflower

Do one thing at a time, and do well.

77 日志
6 分类
84 标签
GitHub 知乎 OSC 豆瓣
  • 1. 注册网站
    • 1.1 前提条件
    • 1.2 步骤
      • 1.2.1 HTML验证
      • 1.2.2 HTML标记验证
      • 1.2.3 完成验证
  • 2. 提交链接信息
    • 2.1 安装插件
    • 2.2 修改
    • 2.3 配置文件
    • 2.4 提交
  • 3. 后续
  • 附录A. 参考资料
© 2009 - 2024 执子之手
Powered by - Hugo v0.113.0
Theme by - NexT
ICP - 鲁ICP备17006463号-1
0%