代碼實現WordPress主動推送及自動推送至百度搜索收錄
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
站長們辛辛苦苦寫的文章,無非就是讓百度收錄,也可以幫助人,也可以給自己站或者幫人優化的站帶來流量,今天就來發一篇關于wordprss主動推送給百度的方法;
使用方法,U8格式放在wp當前模板functions.php里即可
/**
* 以下代碼主動推送及自動推送至百度搜索收錄
*/
if(!function_exists('Baidu_Submit')){
?? ?function Baidu_Submit($post_ID) {
?? ? ? ?$WEB_TOKEN? = 'xxxxxxxxxxxx';? //這里請換成你的網站的百度主動推送的token值
?? ? ? ?$WEB_DOMAIN = get_option('home');
?? ? ? ?//已成功推送的文章不再推送
?? ? ? ?if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
?? ? ? ?$url = get_permalink($post_ID);
?? ? ? ?$api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;
?? ? ? ?$request = new WP_Http;
?? ? ? ?$result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
?? ? ? ?$result = json_decode($result['body'],true);
?? ? ? ?//如果推送成功則在文章新增自定義欄目Baidusubmit,值為1
?? ? ? ?if (array_key_exists('success',$result)) {
?? ? ? ? ? ?add_post_meta($post_ID, 'Baidusubmit', 1, true);
?? ? ? ?}
?? ?}
?? ?add_action('publish_post', 'Baidu_Submit', 0);
}
/**
* WordPress百度搜索自動推送、主動收錄JS優化
* 轉載請保留出處,謝謝合作!
**/
add_action( 'wp_footer', 'bdPushData', 999);
?
if(!function_exists('baidu_check_record')){
? function baidu_check_record($url,$post_id){
?? ?$baidu_record? = get_post_meta($post_id,'baidu_record',true);
?? ?if( $baidu_record != 1){
?? ? ? ?$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( BD_PUSH == 'yes' && !preg_match_all('/提交網址/u',$rs) && preg_match_all('/百度為您找到相關結果/u',$rs)){
?? ? ? ? ? ?update_post_meta($post_id, 'baidu_record', 1) || add_post_meta($post_id, 'baidu_record', 1, true);
?? ? ? ? ? ?return 1;
?? ? ? ?} else {
?? ? ? ? ? ?return 0;
?? ? ? ?}
?? ?} else {
?? ? ? return 1;
?? ?}
? }
}
?
if(!function_exists('bdPushData')){
? function bdPushData() {
?? ?global $wpdb;
?? ?$post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
?? ?$currentUrl = home_url(add_query_arg(array()));
?? ?//這里修改了下:給get_permalink指定了文章ID
?? ?if(baidu_check_record(get_permalink($post_id), $post_id) == 0 && $currentUrl == get_permalink($post_id)) {
?? ? ? ?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);
?? ? ? ? ? ?})();
?? ? ? ? ? ?(function(){
?? ? ? ? ? ? ? ?var src = (document.location.protocol == 'http:') ? 'http://js.passport.qihucdn.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7':'https://jspassport.ssl.qhimg.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7';
?? ? ? ? ? ? ? ?document.write('<script src=\"' + src + '\" id=\"sozz\"><\/script>');
?? ? ? ? ? ?})();</script>";
?? }
?}
}
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!