你是不是也遇到过这种情况?每天起早贪黑更新原创文章,结果去 site 一下,收录量纹丝不动。看着别人的网站排名蹭蹭往上涨,心里那个急啊。说白了,就是你的内容没送到百度面前。迅睿CMS 系统虽然好用,但默认设置下,它不会主动去敲百度的门。今天咱们就来聊聊,怎么把迅睿CMS 和百度的熊掌号(现在叫搜索资源平台)对接好,让你的文章发布就能被秒收录。这篇文章不讲虚的,直接给你上代码,照着做就能解决问题。
要想车跑得快,路得先修平。对接之前,你得把几个关键的准备工作做好。很多人卡在这一步,后面就没法弄了。
你得先有个百度搜索资源平台的账号。登录进去,找到你的站点。在“资源提交”或者“普通收录”那个板块,你能看到一串接口调用地址。那里面有个 site(你的网站域名)和 token(一串乱码似的字符)。这俩就是你的钥匙,一定要复制好,别弄错了。如果你没找到,就去页面上仔细找找“API接口”这几个字,肯定在。
拿到钥匙后,打开你的迅睿CMS后台。路径一般在“系统”或者“SEO设置”里,找到“百度推送”或者“接口配置”这一项。把刚才复制的 site 和 token 分别填进去。填完记得点保存。这一步就像是把你的家门钥匙给了快递员,以后百度就知道怎么来你家取内容了。千万别嫌这一步麻烦,这是基础中的基础。
光填后台还不够,那是半自动。咱们要的是全自动,发布文章的同时直接推给百度。这就需要改一点点代码。别听到代码就头大,其实很简单,我给你写好了,你只要放对位置就行。
迅睿CMS 有个很牛的功能叫“钩子”。我们不需要去改系统核心文件,只要在插件或者模板目录里挂载一个钩子就行。我们需要用到的钩子是 module_post_after,意思就是模块内容发布之后执行的操作。
你可以打开你的 /dayrui/My/Config/Hooks.php 这个文件。如果没有,就自己建一个。在里面加上一段代码,告诉系统:文章发完以后,把文章的 URL 拿出来,发给百度。这样你就不用每次发完文章还要手动去复制链接推送了,省心省力。

来,直接看这段代码。这段代码的作用就是把你的文章 URL 拼凑成百度要求的格式,然后用 curl 发送过去。
```php // 挂载点 \Phpcmf\Service::L('hook')->add_hook('module_post_after', function($data) { // 只针对文章模块,这里假设你的文章模块目录是 article if ($data['is'] && $data['module'] == 'article') { // 拼接文章URL $url = dr_url_prefix($data['url']); // 获取百度推送配置 $site = dr_get_option('baidu_site'); // 这里要对应你后台设置的键名 $token = dr_get_option('baidu_token'); if ($site && $token) { $api = 'http://data.zz.baidu.com/urls?site='.$site.'&token='.$token; $urls = [$url]; // 发送请求 $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); // 记录日志,方便排查问题 log_message('debug', '百度推送结果:'.$result); } } }); ```把这段代码放到你的钩子文件里。注意看注释,如果你的文章模块不叫 article,就改成你自己的名字。还有 dr_get_option 里面的参数,要和你第一步在后台填写的配置项名字对应上。如果不确定,去数据库里查一下或者问一下你的开发人员。
代码加上了,不代表就万事大吉了。我在这一步踩过不少坑,现在把这些经验分享给你,帮你省点时间。
有些朋友心急,觉得一次推几千条才爽。千万别这样!百度有频率限制,如果你短时间内推送太多,百度会直接把你拉黑,以后推啥都不收了。如果是新站,刚开始每天推个几条、十几条就行。等收录稳定了,再慢慢增加。这就像交朋友,得慢慢处,一上来就太热情,人家会吓跑的。
代码执行了,不代表推送成功。你得看返回值。我在代码里加了 log_message,就是让你去后台日志里看结果的。百度返回的数据里有个 success 字段。如果显示 0,那就是失败了。这时候你得去检查一下,是不是 token 填错了,或者 URL 格式不对。有时候是因为你推送的内容是重复的,百度也会拒绝。多看日志,能解决 90% 的问题。
新站对接好了,那以前发的几千篇文章怎么办?你可以写个脚本,把历史文章的 URL 提取出来,然后调用 API 推送。但是,同样要注意频率。你可以分批次推,比如每天推 100 条历史数据。千万别写个死循环,瞬间把服务器资源跑满了,网站打不开,那就得不偿失了。历史内容比较老,百度可能不会马上收录,保持耐心。
好了,方法都交给你了。其实迅睿CMS 对接熊掌号(搜索资源平台)真的不难,难的是你要细心一点,把参数填对,把代码放对位置。别光看不练,现在就去检查一下你的后台配置,看看钩子加没加上。收录这事儿,你不主动出击,百度哪有空理你?赶紧把这套流程跑通,你会发现,收录上涨其实也就是这几天的事儿。加油,你的网站值得被更多人看到!
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图