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。
参考链接: