如何通过 PHP 脚本实现 WordPress 文章自动提交到 Bing 搜索引擎,确保新文章能够被 Bing 及时收录。

以下是一个详细的教程,介绍如何通过 PHP 脚本实现 WordPress 文章自动提交到 Bing 搜索引擎,确保新文章能够被 Bing 及时收录。

一、前置条件

  1. Bing 站长平台账号:前往 Bing Webmaster Tools 注册并验证你的网站。
  2. Bing API 密钥:在 Bing 站长平台中获取 API 密钥,用于通过 API 接口提交 URL。
  3. WordPress 网站:确保你的 WordPress 版本为 6.6.2 或更高。

二、创建推送脚本

1. 创建脚本文件

在 WordPress 根目录下创建一个名为 bing_push.php 的文件,并将以下代码粘贴进去。
php复制
<?php
// 加载 WordPress 环境
require_once('./wp-load.php');

// 设置 Bing API 配置
define('BING_API_KEY', '你的BingAPI密钥'); // 替换为你的 Bing API 密钥
define('BING_PUSH_URL', 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlBatch?apikey=' . BING_API_KEY);

// 获取当天发布的文章 URL
function get_today_posts_urls() {
    $args = array(
        'date_query' => array(
            array(
                'year' => date('Y'),
                'month' => date('m'),
                'day' => date('d')
            ),
        ),
        'post_type' => 'post',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'fields' => 'ids'
    );

    $query = new WP_Query($args);
    $urls = array();

    if ($query->have_posts()) {
        foreach ($query->posts as $post) {
            $urls[] = get_permalink($post);
        }
    }

    return $urls;
}

// 提交 URL 到 Bing
function submit_urls_to_bing($urls) {
    if (empty($urls)) return;

    $data = json_encode(array('siteUrl' => home_url(), 'urlList' => $urls));
    $headers = array('Content-Type: application/json', 'charset=utf-8');

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, BING_PUSH_URL);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
}

// 执行推送
$urls = get_today_posts_urls();
$response = submit_urls_to_bing($urls);

if ($response) {
    echo "提交成功!Bing 返回结果:<br>";
    echo "<pre>" . print_r(json_decode($response, true), true) . "</pre>";
} else {
    echo "提交失败,请检查 API 密钥和网络连接。";
}

2. 修改 API 密钥

将代码中的 '你的BingAPI密钥' 替换为你的 Bing API 密钥。

三、运行脚本

将脚本部署到服务器后,可以通过浏览器访问 https://yourdomain.com/bing_push.php 来运行脚本。脚本会自动获取当天发布的文章 URL 并提交到 Bing。

四、自动化提交(可选)

为了实现自动化,可以通过以下方式:
  1. 定时任务(Cron Job):在服务器上设置定时任务,定期运行 bing_push.php 脚本。
  2. WordPress 钩子:将提交逻辑添加到 save_post 钩子中,确保文章发布时自动提交。
以下是一个示例代码,将提交逻辑添加到 functions.php 文件中:
php复制
function submit_to_bing($post_ID, $post, $update) {
    if (wp_is_post_revision($post_ID) || wp_is_post_autosave($post_ID)) return;
    if (get_post_meta($post_ID, 'Bingsubmit', true) == 1) return;

    if ($post->post_status == 'publish' && $post->post_type == 'post') {
        $url = get_permalink($post_ID);
        $data = json_encode(array('siteUrl' => home_url(), 'urlList' => array($url)));
        $headers = array('Content-Type: application/json', 'charset=utf-8');

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, BING_PUSH_URL);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        curl_exec($ch);
        curl_close($ch);

        add_post_meta($post_ID, 'Bingsubmit', 1, true);
    }
}
add_action('save_post', 'submit_to_bing', 10, 3);

通过以上步骤,你可以实现 WordPress 文章自动提交到 Bing 搜索引擎,从而加快文章的收录速度。

[自动更新内容]

  •    

    腾讯云服务器限时活动

       

    2核2G云服务器 仅需599元/3年!

        立即了解