如果你想了解更多关于dedecms的知识。可以点击:DEDECMS教程
dedecms后台查询文章在百度是否收录,这个属于小功能,网上也有别的大神做的同类功能,但是找到的都收费,而且在我看来很贵,并且很臃肿,用的ajax动态更新,感觉没必要,文章只要被百度收录了,并不是每天都更新,我们只需要知道这篇文章是否被收录就够了。也许一个月查一次,一个星期查一次都行,不需要每次打开列表都查询,太费资源了。基于此,本人不才,拼凑了这个小功能,并没有借鉴任何人的程序,本人也属于php菜鸟,对php懂得很少,也许程序不够完善,但在我看来,的确够用了。
注:由于考虑不周,网站内页地址不是伪静态形势的,用起来会很麻烦,下载请谨慎。
首先奉上效果图:
一、了解本插件实现的功能。
DEDECMS后台查询文章在百度是否收录插件,基于dede后台中的文档批量维护功能制作,是在数据主表 archives 中添加了一个字段 kdate,存储百度快照数据,后台查询每篇文章是否在百度存在快照,如果不存在则写入未收录,如果存在,则写入快照日期。
二、具体实现方法
1.下载压缩包,解压后得到模块文件,在后台上传模块并安装。
2.安装后插件是不能正常使用的,需要做如下操作:(注:安装后不能使用是因为作者的后台文件都有改动,并不是原始的,又不想去更换原始的。怕用户安装以后出问题,所以模块包并没有把模版包含进去。)
打开后台目录dede/templets/content_batch_up.htm
,找到:“删除文档”四个字,在其下面添加:
<input name="action" type="radio" class="np" id="delradio" value="zhizhu" onClick="ShowHideMove()" /> 验证是否被百度收录
这个主要是在 核心-批量维护-文档批量维护 页面中添加 验证是否被百度收录 选项,本插件就是依托于文档批量维护功能,如下图:
打开zhizhu.php找到:
$domain = "http://www.daimajiayuan.com/sitejs-".$id."-1.html";/*欲查询的页面*/
作者并不知道你的页面地址是什么,所以需要你手工来改动。$id是文章的id,两侧双引号中的代码根据你自己的url更改,如果用的是伪静态,那最简单不过了。如果是动态地址,例如这样的地址:
http://www.xxx.com/plus/view.php?aid=11824
需要改为:
$domain = "http://www.xxx.com/plus/view.php?aid=".$id;/*欲查询的页面*/
打开dede/templets/content_list.htm文件,找到:
colspan="10"
改为:
colspan="11"
(会html的同学应该懂吧。)这是开始增加表格列,找到
<td width="8%">权限</td>
在后边加入:
<td width="8%">快照日期</td>
这个百分比自己把握哦,然后再找到:
<td>{dede:field.arcrank function="GetRankName(@me)"/}</td>
在后边加入:
<td>{dede:field.kdate/}</td>
打开content_list.php,找到:
$query = "SELECT arc.id,arc.typeid,arc.senddate,arc.flag,arc.ismake,
在半角逗号后边加入
arc.kdate,
到此,代码的改动工作就完了。去后台试试功能。
在核心--批量维护--文档批量维护中,你可以选择按栏目来,也可以选择ID范围来,如上图所示那样,结束后会显示下图。
查询完以后你就知道,你那篇文章没被收录喽。据我自己的使用情况,1W篇文章大概需要40分钟的时间来查询。准确率在99%以上,为什么这么说呢,因为网络原因,可能会有一点网址抓取超时而跳过。不过已经在程序里边尽量避免了。对此情况,请勿喷。
以上是dedecms文章怎么判断是否收录的详细内容。更多信息请关注PHP中文网其他相关文章!