WordPress文章自动推送百度收录

管理网站时发现百度不支持sitemap索引型,正好也不折腾站点地图了,可以接入百度站长平台的普通收录api自动推送,每次更新文章或发布新的文章都会自动推送给百度,不用自己进行提交。

代码示例


//百度自动推送
if(!function_exists('Baidu_Submit')){
function Baidu_Submit($post_ID) {
$WEB_TOKEN = 'token值'; //这里请换成你的网站的百度主动推送的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);
}

使用方法

放在主题模板中的函数文件中(functions.php),token值参数,可到百度站长把网站验证后,点击普通收录,就会有token值,填入以上示例即可,如已发布的文章可点击更新即可推送到百度。

怎么查看是否推送成功

推送成功则在文章新增自定义栏目Baidusubmit,值为1,如已隐藏自定义栏目 文章上方的显示选项勾选就可以了。