niihost

WordPress免插件实现百度主动推送

在运营WordPress网站时,确保新发布的内容能迅速被搜索引擎如百度收录是非常重要的。百度主动推送是一种高效的方式,可以帮助你的网站内容更快地被搜索引擎抓取和索引。本文将详细介绍如何在不使用插件的情况下,通过WordPress实现百度主动推送功能。

一、准备工作

  1. 获取百度API推送接口地址
    • 登录百度搜索资源平台,进入你的站点管理后台。
    • 在“站点支持”菜单下,找到并点击“链接提交”。
    • 在“API推送”或类似选项中获取你的API推送接口地址,这通常包括你的站点域名和一个特定的token值。
  2. 确保WordPress具备编辑权限
    • 你需要能够访问并编辑WordPress主题的functions.php文件。这通常通过FTP软件或WordPress的内置编辑器完成。

二、添加代码到functions.php

  1. 快速收录代码
    如果你希望新发布的内容能被百度快速收录,可以使用以下代码:

  2. 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值。

  3. 普通收录代码
    如果你只需要普通收录,可以使用类似的代码,但不需要&type=daily参数:

  4. 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);
    }

三、保存并测试

  1. 保存functions.php文件
    • 将上述代码添加到你的WordPress主题functions.php文件的末尾,并保存文件。
  2. 测试推送
    • 发布一篇新文章,检查百度搜索资源平台上的“链接提交”页面,确认新文章的链接是否被成功推送。

四、注意事项

  • 避免重复推送:代码中使用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);
}

给TA赏糖
共{{data.count}}人
人已赏糖
技术分享

调节win11电脑屏幕亮度的方法

2024-11-29 14:30:14

技术分享

免插件实现WordPress禁止指定的关键字被搜索

2024-11-29 17:08:31

0 条回复 A文章作者 M管理员
技术宅评论
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索