将网站新内容提交到百度,有利于网站SEO。百度搜索资源平台提供了主动推送链接的接口,可以免去我们手动提交链接的麻烦。
尽管曾有插件可实现这一功能,但总所周知,给WordPress添加过多插件并非一个明智的选择。这种能用几行代码实现的单一功能,咱们还是用代码实现吧。
我根据百度搜索资源平台提供的主动推送接口示例,编写了WordPress的主动推送代码,将下面的代码添加到你正在使用的主题的function.php文件最后、或者插件代码中添加,并将代码中的example_token替换成你在百度搜索资源平台获取的URL和Token即可。
// Push To Baidu
function push_to_baidu_zz($post_id, $post, $update){
$site_url = site_url();
$token = 'xxxxxxxxx'; //这里需要自行替换
if($post->post_status != 'publish'){
return;
}
$baidu_zz_api_url = 'http://data.zz.baidu.com/urls?site='.$site_url.'&token='.$token;
$response = wp_remote_post($baidu_zz_api_url, array(
'headers' => array('Accept-Encoding'=>'','Content-Type'=>'text/plain'),
'sslverify' => false,
'blocking' => false,
'body' => get_permalink($post_id)
));
}
add_action('save_post', 'push_to_baidu_zz', 10, 3);
代码逻辑很简单。在保存文章时,判断文章状态是否为发布,如果是文章状态是发布,那么就用Post提交文章链接到百度的接口。