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
源码地址:hexo-baidu-sitemap-push