提高百度收录:如何使用API提交之推送功能(实操)
百度搜索提供了一段自动推送的js代码,可将任意网页推送到搜索引擎,加快收录。
但是,这段代码并不是简单的增加到网页中万事大吉了!百度埋坑技术,你我都懂的!本文主要分享埋坑之自动推送JS代码的优化.
主动推送
百度资源平台链接: https://ziyuan.baidu.com/linksubmit/
- 获得token之前需要认证网站所有者权限和实名认证
- 下面详细介绍一下API提交中的PHP推送如何操作:
1.打开网址查看推送接口
2.代码获取 php推送示例,复制下面的实例代码:如下图
<?php
$urls = array(
'http://www.example.com/1.html',
'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=https://www.xxx.cn&token=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;
?>
- 将上面代码保存为php文件 baidu.php 文件上传至服务区根目录:
- 推送方式,访问 http://网站域名/baidu.php 即可。
成功后,反馈回来一串字符“{"remain":2995,"success":5}”,
说明推送成功。(remain:当天剩余的可推送url条数 ,success:成功推送的url条数)
以后需要主动推送时,直接修改根目录“baidu.php”文件中$urls的值,访问刚刚的链接地址 https://www.xxx.cn/baidu.php 即可完成。
PHP扩展
-
百度自动推送JS优化,规避错误、重复推送、判断文章是否收录:
-
操作较繁琐,无基础者建议不要操作!!!
<?php /* EMLOG百度搜索自动推送、主动收录JS优化 By AE博客 * 文章地址:https://cloud.tencent.com/developer/article/1135594 * 转载请保留出处,谢谢合作! */ function bdPushData($id){ $url=Url::log($id); if(baidu($url)==1){ echo '<!--本文已收录,不输出推送代码-->'; }else{ echo "<script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(bp, s); })(); </script>"; } } ?> <?php /* * 判断内容页是否百度收录,并且以博主和或者理员身份访问博客文章时自动向百度提交未收录的文章 * */ function baidu($url){ $url='http://www.baidu.com/s?wd='.$url; $curl=curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl); if(!strpos($rs,'没有找到')){ return 1; } else{ return 0; } } function checkbaidu($id){ $url=Url::log($id); if(baidu($url)==1){ echo "百度已收录"; } else { if (ROLE == 'admin' || ROLE == 'writer') { $urls = array($url,); $api = 'http://data.zz.baidu.com/urls?site=www.aeink.com&token=DbHncVZJcV3FzstQ'; $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 '已自动提交给度娘'; } echo "<a style=\"color:red;\" rel=\"external nofollow\" title=\"点击提交收录\" target=\"_blank\" href=\"http://zhanzhang.baidu.com/sitesubmit/index?sitename=$url\">坐等收录</a>"; } } ?>
-
操作说明:
如上PHP代码,添加到主题module.php即可。当页面未被百度收录,将会输出百度自动推送js代码,否则不会输出。
在模板的footer.php文件中前调用<?php echo bdPushData($logid);?>即可。
在模板的echo_log.php文件中调用<?php echo checkbaidu($logid);?>即可。 -
效果如下:
发表评论