EMLOG擴展 - 百度自動推送JS優化,規避錯誤、重復推送、判斷文章是否收錄

導讀:關注SEO、關注收錄的站長,應該都知道百度搜索提供了一段自動推送的js代碼,可將任意網頁推送到搜索引擎,加快收錄。但是,這段代碼并不是簡單的增加到網頁中萬事大吉了!百度埋坑技術,你我都懂的!本文主要分享埋坑之自動推送JS代碼的優化...

功能介紹:

根據以前有人發的判斷文章是否收錄的功能。具體作者忘了。拓展出展示js推送代碼

優點:

1.判斷文章是否收錄,來進行展示。

2.避免重復推送,防止占用推送額度。

3.防止因推送頻繁造成的負面影響

缺點:

操作較繁瑣,無基礎者建議不要操作!!!

<?php
/* EMLOG百度搜索自動推送、主動收錄JS優化 By AE博客
 * 文章地址:http://www.zoe725.cn/210.html
 * 轉載請保留出處,謝謝合作!
 */
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.zoe725.cn&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文件中</html>前調用<?php echo bdPushData($logid);?>即可。

在模板的echo_log.php文件中調用<?php echo checkbaidu($logid);?>即可。

轉載請注明出處 AE博客|墨淵 ? EMLOG擴展 - 百度自動推送JS優化,規避錯誤、重復推送、判斷文章是否收錄

發表評論

路人甲

網友評論(7)

為什么我在module.php插入代碼以后打不開網站了
小浣熊 8年前 (2017-02-15) 回復
@小浣熊:問題1。可能與該主題沖突。2你沒有改對。破壞了原有文件
墨淵 8年前 (2017-02-15) 回復
@墨淵:模板是大前端應該不會有沖突吧,我就是直接復制粘貼都打不開
小浣熊 8年前 (2017-02-15) 回復
@小浣熊:加在文件末尾。不要用記事本修改,如果還是不行建議你放棄
墨淵 8年前 (2017-02-15)
@墨淵:………服
小浣熊 8年前 (2017-02-15) 回復
@墨淵:………服
小浣熊 8年前 (2017-02-15) 回復
不錯,文章先拿走了
?靨殤 9年前 (2016-07-04) 回復