目录
前言1 站点URL优化2 查看网站是否被收录3 添加站点至百度搜索资源平台3.1 为什么要认证站点3.2 如何验证站点3.3 关于认证HTTP协议的说明4 提交百度搜索4.1 提交方式介绍4.2 主动推送4.3 自动推送4.4 sitemap提交4.5 手动提交5 推送效果6 收录结果查询7 References前言
SEO,即Search Engine Optimization,指的是搜索引擎优化。通过搜索引擎优化,可以提高网站的网站关键词排名以及博客文章的曝光度。
个人的网站搭建好之后,百度谷歌等搜索引擎其实是收录不到我们网站内容的,并且托管在Github上的站点甚至进行了反爬虫处理,搜索引擎的小蜘蛛更加爬不到你的Blog了。
因此我们要做的是提交搜索引擎收录,使得搜索引擎收录我们的网站。考虑到我们在国内,因此本文只讲解如何实现百度搜索引擎收录,Google的原理其实和百度的类似。
1 站点URL优化
一个好的URL设计,不仅有利于网络爬虫的爬取,更有利于用户的体验。
正确的URL设计应该满足:
长度尽量短目录层次尽量少全小写,连字符使用中划线-
具有描述性,包含关键词等
如果你的站点是使用Hexo框架搭建的,那么我建议你安装下面其中一款插件实现URL优化(排名具有先后顺序):
hexo-abbrlink设计urlname中文链接转拼音方式( hexo-permalink-pinyin插件 )
2 查看网站是否被收录
在搜索引擎中输入site:域名
,查看站点是否被收录,可以看到站点没有被收录:
3 添加站点至百度搜索资源平台
3.1 为什么要认证站点
站长平台推荐站长添加主站(您网站的链接也许会使用www 和非 www 两种网址,建议添加用户能够真实访问到的网址),添加并验证后,可证明您是该域名的拥有者,可以快捷批量添加子站点,查看所有子站数据,无需再一 一验证您的子站点。
3.2 如何验证站点
关于选择验证站点选择的协议上,有两点要说明:
如果你的站点购买了域名:建议你先将站点实现全站HTTPS,再在百度站长平台中选择HTTPS协议认证。如若HTTPS认证始终没能通过,再选择认证HTTP协议。如果你的站点是部署在 Github/Gitee 并没有购买域名:因为 Github/Gitee 实现了强制HTTPS协议,你可能必须要在百度站长平台中选择HTTPS协议认证。如果选择的是HTTP协议认证,会出现验证失败的情况,并提示你将 http 的 url 301到 https 的url。关于这一点,我会在后面说明。
下文将以选择HTTP协议认证为例:
1.进入官网:百度搜索资源平台官网
2.点击“用户中心”→“站点管理”:
3.输入域名网址:
4.设置站点领域:
5.选择验证方式:
文件验证:下载给定的文件,将其放到本地主题目录 source 文件夹,然后部署博客完成验证HTML 标签验证:给一个meta
标签,放到首页<head>
与</head>
标签之间即可完成验证CNAME 验证:需要登录域名提供商或托管服务提供商的网站,添加新的DNS记录。如果你购买了域名,这种方式最简单,只需去域名 DNS 添加一个CNAME
记录即可完成验证
刚开始我选择的是文件验证方式,但一直提示验证文件内容不符,因此选择了HTML标签验证:
将标签放在Hexo文件主题目录下\themes\Chic\layout\_partial
的header.ejs
的<head>
与</head>
标签之间(文件路径供参考)
<meta name="baidu-site-verification" content="XXXXXXXXXX" />
6.点击完成验证,并等待审核:
几小时过后,站长平台会提示你审核结果:
3.3 关于认证HTTP协议的说明
以我的站点为例,站点是双线部署在Github/Gitee上的,并没有购买域名。即我的域名还是原始域名:https://yourname.github.io/ & https://yourname.gitee.io/,可以看到 Github与Gitee 都已经将你的网站强制部署在 https 安全域名下。
因此当我在百度站长平台中选择认证HTTP协议时:
我的验证是失败的:
并提示你将 http 的 url 301到 https 的url:
关于301,大多数玩SEO的朋友都了解,在这里不多说,贴下百度站长平台的解释:
HTTPS协议的站点信息更加安全,同时可降低网站被劫持的风险,如网站同时存在HTTP和HTTPS站点,可使用本工具进行认证,便于百度搜索识别网站。HTTP与HTTPS之间的对应关系,识别成功后,搜索端将及时展示网站HTTPS资源使用HTTPS认证,需要保证全站所有链接都支持HTTPS访问每个站点每天最多可使用3次认证功能
4 提交百度搜索
进入链接:资源提交 → 链接提交
4.1 提交方式介绍
百度提供了自动提交和手动提交两种方式,其中自动提交又分为主动推送、自动推送和sitemap三种方式,以下是官网给出的解释:
主动推送:最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
自动推送:是轻量级链接提交组件,将自动推送的JS代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。
sitemap:您可以定期将网站链接放到Sitemap中,然后将Sitemap提交给百度。百度会周期性的抓取检查您提交的Sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
手工提交:如果您不想通过程序提交,那么可以采用此种方式,手动将链接提交给百度。
从效率来说,主动推送 > 自动推送 > sitemap
4.2 主动推送
1.使用主动推送功能会达到怎样效果:
及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现
2.在博客根目录安装插件 :
npm install hexo-baidu-url-submit --save
然后在根目录_config.yml
文件里写入以下配置:
baidu_url_submit:count: 10 # 提交最新的多少个链接host: https://yourname.gitee.io/ # 在百度站长平台中添加的域名token: your_token# 秘钥path: baidu_urls.txt# 文本文档的地址,新链接会保存在此文本文档里
记得查看Hexo根目录_config.yml
文件中url
的值,必须包含是百度站长平台注册的域名, 比如:
# URL## If your site is put in a subdirectory, set url as '/child' and root as '/child/'url: https://yourname.gitee.io/root: /permalink: :year/:month/:day/:urlname/
token
可以在链接提交→自动提交→主动推送下面看到,接口调用地址最后面token=xxxxx
即为你的token
:
3.在博客根目录_config.yml
修改deployer
:
# Deployment## Docs: https://hexo.io/docs/deployment.htmldeploy:- type: git ## 这是原来的deployerrepo:branch:- type: baidu_url_submitter ## 在这里添加新内容即可
4.最后执行hexo g -d
部署一遍即可实现主动推送,推送成功的标志是:在执行部署命令最后会显示类似如下代码
{"remain":2992,"success":7}INFO Deploy done: baidu_url_submitter
5.查看推送反馈:
你可以通过推送后返回的状态码和字段来判断数据是否推送成功。
状态码为200,表示推送成功,可能返回以下字段:
成功返回示例:
{"remain":4999998,"success":2,"not_same_site":[],"not_valid":[]}
6.同时在hexo\.deploy_git\
路径下会生成一个baidu_urls.txt
文件,其中包含了你站点中的URL链接:
4.3 自动推送
自动推送是百度搜索资源平台为提高站点新增网页发现速度推出的工具,安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。
1.服务对象及原理:
JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用。
安装代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度。
2.操作:
有些 hexo 主题集成了这项功能,比如 next 主题,在themes\next\layout_scripts\
下有个baidu_push.swig
文件,只需要把代码粘贴到该文件,然后在主题配置文件设置baidu_push: true
即可。
对于大部分Hexo主题是没有集成这项功能的,我们可以把代码粘贴到header.ejs
文件的<head>
与</head>
标签之间即可,从而实现自动推送。
代码:
<script>(function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if (curProtocol === 'https') {bp.src = '/linksubmit/push.js';}else {bp.src = 'http://push./push.js';}var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();</script>
再重新部署即可。
4.4 sitemap提交
生成一个网站地图:
npm install hexo-generator-baidu-sitemap --save
记得查看Hexo根目录_config.yml
文件中url
的值,必须包含是百度站长平台注册的域名, 比如:
# URL## If your site is put in a subdirectory, set url as '/child' and root as '/child/'url: https://yourname.gitee.io/root: /permalink: :year/:month/:day/:urlname/
使用命令hexo g -d
将网站部署上去,然后访问你的域名/baidusitemap.xml
就可以看到网站地图了
来到百度站长平台的sitemap
提交页面,将你的sitemap 地址
提交即可。如果以后你博客有新的文章或其他页面,可以点击手动更新文件,更新一下新的sitemap
。
4.5 手动提交
手动提交不需要其他额外操作,直接把需要收录的页面的 url 提交即可,这种方法效率较低,更新较慢,不推荐使用。
5 推送效果
链接提交以后,大概两天左右,在站长平台中会有显示:sitemap抓取结果(大概20天过后):
6 收录结果查询
输入site: 域名
,查询:
7 References
/college/courseinfo?id=267&page=1#02/college/courseinfo?id=267&page=2#h2_article_title18//09/17/A48-submit-search-engine-inclusion/好了,接下来就可以愉快玩耍了,欢迎留言讨论!