织梦内容管理系统(DedeCms) 是一款很老的程序了,主要是以简单、实用、开源而闻名,很多建站初学者第一次做网站都是使用的织梦。不过织梦也有不足之处,比方说我们用织梦发布文章之后还需要手动去提交链接给百度,这是不是很麻烦呢?
因此,康哥今天就分享一个通过简单修改织梦(Dedecms)后台,实现在织梦网站后台发布文章主动推送给百度的方法,而且还是实时的哦。
那么,我们使用百度的主动推送功能会达到怎样的效果呢?
康哥认为有以下两点:
1、可以被百度搜索引擎爬虫及时发现
如果我们在发布完文章之后,主动的把链接提交给百度搜索引擎爬虫,那不就可以缩短百度搜索引擎爬虫发现你站点新链接的时间了么?这样就可以使新发布的页面在第一时间被百度收录了。
2、还可以起到保护原创的效果
天下文章一大抄,对于那些抄袭者你是不是很痛恨?明明是自己写的原创文章,却被别人网站抄袭了过去,这还不算什么。可是那些个抄袭的文章,他们的排名居然比你的还要好,难道你就不会生气么?难道你就不会怪度娘的技术太烂么?
所以,只要使用了百度的主动推送功能,对于网站的最新原创内容,就可以用这种方式快速通知到百度,使内容可以在转发之前就被百度发现,从而起到保护原创的效果。
好了,康哥现在就来教大家如何使用织梦就可以实现发布文章主动推送(实时)给百度的方法。为了方便举例说明,康哥今天就拿刚上线的新站广西特产网来给大家做示范吧。
一、在织梦后台添加文档原创属性判断框
我们在织梦后台添加文档原创属性判断框主要就是增加织梦的自定义文档属性,实现勾选文档原创属性判断框时,就提交为原创链接,否则就提交为普通链接。
先登录织梦网站后台,然后找到系统-SQL命令行工具,执行如下sql语句:
INSERT INTO `dede_arcatt` VALUES('9','y','原创'); alter table `dede_archives` modify `flag` set('c','h','p','f','s','j','a','b','y') default NULL;
然后,运行SQL命令行这一栏里面,我们要选择的是多行命令,接着我们就直接把上面这段sql语句复制进去,点击确定,最后你就能惊喜的看到,成功执行2个SQL语句!
具体请看下图所示:
成功执行这段sql语句之后,我们在织梦后台的系统-自定义文档属性这里面就可以看到如下结果:
然后,当我们在织梦后台发布文章时,通过勾选文档原创属性判断框即可,具体请看下图所示:
二、加入百度主动推送代码,做推送判断
我们主要是修改织梦后台的article_add.php和article_edit.php这两个文件来实现推送判断的效果。登录FTP,根据这个织梦网站的后台路径wwwroot/gxtcnet.cn/dede/就可以找到article_add.php和article_edit.php这两个文件了。
注意:康哥在这里是以文章页模型为例,如果大家想要修改产品页的,就修改相对应的模板即可。
先来修改一下article_add.php这个文件,康哥推荐大家使用Notepad++这个代码编辑器来进行修改。
打开了article_add.php这个文件之后,直接Ctrl+G定位到大概是259行这里(每个人的网站代码都不一样,自己找下大概的位置吧),然后我们就把百度主动推送核心代码直接复制粘贴到259行下面这个位置,如下图所示:
康哥在这里就给大家分享一下这段代码好了,然后你们自己把代码里面的API接口调用地址修改成自己的即可。
//主动推送核心代码开始 else{ $urls[]='http://'.$cfg_baiduhost.'/'.$artUrl; $api = 'http://data.zz.baidu.com/urls?site=www.gxtcnet.cn&token=RyVub75SqbRkLu0k'; $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); } //主动推送核心代码结束
百度主动推送核心代码加进去之后就保存,传回FTP覆盖掉原来那个文件。
如果你想要织梦后台文章发布成功之后有这样一个推送提示的效果,那么你就可以在大概是第287行的下面加入这段代码:<a href=''><u>百度提交返回".$result."</u></a>,具体可以看下图所示:
接着,我们再来修改下article_edit.php这个文件,修改方法也是跟之前那个文件一样。
同样是打开了article_edit.php这个文件之后,直接Ctrl+G定位到大概是242行这里,然后我们就把内容模块下的主动推送代码直接复制粘贴到242行下面这个位置,如下图所示:
康哥在这里也给大家分享一下这段代码,然后你们自己把代码里面的API接口调用地址修改成自己的即可。
//修改内容模块下的主动推送代码开始 else{ $urls[]='http://'.$cfg_baiduhost.'/'.$artUrl; $api = 'http://data.zz.baidu.com/urls?site=www.gxtcnet.cn&token=RyVub75SqbRkLu0k'; $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); } //修改内容模块下的主动推送代码结束
当我们把内容模块下的主动推送代码加进去之后就保存,也同样是传回FTP覆盖掉原来那个文件。
如果你想要织梦后台文章发布成功之后有这样一个推送提示的效果,那么你就可以在大概是在第270行的下面加入这段代码:<a href=''><u>百度提交返回".$result."</u></a>,具体可以看下图所示:
给这两个判断文件加完了推送判断代码之后,也就完成了一大半的工作了,还有两个关键的地方需要我们在织梦后台进行操作,那就是添加两条新变量!
由于目前为止,还是有很多朋友不懂得如何在织梦DedeCms添加新变量,康哥在这里就给大家支个招吧。
我们先来添加第一条变量吧,进入织梦(Dedecms)后台,依次打开系统-系统基本参数-添加新变量,然后你就能看到如下图所展示的内容了:
变量名称:指的是调用的函数,请填写以cfg_开头的英文或者是数字,我们这里就直接写:cfg_baiduhost
变量值:指的是输入框填写的内容,我们这里就写自己的网站域名:www.gxtcnet.cn
变量类型:指的是文字或者是数字之类的,这里我们就选择文本即可。当然了,如果你添加变量的内容比较长,那么就可以选择多行文本。
参数说明:指的是中文的命名,就是方便我们知道这个新变量这是干什么用的,我们这里就写:百度推送域名。
所属组:这个指的是你想在哪个管理组看到这个新变量,在这里我们就直接选择默认的站点设置即可。
设置完毕之后,我们单击保存变量,第一条变量也就添加成功了。
好了,接着再看下第二条变量是怎么添加进去的,刚才康哥已经给你们已经介绍过了这些变量的相关术语,在这里就不废话那么多了,直接上干货!
变量名称:cfg_baidutoken
变量值:RyVub75SqbRkLu0k(注意:主动推送接口的参数值请从百度搜索资源平台链接提交这里获取)
变量类型:文本
参数说明:主动推送接口
所属组:站点设置
设置完毕之后,我们就直接单击保存变量,这时候呢第二条变量也就添加成功了,下面这张截图就是添加第二条变量所展示的内容:
然后你在系统基本参数的底部这里是不是就看见多了这两条新的内容呢?一个是百度推送域名,另外一个就是主动推送接口,具体请看下面这张截图:
如果看到以上这两个新添加的变量,那么康哥就要恭喜你了,说明已经大功告成!
上面这个截图就是康哥随机发布的一篇测试文章,你看到这个效果了么?关键就是截图里面的这段代码,{"remain":4999954,"success":1} ,"remain":4999954,"这段代码的意思就是说:返回的是还可以提交的数量,"success":1这段代码意思是说:返回的是成功提交百度搜索引擎蜘蛛的数量,这就说明刚才的提交已经成功的主动提交了一条新链接给百度搜索引擎爬虫。
本文为原创文章,版权归作者所有,未经授权,禁止抄袭!
欢迎转载,转载请注明作者和出处,谢谢!
作者:刘连康
首发:刘连康博客
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫
1F
你好,这种方法测试了,是有效的,
但是对于未审核的文章,点击审核后,没有主动推送到百度,请问博主,这个审核文章并提交到百度的问题,有解决方法吗?
B1
@ 皮克斯 抱歉,目前还没有研究过这个未审核的文章,不过建议你可以找找看有没有相对应的模板,修改下应该就能解决。