《创世纪》:如何让博客被GoogleSE收录

《创世纪》:如何让博客被GoogleSE收录

远大目标:在2022年内实现网站流量的0突破。


某天突然想到这个网站至今还没提交站点地图,遂开始操作。


npm安装sitemap插件

hexo框架的blog可以直接用npm指令安装sitemap插件,自动生成sitemap.xml。

npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save

然后在_config.xml文件里配置插件及对应的站点地图路径。

Plugins:
- hexo-generator-baidu-sitemap
- hexo-generator-sitemap

baidusitemap:
    path: baidusitemap.xml
sitemap:
    path: sitemap.xml

hexo g后可以查看生成的stemap.xml,检查下网址是否有错误。npm安装的插件路径在”根目录\node_modules\hexo-generator-sitemap”下,其中sitemap.xml定义了自动生成sitemap的方法。阅读可知post和tag会取permalink,而其他网页会取 _config.xml下的url配置。 请保证这一配置正确。

正常流程下,hexo g后hexo d即可一键部署。但本博客用的是Travis-CI部署,所以正常提交然后等build通过即可。


Google SEC验证

站点地图生成后,需要去Google Search Engine Console里提交。第一次进入的话,首先需要注册个Google账号,本人当然是有的,然后要验证你对该网站的所有权。Google提供了一堆选项,本人用的是Https验证,即下载Google提供的html并扔到自己的站点里。

hexo框架下,hexo d一键部署会自动推送并覆盖Github Page分支,所以最好不要自己手动去上传。我们要做的,是把html扔到Source下,并禁止hexo对它进行渲染。

禁止的方法有两种。一是在html文件内开头写--- layout: false ---,不是用任何layout模板进行渲染;二是在配置文件里配个not render,把这个html文件写进去。

上传成功后,可以尝试跳转到该html网址,看看是否能成功访问。在Google那边确认认证,如果卡了没过就多点几次,点到通过为止。


站点地图提交

验证成功后会自动跳转到Google Search Console主页,这是Google提供的站长网页管理平台。目前看来工具和数据不多,不好用且有些bug,毕竟是免费的午餐服务。

在索引→站点地图里,输入sitemap.xml并提交,就可以提交站点地图了。

站点地图无法读取?

这个问题困扰了我半天,最后找到了解决方法,或者说本质原因。

我最开始以为是站点地图本身出了问题,于是直接访问,并抽选了几个确认下网址,都可以正常跳转。

先是使用中文进行搜索,看到有人尝试解决这个问题,做法是修改hexo-sitemap插件的url读取配置。但问题是,他的修改初衷是国内国外用了不同域名,所以需要在不同情况下传不同参。我没有这个需求,而这个做法显然也对我无效。

后来改用英文搜索,(一早就该用英文)搜出来的结果五花八门,大开眼界的同时马上定位到了问题。

用Google Console想检验sitemap有效性的话,不应该进行Google索引测试,因为sitemap其实是不希望被搜索引擎收录的网页。真正要进行的是Live Test,即测试实际版本。只要在这个测试里显示为“可编入索引”,就说明站点地图没问题,目前的状态其实是pending,而不是读取失败。显示成读取失败只能说是设计bug

出现这个显示结果就说明站点地图没问题

接下来只要等待站点地图被Google读取并编入内容索引即可。

在Google中搜索site:https://uynad.github.io/ 可以初步看到,主页已经被编入索引,主页上的内容能被Google抓取了。

这是《创世纪》的第一步,接下来就是姜太公钓鱼,意思是只有傻子才会点进此博客

《创世纪》:如何让博客被GoogleSE收录

https://uynad.github.io/2022/04/23/devlog/20220424-sitemap/

作者

UyNad

发布于

2022-04-24

更新于

2024-08-07

许可协议

CC BY-NC-SA 4.0

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×