Hexo + Next 主题博客提交百度谷歌收录

时间:2024-02-24 16:49:40

SEO(Search Engine Optimization):中文译为搜索引擎优化,即利用搜索引擎的规则提高网站搜索引擎内自然排名。主要通过站内优化比如网站结构调整、网站内容建设、网站代码优化等以及站外优化等方式实现。

主要是给各个搜索引擎提交你的 sitemap,让别人能搜到你博客的内容。
先确认博客是否被搜索引擎收录,在百度或者谷歌输入下面格式来判断,如果能搜索到就说明被收录,否则就没有。

site:写你要搜索的域名 
# site:rogn.top

开启 Next 主题的 SEO 优化项

Next 提供了 seo 优化选项,在主题配置文件_config.yml中有个选项是seo,设置成true即开启了 seo 优化。
百度无法搜索到博客信息,是因为 Github Pages 屏蔽了百度爬虫

让百度和百度收录博客

由于两者方法相似,相似的部分一起讲。

1. 进行验证

打开百度站长平台,之后在用户中心 > 站点管理下添加网站。根据提示输入站点地址等信息,建议输入的域名为www开头的。

登陆google search console(选右边),添加你的网站地址。

有3种验证方式:

  • HTML文件验证:将验证文件放置于您所配置域名的根目录下,即放在博客的本地根目录的source文件夹下(要设置skip_render)。
  • HTML标签验证:baidu_site_verification后添加HTML标签content后的内容(推荐)
  • CNAME验证:按要求添加一条CNAME解析

2. 生成sitemap站点地图

站点地图是一种文件,您可以通过该文件列出您网站上的网页,从而将您网站内容的组织架构告知 Google 等搜索引擎。搜索引擎网页抓取工具会读取此文件,以便更加智能地抓取您的网站。

我们需要使用插件自动生成网站的 sitemap,然后将生成的 sitemap 提交到百度和其他搜索引擎。
先安装谷歌和百度的插件,如下:

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

在博客根目录的_config.yml中改url为你的站点地址:(最好把文章链接也改浅点)

url: https://rogn.top
root: /
# permalink: :year/:month/:day/:title/
permalink: :title/

在博客根目录的_config.yml中添加如下代码:

baidusitemap:
  path: baidusitemap.xml
sitemap:
  path: sitemap.xml

之后重新打包hexo g -d,若在你的博客根目录的public下面发现生成了sitemap.xml以及baidusitemap.xml就表示成功了,其中sitemap.xml文件是搜索引擎通用的文件,baidusitemap.xml是百度专用的 sitemap 文件。

3. 添加 robots.txt

robots.txt是搜索引擎蜘蛛协议,告诉引擎哪些要收录,哪些禁止收录。
source文件夹下新建 robots.txt,内容如下:

User-agent: *
Allow: /
Allow: /home/
Allow: /about/
Allow: /archives/
Allow: /categories/
Allow: /tags/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/
Disallow: /categories/

Sitemap: http://rogn.top/sitemap.xml
Sitemap: http://rogn.top/baidusitemap.xml

4. 提交sitemap

谷歌:在 google search console 站点地图,提交sitemap.xml

百度:在百度站长平台--链接提交--自动提交--sitemap,添加https://rogn.top/baidusitemap.xml

对于百度,除了 sitemap 还有主动推动和自动推送这两种方式,主动推送的原理是每次 deploy 的时候都把所有链接推送给百度,自动推送则是每次网站被访问时都把该链接推送给百度。

主动推送:

1. 插件安装

npm install hexo-baidu-url-submit --save

2. 修改站点配置文件

在 Hexo/_config.yml,添加以下内容

baidu_url_submit:
  count: 5
  host: your_site
  token: your_token
  path: baidu_urls.txt

其中 count 表示一次推送提交最新的N个链接;host 和 token 可以在百度站点页面->数据引入->链接提交可以找到;path 为生成的文件名,里面存有推送的,我们网站的链接地址。

确保your_site 项跟百度注册的站点一致。

同样修改站点配置文件的 deploy 项,我们原来已经有 git 的 deploy,现在增加对 baidu 的推送,最终是这样子的:

deploy:
- type: git
  repo: https://github.com/growvv/growvv.github.io.git   
  branch: master                                         

- type: baidu_url_submitter

重新生成,发布 hexo d,

{"remain":99998,"success":2}

可以看到推送给百度成功。

自动推送

首先,在主题配置文件下设置,将baidu_push设置为true

然后查看themes/next/layout/_third-party/baidu-push.swig文件中是否包含如下百度提供的自动推送代码,没有的话要添加:

{% if theme.baidu_push %}
<script>
(function(){
    var bp = document.createElement(\'script\');
    var curProtocol = window.location.protocol.split(\':\')[0];
    if (curProtocol === \'https\') {
        bp.src = \'https://zz.bdstatic.com/linksubmit/push.js\';        
    }
    else {
        bp.src = \'http://push.zhanzhang.baidu.com/push.js\';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>
{% endif %}

这样每次访问博客中的页面就会自动向百度提交 sitemap。

 

 

参考链接:

1. https://albenw.github.io/posts/be8242cc/

2. https://luanzhuxian.github.io/post/82d92ad4.html