帝国CMS实现百度主动推送功能代码与详尽操作教程

你是否遇到这样的问题:网站天天更新,收录却不见涨。特别是对于新上线不久的网站,这种情况几乎成了常态。

我的网站(学而行营销网 www.xueerxing.com)2016年8月上线(其实网站原来就有,只不过主题是关于出国留学的,一直不更新放在那儿,8月将其更改成以营销为主题的网站),刚开始时,收录还是快速且稳定的。后来由于想提升速度加强优化,在9月中旬做了一些调整,包括对网页源码进行压缩,将JS代码放在页面最后边加载等。如此折腾了一番,网站打开速度是有所提升,但过了一段时间又发现:网站每日更新十来篇,百度网页收录却总是看不见,这真叫人捉急啊!

20150717085238_55322

检查了下,原来是在网页中安装的百度自动推送功能JS代码失效了,关于百度自动推送JS代码请见拙文:百度SEO自动推送功能说明及代码安装注意事项。于是重新调整JS代码至<body>后面,在百度站长平台检测,发现恢复正常。如下图所示。

23232

百度自动推送功能很不错,但前提是网页得有人点击,被点击打开后才能自动将网址推送到百度。因此说是自动,还不如说是半自动。

根据百度站长平台说明,收录速度最快的,当属主动推送。主动推送功能也是最强大和最实效的,但是要想实现网站更新主动推送给百度搜索引擎这样的功能,需要编写程序来实现,难度不小,一直让人望而却步。

2345

 

关于主动推送,百度站长平台是这样介绍和说明的。

主动推送:最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。

使用主动推送功能会达到怎样效果

及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录

保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现

既然主动推送这么好,那能不能更进一步,顺便把主动推送功能也实现了呢(在没有程序员的情况下)?

学而行营销网用的后台是帝国CMS。通过搜索,找到了一个简单易行的解决方案,并且通过自己的测试实践,成功地实现了帝国CMS的主动推送功能。

帝国CMS主动推送功能的实现方法,请参见以下文章:

http://www.qidiantong.com/diguo/5856.html

http://www.zongk.com/zongkdown/67.html

以下则是我根据这篇文章,用实践成功过程中的一些细节作为上文的补充说明。如果你也想制作帝国CMS主动推送功能,请参考上面的文章内容并结合以下的截图进行操作。

一 建立标签模版:

标签模板

注意列表内容模板中的“,”号,文章中有着重说明。

标签模板ID

注意新增加后的标签模板的ID数字,后面会用到。

二 自定义页面制作内容网址列表(TXT文本格式)

332342

注1:生成的文件名后缀为txt:(文件名自己定,如tuisong.txt),存放于网站根目录下;

注2:需要提交的更新网址条数(50),可以自行修改,自定义标签ID(18)要更换成你自己帝国CMS网站后台对应的模板标签ID。至于那个[eshowzt]……[/eshowzt],请忽略。

注3:浏览生成的tuisong.txt文件,看看是否已经正确地生成了网址,并检查下网址内容是否为带有HTTP开始的绝对URL格式(如:http://www.xueerxing.com/yingxiaoxue/pinpai/1487.html)

32s

如果txt文件中的网址不是带HTTP的绝对URL格式,进入第三步进行网站参数修改调整。

三 修改帝国CMS系统参数配置

这一步有两个操作。分别是:

1.调整网站地址格式

23

如果网站地址一项是/,改为如上图所示的绝对URL格式,别忘了最后还是有个/的

2.批量更新信息页地址

3

将网站地址批量更新一遍,选择一个要更新的数据表,其他不用动,点开始更新就好。别说这个你不会哦~等待更新完毕后的提示信息,成功则进行下一步。

四 添加PHP代码实现主动推送功能

上面三步做好了,就万事俱备,只欠东风。请参考上面链接文章中的代码自建PHP文件。以下是学而行营销网的主动推送PHP文件代码,文件名叫tuisong.php。

<?php

$values = fopen(‘tuisong.txt’,’r’) or die(“打开文件失败”);

$value = fread($values,filesize(‘tuisong.txt’));

$value = rtrim($value,”,”);

$urls =explode(‘,’, $value);

$api = ‘http://data.zz.baidu.com/urls?site=www.xueerxing.com&token=IBfG1i2fU9tyXKw0’;

$ch = curl_init();

$options =  array(

CURLOPT_URL => $api,

CURLOPT_POST => true,

CURLOPT_RETURNTRANSFER => true,

CURLOPT_POSTFIELDS => implode(“\r\n”, $urls),

CURLOPT_HTTPHEADER => array(‘Content-Type: text/plain’),

);

curl_setopt_array($ch, $options);

$result = curl_exec($ch);

echo $result;

echo ‘<pre>’ .htmlspecialchars(print_r($urls, true)) . ‘</pre>’;

?>

注:以上代码只要替换3处,就可以匹配你的网站。

第一行和第二行的tuisong.txt,换成你的帝国CMS网站后台的自定义页面文件名称即可,另外就是要注意这个PHP文件,最好也是上传到网站根目录,和tuisong.txt并行,这样就不需要在代码中加入文件的路径,以免找不到网址文件而出错。

把$api=” http://data.zz.baidu.com/urls?site=www.xueerxing.com&token=IBfG1i2fU9tyXKw0”这一行,引号内的字符换成你的网站的API。怎么找?登陆百度站长平台,点击左侧的链接提交,就会看到下图。

百度站长平台API

把你的接口调用地址复制并替换模板PHP文件中对应的位置就好。

五 测试

上传PHP文件至网站服务器。如学而行营销网的URL地址是:http://www.xueerxing.com/tuisong.php 直接在浏览器中访问它。如果出现:

5454

这样的信息,则表示主动推送(有84条网址信息)给百度搜索引擎已经成功。如果出现的不是这样的信息,那就请再检查各个操作环节与技术细节。

隔天,登陆百度站长平台,查看主动推送的结果,有惊喜。

234

最后,当网站的主动推送功能已经实现,需要坚持的就是习惯:在每天更新一定数量的文章后,点击数据更新,再点更新所有自定义页面,然后,在浏览器里访问你的带有主动推送功能代码的PHP文件,就可以了,然后再通过百度站长平台查看相应的数据,这样坚持下去,网站收录量这个坎就不会再是什么障碍。

这篇文章对俺有帮助,打赏犒劳下作者吧〜

本文链接:肖运华 » 网站设计制作优化分析 » 帝国CMS实现百度主动推送功能代码与详尽操作教程
原创文章,转载请注明:http://www.xiaoyunhua.com/1014.html

发表评论

电子邮件地址不会被公开。