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/webmastersgoogle_site_verification:# Bing Webmaster tools verification.# See: https://www.bing.com/webmasterbing_site_verification:# Yandex Webmaster tools verification.# See: https://webmaster.yandex.ruyandex_site_verification:# Baidu Webmaster tools verification.# See: https://ziyuan.baidu.com/sitebaidu_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 %} <meta name="baidu-site-verification" content="xSB5shU7SK" />{%- 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.comroot: /这样生成的地址就是你的网站地址。
使用 npm 自动生成 sitemap,然后将其提交到百度或者其它搜索引擎。
安装两个组件:
npm install hexo-generator-sitemap --savenpm 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 %} <script{{ pjax }}> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; bp.src = (curProtocol === 'https') ? 'https://zz.bdstatic.com/linksubmit/push.js' : 'http://push.zhanzhang.baidu.com/push.js'; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script>{%- endif %}对比下是否一样,不一样则需要把百度站点管理后台中的代码复制到配置文件中,这里发现是一样的,就没复制。
这样每次访问博客页面就会自动向百度提交。
验证网站是否收录在百度搜索框中输入 site:blog.kungge.com,没有收录的话,如下:
过一段时间再来查,就可以看到类似这样:
百度收录时间比较长,一般大概半个月。
设置谷歌谷歌收录比百度快,方法和百度类似。
登录【https://www.google.com/webmasters/tools/home?hl=zh-CN】
参考百度设置方式,将 google_site_verification: true,然后添加:
{%- if theme.google_site_verification %} <meta name="google-site-verification" content="gVkA-jeqZSVbPLhHyQnRI8oEBse0D3GaV0B98Yjai_k" />{%- endif %}重新生成发布,打开网页源代码,验证标签是否加进来:
然后点击验证,验证成功如下:
点击【前往资源页面】:
提交站点地图:
验证网站:
在 source 目录中添加这个文件,然后重新生成再发布即可。
查看这个文件是否发布:
还可以选择 HTML 标签验证:
然后点击完成验证,验证失败:
因为最终生成的这个文件不再是之前的那个文件:
将 meta 标签设置到 baidu_site_verification 中, baidu_site_verification: <meta name="baidu-site-verification" content="xSB5shU7SK" />,这样也可以通过验证,但是生成的效果:
而且在网站顶部会产生:
无法添加记录集:
点击【抓取失败】进去提示:
先确定资源是否能正常访问,如果能正常访问则不用管它。
可以晚点再看看,可能百度方系统异常了,第二天再看看,发现【抓取失败】可以点进去:
查看网络IP情况:
经查阅资料发现 GitHub 禁止了百度爬虫,如果要解决这个问题可以双线部署 Coding Pages 和 GitHub Pages 。
然后再次提交 sitemap 试试。
当已经部署到 Coding 时:
百度还是走了原来的地址:
好吧,再等等吧。。。
京公网安备11000000000001号
京ICP备11000001号
还没有评论,来说两句吧...