分享一个本人自己编写的一个wordpress自动提交百度的代码,写这个代码的原因是网上现有的自动提交插件使用效果不太理想功能也不简介,大部分插件包含了一些其他的功能有的插件还收费,所以自己研究了一下,后续看看能不能写成wordpress插件。

实现方法是使用sql语句随机取2000篇文章ID然后通过wordpress提供的get_permalink方法获取文章的链接

使用的话在网站根目录新建一个baidu.php文件 把$api里的网站链接|token修改成你的然后在宝塔计划任务里设置时间点自动访问URL实现自动提交

<?php   
    include ("wp-config.php");
    global $wpdb;
    $site = "https://" . $_SERVER['HTTP_HOST'] . "/";
    # 取随机2000条数据
    $sql="SELECT ID FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY RAND() LIMIT 2000";
    $myrows = $wpdb->get_results($sql);
    $urls = array();
    foreach ($myrows as $b) {
        $id = $b->ID;
        # 通过文章id获取文章URL
        array_push($urls, get_permalink($id));
        // array_push($urls, $site.$id.".html");
    }
    
    # 百度提交
    $api = 'http://data.zz.baidu.com/urls?site=https://blog.xiaobaicai.fun&token=wt52u8R72K2O6cI3';
    $ch = curl_init();
    $options =  array(
        CURLOPT_URL => $api,
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS => implode("\n", $urls),
        CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
    );
    curl_setopt_array($ch, $options);
    $result = curl_exec($ch);
    echo $result;
?>