不使用插件实现IndexNow API提交WordPress文章链接

2022-04-11 646阅读

温馨提示:这篇文章已超过747天没有更新,请注意相关的内容是否还可用!

IndexNow:引易于使用的协议,每当更新或创建任何 URL 上的网站内容时,网站都可以调用该协议来通知 Bing,从而允许即时抓取和发现 URL。

之前微软已经发布了IndexNow WordPress插件,AIOSEO也集成了IndexNow的功能,如果不是用插件,又怎么使用IndexNow API提交WordPress文章链接呢?

获取IndexNow API Key

通过Generate API Key获取到IndexNow API Key,按照说明在网站根目录保持好txt文件。

WordPress集成IndexNow

在WordPress主题文件functions.php中或者使用Code Snippets插件添加自定义代码:

function index_now($post_id) {
    if (wp_is_post_revision($post_id) || get_post_status($post_id) != 'publish')
        return;
 
    // 这里改成你自己的key
    $key = '8507100c30bc479f8bd926df489e0c8e';
    // 这里改成你自己的邮箱
    $mail = 'ex@example.com';
 
    $url = get_permalink($post_id);
    $api = 'https://www.bing.com/indexnow?url=' . $url . '&key=' . $key;
 
    $request = new WP_Http;
    $result = $request->get( $api );
 
    if ($result['response']['code'] == '200')
      @wp_mail($mail, '新文章通知IndexNow', '成功: ' . $url);
    else
      @wp_mail($mail, '新文章通知IndexNow', '失败: ' . $url);
}
 
add_action('save_post', 'index_now');

邮箱是用于通知API提交成功与否。