空白网络|资源分享基地

利用代码百度主动推送和自动推送

前言

为了实现百度推送让网站更好的收录,我在之前下载了百度的数据化链接插件,结果悲剧的事情发生了,一行大大的红字提示我,加载失败...日

为了实现主动推送,于是在网上找到了一下代码

代码

//百度推送代码
/**
* WordPress发布文章主动推送到百度,加快收录保护原创【WordPress通用方式】
*/

if (akina_option('baidu_token')) {
if (!function_exists('Baidu_Submit')) {
function Baidu_Submit($post_ID)
{
$WEB_TOKEN = akina_option('kmuDN7R878Q4EW7c'); //这里请换成你的网站的百度主动推送的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)
{
global $wpdb;
$post_id = (null === $post_id) ? get_the_ID() : $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 (!preg_match_all('/提交网址/u', $rs, $matches) && preg_match_all('/百度为您找到相关结果/u', $rs, $matches)) {
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;
}
}
}

食用方法

打开你的WordPress后台,找到外观,编辑,将代码放在你的functions.php中

如果你不知道什么是百度token值,那就百度一下 查看如何获取百度token值

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。