百度js推送没法用了?帝国CMS结合百度API推送方法来了
网站建好了,想查看百度收录情况,自然是通过百度站长平台。之前百度站长提供了js自动推送方法,熊掌号还有什么天级推送。但是现在失效了,百度站长平台只能看到API提交和sitemap方式。
搜索发现百度上一堆关于百度js推送失效了的内容,事实上从2020年开始,百度就开始考虑取消js自动推送了。或许是因为懒得去处理代码,我发现多数网站仍然保留了百度js推送的代码。
API接口现在已经成为大势所趋,我们何不尝试通过API推送呢?而且百度和bing都表示推荐此方法,可以第一时间的通知到蜘蛛。接下来我就教大家如何在帝国cms使用百度API推送。
首先通过宝塔或者其它进入网站的根目录,新建文件夹名为baidu,在该文件夹下新建api.php文件。填入如下代码:<?php header('Content-type:text/html;charset=utf-8'); define('DB_HOST','localhost'); define('DB_USER','替换成数据库用户'); define('DB_PASSWORD','替换成数据库密码'); define('DB_DATABASE','替换成数据库名'); define('DB_PORT','3306'); function connect($host=DB_HOST,$user=DB_USER,$password=DB_PASSWORD,$database=DB_DATABASE,$port=DB_PORT){ $link=@mysqli_connect($host,$user,$password,$database,$port); if(mysqli_connect_errno()){ exit(mysqli_connect_error()); } mysqli_set_charset($link,'utf8'); return $link; } function execute($link,$query){ $result=mysqli_query($link,$query); if(mysqli_errno($link)){ exit(mysqli_error($link)); } return $result; } $start = date('Y-m-d 00:00:00'); $end = date('Y-m-d H:i:s'); $link=connect(); //获取当天发表的数据 $query="SELECT * FROM `phome_ecms_news` WHERE `truetime` >= unix_timestamp( '$start' ) AND `truetime` <= unix_timestamp( '$end' )"; $result=execute($link,$query); while($data_list=mysqli_fetch_assoc($result)){ $urls[]="①".$data_list['titleurl']."\n";//替换成自己网站的域名 } $api = 'http://data.zz.baidu.com/urls?site=网站首页地址&token=百度获取'; $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); echo $result; ?>
序号①处需根据自己网站的实际情况填写,一般域名,如果上传发生错误则将整个双引号删除即可。下半部分代码可以在站长平台直接复制。
我们选择普通收录》API提交》php推送实例。就能得到上述图片。包含自己的接口地址和token,这是每个人都不一样的。我们将代码保存后,在浏览器输入http://域名/baudu/api.php+回车。我们可能得到如下数据:
如果出现not_valid则需要修改①处的内容。如果只出现remain和success两个数据则表示成功。
ps:此方法只适用于推送当天发布的文章链接,历史文章请通过sitemap方式,两种方式并不冲突,可以结合使用。本站部分文章、数据、图片来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:1737618317@qq.com