Hexo 博客是一个网站,是网站就可以seo,本次以百度为例进行设置,谷歌类似。
添加网站
进入【百度站长平台】,添加站点
添加的站点需要验证:
采用【HTMl标签验证】:
html 内容就是 content 中的内容。
next 支持 SEO Settings,配置项如下:
# ---------------------------------------------------------------
# SEO Settings
# ---------------------------------------------------------------
# Disable Baidu transformation on mobile devices.
disable_baidu_transformation: false
# If true, site-subtitle will be added to index page.
# Remember to set up your site-subtitle in Hexo `_config.yml` (e.g. subtitle: Subtitle)
index_with_subtitle: false
# Automatically add external URL with Base64 encrypt & decrypt.
exturl: false
# Google Webmaster tools verification.
# See: https://www.google.com/webmasters
google_site_verification:
# Bing Webmaster tools verification.
# See: https://www.bing.com/webmaster
bing_site_verification:
# Yandex Webmaster tools verification.
# See: https://webmaster.yandex.ru
yandex_site_verification:
# Baidu Webmaster tools verification.
# See: https://ziyuan.baidu.com/site
baidu_site_verification:
# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO.
baidu_push: false
将 baidu_site_verification 设置为 true,然后找到输出该标签的地方【themes\next\layout_partials\head\head.swig】:
将百度提供的验证标签输出:
{%- if theme.baidu_site_verification %}
{%- endif %}
点击完成验证,验证成功后,进入站点属性:
因为是一个子站,所以关联主体:
在站点管理中可以看到新站已经验证完成:
如果已经有主站添加了验证,可以批量添加子站:
生成站点地图
站点地图是网站上各网页的列表,创建这个文件有助于搜索引擎发现并了解网站的所有网页。
在站点配置文件中设置博客首页:
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://blog.kungge.com
root: /
这样生成的地址就是你的网站地址。
使用 npm 自动生成 sitemap,然后将其提交到百度或者其它搜索引擎。
安装两个组件:
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save
生成,在 public 目录中会生成 sitemap.xml 和 baidusitemap.xml 两个文件。
生成的 baidusitemap.xml 中只包含文章内容,其它页面不包含(如404、类别、标签页面等)。
提交站点地图
向搜索引擎主动提交信息,可以缩短搜索引起爬虫发现网站链接的时间,百度后台管理中提供了这个功能,进入【百度收录】一栏:
提交完成,属于等待状态:
过一会儿就能看到新的状态了。
后来经过一段时间研究发现,github 和 coding 都做了防爬虫处理,搜索引擎无法爬取文章,因此需要设置自动手动提交或自动推送。
自动推送
可以手动提交网站链接到搜索引擎,如:
但这样太麻烦了,自动推送比较方便。
修改主题站点配置文件,将 baidu_push 设置为 true, baidu_push: true。
百度站点管理后台中找到自动推送的代码:
然后找到 next 主题设置百度推送的工具代码,这个版本的路径是【themes\next\layout_third-party\baidu-push.swig】:
{%- if theme.baidu_push %}