wordpress本身是有很多小伙伴有制作免费的百度主动推送插件,甚至是必应的,其他平台因为都是用sitemap进行提交内容的,所以并没有推送功能和插件;但是问题来了,wordpress插件越多,后台越卡,主要是插件里面包含了js和css,插件越多,加载的js和css就越多,后台也就越卡,所以一点优化在这里给自己的主题写的,下面贴代码。
百度站长后台提供的推送代码说明:
$urls = array(//这里是需要推送的链接 'http://www.example.com/1.html', 'http://www.example.com/2.html', ); $api = 'http://data.zz.baidu.com/urls?site=你的域名&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推送代码,我们可以改成下面这样
<?php //普通收录提交 function baidu_ordinary($post_ID) { $ydb_token = 这里填入准入匙; $ydb_home = home_url(); if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return; $url = get_permalink($post_ID); $api = 'http://data.zz.baidu.com/urls?site='.$ydb_home.'&token='.$ydb_token; $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => $url, CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result = json_decode(curl_exec($ch),true); if (array_key_exists('success',$result)) { add_post_meta($post_ID, 'Baidusubmit', 1, true); } } add_action('publish_post', 'baidu_ordinary', 0);
看了上面的是不是非常简单,当然还在测试阶段,不知道会不会出问题,有问题再修吧