在运营WordPress网站时,确保新发布的内容能迅速被搜索引擎如百度收录是非常重要的。百度主动推送是一种高效的方式,可以帮助你的网站内容更快地被搜索引擎抓取和索引。本文将详细介绍如何在不使用插件的情况下,通过WordPress实现百度主动推送功能。
一、准备工作
- 获取百度API推送接口地址:
- 登录百度搜索资源平台,进入你的站点管理后台。
- 在“站点支持”菜单下,找到并点击“链接提交”。
- 在“API推送”或类似选项中获取你的API推送接口地址,这通常包括你的站点域名和一个特定的token值。
- 确保WordPress具备编辑权限:
- 你需要能够访问并编辑WordPress主题的
functions.php
文件。这通常通过FTP软件或WordPress的内置编辑器完成。
- 你需要能够访问并编辑WordPress主题的
二、添加代码到functions.php
快速收录代码:
如果你希望新发布的内容能被百度快速收录,可以使用以下代码:普通收录代码:
如果你只需要普通收录,可以使用类似的代码,但不需要&type=daily
参数:
if (!function_exists('Baidu_Submit')) {
function Baidu_Submit($post_ID) {
// 已成功推送的文章不再推送
if (get_post_meta($post_ID, 'Baidusubmit', true) == 1) return;
$url = get_permalink($post_ID);
$api = 'http://data.zz.baidu.com/urls?site=你的站点域名&token=你的准入密钥&type=daily';
$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 = curl_exec($ch);
$result = json_decode($result);
if ($result->success_daily) {
add_post_meta($post_ID, 'Baidusubmit', 1, true);
}
}
add_action('publish_post', 'Baidu_Submit', 0);
}
注意将$api
中的你的站点域名
和你的准入密钥
替换为你实际的域名和从百度搜索资源平台获取的token值。
if (!function_exists('Baidu_Submit')) {
function Baidu_Submit($post_ID) {
// 已成功推送的文章不再推送
if (get_post_meta($post_ID, 'Baidusubmit', true) == 1) return;
$url = get_permalink($post_ID);
$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 => $url,
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$result = json_decode($result);
if ($result->success) {
add_post_meta($post_ID, 'Baidusubmit', 1, true);
}
}
add_action('publish_post', 'Baidu_Submit', 0);
}
三、保存并测试
- 保存
functions.php
文件:- 将上述代码添加到你的WordPress主题
functions.php
文件的末尾,并保存文件。
- 将上述代码添加到你的WordPress主题
- 测试推送:
- 发布一篇新文章,检查百度搜索资源平台上的“链接提交”页面,确认新文章的链接是否被成功推送。
四、注意事项
- 避免重复推送:代码中使用
add_post_meta
函数来记录已经推送过的文章ID,以避免重复推送。 - 安全性:编辑
functions.php
文件时要小心,错误的代码可能会导致WordPress站点出现问题。建议在编辑前备份该文件。 - API限制:百度对API推送有频率限制,请确保你的推送频率在合理范围内。
通过以上步骤,你可以在不使用插件的情况下,实现WordPress网站的新文章自动推送给百度,从而加快内容被搜索引擎收录的速度。
技术宅使用的代码:
//百度提交数据 需要更换TOKEN
if(!function_exists('Baidu_Submit')){
function Baidu_Submit($post_ID) {
$WEB_TOKEN = 'XXXXXX'; //更换当前网站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);
}