Hexo博客等静态网页提交到谷歌和百度收录

什么是 站点地图 ?

站点地图是一个网站所有链接的容器。很多网站的连接层次比较深,爬虫很难抓取到,站点地图可以方便爬虫抓取网站页面,通过抓取网站页面,清晰了解网站的架构,网站地图一般存放在根目录下并命名 sitemap,为爬虫指路,增加网站重要内容页面的收录。站点地图就是根据网站的结构、框架、内容,生成的导航网页文件。站点地图对于提高用户体验有好处,它们为网站访问者指明方向,并帮助迷失的访问者找到他们想看的页面。

–百度百科

一、生成站点地图

  1. 安装站点地图生成插件

    1
    2
    npm install hexo-generator-baidu-sitemap --save
    npm install hexo-generator-sitemap --save
  2. 在博客根目录的_config.yml中添加自动生成 sitemap 的配置

    1
    2
    3
    4
    sitemap:
    path: sitemap.xml
    baidusitemap:
    path: baidusitemap.xml

    同时确认一下该文件里面 url 对应的是否是接下来要提交的域名

  3. 生成和部署

    此时会在public目录下生成两个文件

    sitemap.xml 用于提交给谷歌

    baidusitemap.xml 用于提交给百度

  4. 部署成功后,在浏览器打开 你的域名/baidusitemap.xml,成功展示即代表成功

    img

二、提交到百度站长(百度收录)

解决百度不爬取 Github Pages 的问题

如果你的博客部署在 Github Pages, 百度是不会爬取的,这种情况需要借用其他平台转换一下。

这里以 coding 为例

  1. 在 coding 中也创建一个博客项目,取得提交地址

  2. 在博客根目录的_config.yml中添加 coding 仓库的配置,注意增加了-号,这样在部署的时候会同时部署到 Github 和 coding

    1
    2
    3
    4
    5
    6
    7
    deploy:
    - type: git
    repository: https://github.com/hansionit/hansionit.github.io.git
    branch: master
    - type: git
    repository: https://e.coding.net/hansion_it/Blog.git
    branch: master
  3. hexo g -d生成部署一下,会提交代码到 coding

  4. 在 coding 中开启 pages 服务,配置自定义域名,在你的域名解析控制台增加两条 CNAME,解析线路选择百度,让百度解析到 coding 的地址

    img

sitemap 方式提交

  1. 查询是否被收录

    img

  2. 若没有收录,则点击提交网址进行提交

    img

    然后打开 百度搜索资源平台,进入站点管理 -> 添加网站

    img

  3. 添加完网站后,点击管理站点 -> 站点属性设置

    img

  4. 选择链接提交

    img

  5. 选择 sitemap,输入上文中的 sitmap 地址,点击提交

    img 如果提示错误,以下文件已经提交过了,如想重新提交,请先到文件对应工具的站点下删除此文件。

    img

    可在下方进行勾选删除后重新提交,如果链接一模一样,没有必要删除,点击删除按钮左边的手动更新文件更新一下即可

    img

主动推送方式提交

  1. 安装插件npm install hexo-baidu-url-submit --save

  2. 在博客根目录的config.yml中添加

    1
    2
    3
    4
    5
    baidu_url_submit:
    count: 100 # 提交最新的多少个链接
    host: # 在百度站长平台中添加的域名
    token: # 秘钥
    path: baidu_urls.txt

    token 在推送的接口中有

    img

  3. 同样是该文件,在deployer中新加一行type: baidu_url_submitter, 注意需要为两个type前面添加-符号,结果如:

    1
    2
    3
    4
    5
    deploy:
    - type: git
    repository: https://e.coding.net/hansion_it/Blog.git
    branch: master
    - type: baidu_url_submitter
  4. 生成部署

若最后有输出{"remain":2997,"success":3} INFO Deploy done: baidu_url_submitter, 则代表成功, success 的值代表成功多少条,remain 的值代表当天剩余可推送条数

自动推送方式提交

Hexo 的有些主题已完成了此步骤,可先自行确认是否已经完成,一般完成此步骤的主题的_config.yml文件中会有baidu_push属性,将其设置为true

选择自动推送 -> 复制代码

没有集成这项功能的,我们可以把代码粘贴到 header.ejs 文件的 <head></head> 标签之间

img

三、提交到谷歌搜索(谷歌收录)

  1. 进入 Google Search Console 登录你的谷歌账号

  2. 网址前缀中填写地址

  3. 下载验证文件

    img

  4. 存入主题source目录,而不是根目录的 source 目录,hexo g -d生成部署,然后点击验证,验证成功如下图所示。若提示您的验证文件中的内容不正确。您使用的验证文件是从这里下载的吗?, 你需要检查一下目录是否放至正确

    img

  5. 点击前往资源页面,点击站点地图, 输入站点地图的地址,点击提交

    img

  6. 提交成功后,若显示无法获取,点击无法获取会进行网页获取,再刷新网页即可显示成功

    img

  7. 可以顺便把百度的 sitemap 也提交上baidusitemap.xml, 成功结果如下:

    img

PS: 转载自Hansion,按照博主的说明,基本上算是完成了,可以成功搜到一部分内容,有些搜到的标题很诡异,还在看~~