织梦dedecms发布文档提交原创保护到百度

前提条件:您要先拥有百度的原创保护提交权限

通过百度原创保护权限您会发现,其实百度的原创提交只和链接提交多了一个类型:type=original

比如您的链接提交为:http://data.zz.baidu.com/urls?site=网址&token=token值

那么原创提交链接为:http://data.zz.baidu.com/urls?site=网址&token=token值&type=original

这样的话就比较容易了,在这里我是通过给织梦加自定义文档属性实现的,当勾选文档属性为原创时候,就提交原创链接,否则提交普通链接,做一个判断即可。

先增加一个自定义文档属性,您需要执行一段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;



发布文档时候勾选原创属性即可:




然后修改织梦后台文件article_add.php和article_edit.php 这里是以文档模型为例子,如果需要修改其他模型,请自行改下,主要是加入以下推送文件,在推送时候做判断。


  if($artUrl=='')
    {
        $artUrl = $cfg_phpurl."/view.php?aid=$id";
       }else{
$aurls[]='http://'.$cfg_baiduhost.'/'.$artUrl;  
if(strpos($flag,'y') !== false) 
{
$api = 'http://data.zz.baidu.com/urls?site='.$cfg_baiduhost.'&token='.$cfg_badutoken.'&type=original';
}
else
{
$api = 'http://data.zz.baidu.com/urls?site='.$cfg_baiduhost.'&token='.$cfg_badutoken;
}
$ch = curl_init();
$options =  array(
    CURLOPT_URL => $api,
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode("\n", $aurls),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
}


很多人不想动手,那么我就分享下懒人包:点我下载

这样的话前台的调用也方便多了,调用flag属性为y的即可。

出现如下图的提示,表示提交成功


成功返回示例:
 
{
    "remain": 4999999,
    "success": 1,
    "remain_original": 9,
    "success_original": 1
}
 
 
失败返回示例:
 
{
    "error":401,
    "message":"token is not valid"
}