当前位置:网站首页 >  攻略

帝国CMS自动推送到主流搜索资源平台超详细全流程零门槛实操指南

时间:2026年06月02日 18:48:36 来源:易频IT社区

前置准备

先完成以下3项准备,确保后续操作不会卡壳:

  • 获取推送接口密钥:分别访问百度搜索资源平台-普通收录必应网站管理员工具,完成网站验证后,在「普通收录」「提交URL」页面找到API提交入口,复制各自的接口地址与token。
  • 确认帝国CMS版本:本教程适配帝国CMS7.0-7.5全系列UTF-8/GBK版本,更高/更低版本需自行微调代码。
  • 备份网站数据:操作前务必通过帝国CMS后台「系统设置-数据备份与恢复-备份数据库」备份全站数据,避免误操作导致内容丢失。

第一步:创建自动推送函数文件

创建一个专门存放推送代码的文件,避免修改系统核心文件:

1.1 新建文件

通过FTP工具或服务器后台文件管理器,在帝国CMS根目录下的 /e/extend/ 文件夹中,新建名为 auto_push.php 的空文件。

1.2 复制完整代码

将以下适配双平台的完整代码粘贴到 auto_push.php 中,注意根据自己的接口信息修改红框标注的替换区域(实际操作中直接替换注释后的内容即可):

```php $baidu_api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n", array($url)), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false ); curl_setopt_array($baidu_ch, $options); $baidu_result = curl_exec($baidu_ch); curl_close($baidu_ch); // 处理必应推送 $bing_data = array( 'siteUrl' => 'https://' . $site_domain, // 如果你是http,改成http:// 'urlList' => array($url) ); $bing_json = json_encode($bing_data); $bing_ch = curl_init(); curl_setopt($bing_ch, CURLOPT_URL, $bing_api); curl_setopt($bing_ch, CURLOPT_POST, true); curl_setopt($bing_ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($bing_ch, CURLOPT_POSTFIELDS, $bing_json); curl_setopt($bing_ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($bing_json) )); curl_setopt($bing_ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($bing_ch, CURLOPT_SSL_VERIFYHOST, false); $bing_result = curl_exec($bing_ch); curl_close($bing_ch); // 记录推送日志(可选,便于排查问题) file_put_contents(ECMS_PATH . 'e/extend/auto_push_log.txt', date('Y-m-d H:i:s') . " | 百度: " . $baidu_result . " | 必应: " . $bing_result . "\n", FILE_APPEND); } ?> ```

第二步:修改帝国CMS内容发布触发点

修改帝国CMS的内容发布/审核/修改逻辑,让系统在内容状态符合要求时自动调用推送函数:

2.1 找到并打开触发文件

进入帝国CMS根目录下的 /e/class/ 文件夹,找到 functions.php 文件,建议先复制一份备份为 functions_bak.php

2.2 引入自动推送函数

打开 functions.php,在文件最顶部(第一行 之后)添加以下引入代码:

```php require_once(ECMS_PATH . 'e/extend/auto_push.php'); ```

2.3 找到审核/发布内容的核心函数

帝国CMS自动推送到主流搜索资源平台超详细全流程零门槛实操指南

functions.php 中搜索 function DoAddNews(新增内容)和 function DoEditNews(修改内容)函数,以及 function DoCheckNews(审核内容)函数。

2.4 在新增内容函数中插入推送代码

找到 DoAddNews 函数的末尾,在 return $classid;(或类似的返回语句)之前,添加以下判断+推送代码:

```php // 自动推送双平台(仅新增时自动审核通过的内容触发) if ($r['checked'] == 1) { $push_url = $public_r['newsurl'] . $r['classpath'] . '/' . $r['filename'] . $public_r['newsfile']; autoPushToSearch($push_url); } ```

2.5 在修改内容函数中插入推送代码

找到 DoEditNews 函数的末尾,在 return $classid; 之前,添加类似代码(修改后状态为审核通过才触发):

```php // 自动推送双平台(仅修改时自动审核通过的内容触发) if ($r['checked'] == 1) { $push_url = $public_r['newsurl'] . $r['classpath'] . '/' . $r['filename'] . $public_r['newsfile']; autoPushToSearch($push_url); } ```

2.6 在审核内容函数中插入推送代码

找到 DoCheckNews 函数,先看一下代码结构,找到遍历审核ID的循环部分(比如 foreach($id as $key=>$val){for($i=0;$i<$count;$i++){),在循环内部获取到当前审核文章的信息后(一般是 $r=$empire->fetch1("select from phome_ecms_模型表 where id='$val' limit 1"); 这里的模型表要注意是你自己的主模型,默认是news),添加以下代码:

```php // 获取模型表的栏目路径、文件名 $cr=$empire->fetch1("select classpath from phome_enewsclass where classid='$r[classid]' limit 1"); $public_r=$empire->fetch1("select newsurl,newsfile from phome_enewspublic limit 1"); // 生成推送链接 $push_url = $public_r['newsurl'] . $cr['classpath'] . '/' . $r['filename'] . $public_r['newsfile']; // 自动推送双平台 autoPushToSearch($push_url); ```

注意:如果你的网站有多个模型(比如新闻news、图片photo、下载down),需要在 DoCheckNews 函数中为每个模型都添加这段代码,只需替换 phome_ecms_模型表 为对应的表名即可。

第三步:测试自动推送功能

完成上述修改后,按以下步骤测试,确保功能正常:

  • 测试新增内容自动审核推送:进入帝国CMS后台,新建一篇新闻,直接勾选「审核通过」,点击发布,然后打开 /e/extend/auto_push_log.txt(如果存在的话),查看百度和必应的返回结果——百度返回 {"remain":剩余配额,"success":1} 表示成功,必应返回 {"d":null} 或包含 true 的内容表示成功。
  • 测试审核待发布内容推送:新建一篇新闻,不勾选「审核通过」,点击发布,然后在「内容管理-审核内容」中勾选该文章并审核通过,再次查看日志文件。
  • 测试修改已发布内容推送:打开刚才审核通过的文章,修改标题或内容后点击发布,再次查看日志文件。

常见问题排查

如果测试时日志中没有记录或返回失败,按以下步骤排查:

  • 检查替换区域auto_push.php 中的接口地址、token、网站域名是否填写正确,特别是域名是否带http/https,百度接口的 site 参数是否与搜索资源平台验证的域名一致。
  • 检查模型表名DoCheckNews 函数中的 phome_ecms_模型表 是否正确,帝国CMS默认模型是news、photo、down、flash、movie、article。
  • 检查curl是否开启
  • 检查日志文件权限/e/extend/ 文件夹的权限是755或777,日志文件可以自动创建并写入内容。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图