知更鸟begin主题在本次更新版本中加入了自动生成站点地图,生成的站点地图包括sitemap.xml和sitemap.txt两个版本。百度搜索资源平台直接添加sitemap.xml文件地址到后台,实现被动式提交网站url加快收录,而sitemap.txt文件我们可以使用普通收录功能API进行手动推送至百度搜索资源平台,这将有利于提高站点的收录。
为什么要主动提交url
如果你现在还在使用原始的百度搜索资源平台收录提交(原百度站长平台)手动提交sitemap.xml文件,等待百度主动去爬取你的站点,或者使用闪电博的百度收录插件免费版,不妨看看这篇文件。百度搜索资源平台由于不盈利问题内部已经开始踢皮球,处在疲软混乱的状态。这篇文章将教会你主动向百度搜索资源平台提交内容,优化搜索引擎seo,并且它是自动化营销的模式,一次配置长期有效。
生成txt站点地图
知更鸟begin主题
知更鸟begin主题只需要在wordpress后台,主题选项,基本设置,站点题图中开启这个功能即可。
其他wordpress主题
其他wordpress站点并没有自带sitemap.txt站点地图的生成功能,这里我们需要借助一个插件,后台插件中心搜索关键词:sitemap txt,可以获得很多可以实现这一功能的插件,这里使用WP TXT Sitemap作为演示。
启用插件后需要保存一下插件设置才能正常生成sitemap.txt文件。wordpress后台,设置,阅读,WP TXT Sitemap Options,支持为文章、页面、分类目录等内容生成sitemap.txt站点地图。
sitemap.txt站点地图效果
设置完成后刷新网页,等一会让,可以看见地图完美生成
主动推送url到百度搜索资源平台
方法一,使用服务器定时任务curl提交
百度资源搜索平台普通收录的API提交功能为我们演示了curl推送、post推送、php推送、ruby推送等多种模式。这里我们使用curl推送,因为它非常简单高效。
为了提高推送推送效率和不给服务器造成负担,我们将任务定义在每天凌晨4:30执行推送任务,把下面的代码添加到系统的crontab任务列表中即可。
30 4 * * * curl -o url.txt https://www.ixmu.net/sitemap.txt && curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=www.ixmu.net&token=准入密钥"
如果是使用宝塔建站的站长可以使用GUI界面添加到宝塔自动任务当中,登录宝塔后台,自动任务,添加脚本,时间设置每天3:40分,下面是使用宝塔自动任务运行脚本进行推送的代码。
#!/bin/bash curl -o url.txt https://www.ixmu.net/sitemap.txt curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=www.ixmu.net&token=准入密钥"
记得修改代码中的sitemap.txt地址和百度搜索资源平台API地址为自己的信息。
补充修复问题
使用知更鸟begin主题和sitemap.txt插件支持定义url条数的站长可以这一部分。
有小伙伴反馈推送报错,经过简单排查知道,普通收录API一次最大可提交2000条url地址,而部分插件生成的数量比较多,这里我们需要简单修改一下脚本。
cron定时任务:
30 4 * * * curl https://www.ixmu.net/sitemap.txt | head -n 2000 >url.txt && curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=www.ixmu.net&token=准入密钥"
宝塔自动任务:
#!/bin/bash curl https://www.ixmu.net/sitemap.txt | head -n 200 > urls.txt curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=www.ixmu.net&token=准入密钥"
方法二,使用github action服务定时进行curl提交
1、打开github 项目地址:https://github.com/ixmu/push-urls-to-baidu 并Fork这个项目到你的账户下。
2、选择设置(setting),机密(Secrets),添加机密(Secrets),共两条。
部分小伙伴说我翻译得太垃圾了,直接叫变量不行吗?机密是github加密后得变量。
需要添加两条如下:
名称 值 SITEMAP_TXT_URL https://www.ixmu.net/sitemap.txt BAIDU_API http://data.zz.baidu.com/urls?site=https://www.ixmu.net&token=准入密钥
3、开启action服务,并激活action服务
选择动作(action),选择我知道我的工作流程(I understand my workflows, go ahead and enable them),并继续启用它们
选择代码(Code),选择README.md,编辑它,随便加入点内容保存即可。到此,你已经完成了action服务的开启和激活流程。
4、action成功推送检测
方法一,是访问一下链接可以只管看到推送状态
https://github.com/你的github用户名/push-urls-to-baidu/actions?query=workflow%3Apush-urls-to-baidu
action脚本定义了每天4:30分执行推送,所以要在4:30分之后才能看到状态。
方法二、为action创建一个状态徽标
action提供了一个图片徽标,让你查看任务是否正常运行
总结
到这里你已经可以实现利用linux定时任务、宝塔定时任务、github action服务实现每天推送网站链接到百度站长平台。
如果你在配置中遇到什么问题,不妨给我留言,老黑我会给与你一定的技术支援。
评论