如何让百度搜索引擎爬取、收录被部署在 Github pages 上的 Hexo博客链接
1. 场景描述
当我们提交 sitemap.xml 文件给百度时,提示抓取失败,并且错误信息如下:
连接超时
DNS解析ip地址:185.***.***.153
抓取机房:联通
UA:Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
HTTP状态码:403
修改建议
请确保sitemap地址正确,再重新提交。
这是因为把 Hexo 部署在 Github pages 上时,百度的爬虫是被屏蔽的。为了保证我们能够被百度搜索引擎正常收录,于是产生了这个小工具。
其工作模式是采用百度提供的另一种方式「主动推送」,步骤:
读取生成的 sitemap.xml 文件中的链接;
调用百度分配的接口进行实时提交。
关于接口的详细说明,参见这里:https://ziyuan.baidu.com/college/courseinfo?id=267&page=2#h2_article_title9
注意:这个 sitemap.xml 文件的生成可以使用 Hexo 插件 npm install hexo-generator-baidu-sitemap --save,添加相关配置后,每次 hexo g -d 则会自动更新 sitemap.xml 文件。
2. 使用方式
php 版本(后期提供 Java、Python 版本)
- 修改配置
// baidusitemap.xml 路径,这里不配置的话,可以在调用的时候动态传参
$sitemapPath = '';
// 推送接口,详见 https://ziyuan.baidu.com/linksubmit/index?site=xxxxxx
// 这里的 xxxxxx 是你提交到百度的博客地址
$site = '';
$token = '';
- 命令行调用
php BaiduSitemapPush.php
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!