前言
首先我想说的是,百度,食屎啦你! 垃圾玩意,人家bing、谷歌做网站收录分分钟的事,就你百度叼得一批,一个月都不见收录,还因为爬虫过于频繁被github禁了,导致github上的个人博客百度都搜不到。
好了,开始正文
站长后台验证网站所有者
上传sitemap是需要验证域名所有者的,建议通过加meta标签的方式验证,可以修改head.ejs 在头部插件验证标签,一般路径为 hexo\themes\yilia-plus\layout\_partial\head.ejs
如使用下载文件的验证方式会发现文件验证文件也会被生成在sitemap里。
注意使用https不要用http
重复内容收录权重
如果你在不同的地方发布了同样的内容,那么搜索引擎是会只选择其中一个,另一个会跳过收录,长期下来引擎发现你的重复内容过多,会下调网站信誉渐渐的排名也会靠后
什么情况下需要rel=”canonical”标签
网站进行了改版,将旧的内容搬到了新的URL链接上,但是没有做301重定向。
附带不同参数但是内容基本一样的页面,比如某些论坛没有做伪静态处理,则每个栏目或帖子都将出现动态链接的问题,还有一些电子商务网站在每个商品链接后面添加的追踪代码,但是它们的内容却是一样。
由其它原因引起内容相同或相似的页面。
根据搜索引擎的规则你可以通过标签来指定要收录哪一个域名上的内容,即: rel="canonical"
标签,同样可以通过插件自动生成:
安装插件: npm install --save hexo-auto-canonical
在head.ejs中添加 <%- autoCanonical(config, page) %>
,然后clean再重新生成,它会根据_config.yml中配置的url域名生成canonical标签
sitemap.xml网站地图
大部分搜索引擎是通过你提交的网站地图来抓取的,也就是说你需要告诉搜索引擎你有哪些网页,而sitemap.xml就是做这个用的,所以让我们利用hexo的sitemap插件来自动生成:
首先安装插件: npm install hexo-generator-sitemap
在hexo的 _config.yml 加上sitemap路径配置
1 | sitemap: |
此时再 hexo clean
hexo g
可以看到public目录多了个sitemap.xml文件,通过上传这个文件到谷歌、bing的站长后台可以让该引擎抓取我们的网页
附上bing、google后台地址: google: https://search.google.com/search-console bing: https://www.bing.com/webmaster/home/mysites 先不要上传sitemap哦
将中文网页名称转换为固定字符串
hexo默认生成的页面是你的title名,即title是中文那么网站访问的路径也是中文,这样是很不利于搜索引擎收录的,让我们使用插件来解决这个问题
安装缩短链接插件 npm install hexo-abbrlink --save
hexo的_config.yml 添加如下配置:
1 | permalink: posts/:abbrlink.html |
安装完毕后此时再clean hexo g
会发现生成的网页名称不再是中文,而是固定的字符串,访问路径也统一变成了posts/xxx.html,这种简单的访问路径比较利于搜索引擎收录。
如何让百度收录github pages网页
嘴上说着不要不要,身体却不得不做出妥协 咱们中国网民大部分人还是习惯使用百度搜索(毕竟没得选),辛辛苦苦写的文章没人看岂不是太浪费了?
由于github屏蔽了百度爬虫,因此无法直接提交sitemap.xml收录,解决办法有如下:
Cdn缓存,让百度爬缓存内容
将白嫖贯彻到低,再部署一套到gitee pages上
方案1具体实现:没有
方案2具体实现: 首先和github一样在gitee上上传公钥,创建好仓库,然后在_config.yml再添加一个repository:
1 | deploy: |
然后hexo clean hexo g hexo d
,上传完成。
需要注意的是,gitee的hexo部署是需要手动操作的,而且很慢,github pages就不用 ,gitee pages操作入口在项目页面->右上服务标签->gitee pages
2020-12-3 更新
试了下发现百度是可以抓取github pages页面的,不再需要双份部署了!
- 本文作者: reiner
- 本文链接: https://reiner.host/posts/2262a2b8.html
- 版权声明: 转载请注明出处,并附上原文链接