一.导语
1.本文的主要内容:
如何搜索引擎可以搜索到我们的博客
2.准备:
什么是 SEO ?
SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过站内优化比如网站结构调整、网站内容建设、网站代码优化等以及站外优化。部署到 Github 上的缺点?
Github是不允许百度的爬虫爬取内容的,所以我们的项目如果是托管在github上的话基本是不会被百度收录的。所以,我之前的测试一直是不行的。站点地图sitemap?
之前配置Next主题样式的时候已经生成了通用的sitemap和百度搜索引擎用的sitemap。不知道的可以看主Next主题样式那一篇文章。我的两个地址分别是/sitemap.xml 和 /baidusitemap.xml 。
二.让谷歌搜索引擎收录我们的站点
1.先说谷歌的原因是:相比于百度,谷歌的效率是真的高问题少,重点是Github允许爬取。
2.流程:
①. 打开 google站点平台,登录,验证站点。我们选择网域,输入域名,选择继续。
②. 通过DNS进行验证,一般打开域名提供商,在域名解析里面添加一条记录(各项值如图所示)。一般都是等待十分钟后点击验证,验证成功点击前往资源页面。
③. 提交sitemap
④. 提交sitemap之后,很快就能被搜索到了。我先用了 site:域名
来测试是否站点是否被收录,然后又搜索了内容和图片。
三.让百度搜索引擎收录我们的站点
1.让百度收录我们的站点,两种方式。
①. 浏览器输入site:域名,点击提交网址给我们,也可以用来检测一个网站是否被收入站点
②. 点击百度搜索资源平台->用户中心->站点管理->添加网站。
2.验证网站所有权
①. 输入网站
②. 站点属性
③. 验证网站—选择的是 CNAME验证 方式。一般回告诉你这句话`请将 BdvNH1CQPw.****.com 使用CNAME解析到ziyuan.baidu.com` 。那么打开域名解析网站添加一条记录,主机记录值填 BdvNH1CQPw 这一段,记录类型值填 CNAME 。记录值填 ziyuan.baidu.com 这一段。**
3.提交sitemap
①. 将我们生成的sitemap文件提交给百度,有两种提交方式,自动提交和手动提交(不建议),自动提交又分为主动推送、自动推送和sitemap。
②. 设置主动推送:我使用的是 curl
,Mac平台已经帮我们准备好了,无需安装。根据百度推送的文档描述,我们需要将要提交的链接按照每行一条的格式写入一个文本文件中,命名此文件为urls.txt,然后进入该文件所在目录,执行如下命令:
1 | curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=&token=aw2T5HkRFBhCyakx" |
③. 设置自动推送,由于NexT
主题帮我们配置了“每次访问博客中的页面就会自动向百度提交sitemap”的代码,我们只需要打开 主题配置文件
,搜索baidu_push
,将值改为true
即可。有的博客会说需要打开 themes\next\layout_third-party\se\baidu_push.swig
文件,添加百度自动推送提供的代码,但是NexT主题已经添加了,可以看下面的截图。
④. 设置sitemap,打开百度站长平台,网站支持->链接提交->自动提交->sitemap,输入你生成的百度sitemap的网址。
⑤. 如上图所示,文件的抓取状态会一直是 抓取失败,为什么呢? 因为之前提到过,Github 不允许百度的爬虫爬取,难搞哦,以后用自己的服务器再说吧。
四. SEO
1. 提交 robots.txt
robots.txt 是一种存放于网站根目录下的 ASCII 编码的文本文件,它的作用是告诉搜索引擎此网站中哪些内容是可以被爬取的,哪些是禁止爬取的。robots.txt 放在博客目录下的 source 文件夹中,博客生成后在站点目录 /public/ 下。
我的robots.txt的内容如下:
1 | User-agent: * |
2.优化url
seo搜索引擎优化认为,网站的最佳结构是用户从首页点击三次就可以到达任何一个页面,但是我们使用hexo编译的站点打开文章的url是:sitename/year/mounth/day/title四层的结构,这样的url结构很不利于seo,爬虫就会经常爬不到我们的文章,于是,我们需要优化一下网站文章url
我们可以将url直接改成sitename/title的形式,并且title最好是用英文,在站点配置文件
下搜索url
修改permalink
(原本的值:permalink: :year/:month/:day/:title/)如下:
参考文章
hexo: windows下向百度站长平台主动推送链接—此文章有windows平台curl安装的示例
Hexo博客第三方主题next进阶教程—此文章有文件验证如何避免验证的html被编译