IndexNow 是一种协议,允许网站所有者将其网站上的新内容或修改内容通知多个搜索引擎。目前有 Bing 和 Yandex 加入,据说 Google 也正在尝试接入 IndexNow。你只需要在网站页面发生变更时去通过这个协议 Ping 一下搜索引擎,这样加入 IndexNow 的搜索引擎就会被成功通知到,有利于搜索引擎快速的发现新 URL,实现网站的快速收录。
据微软称,许多大型网站(如 eBay、LinkedIn、MSN 和 GitHub)已经采用了 Bing Webmaster URL 提交 API 并计划迁移到 IndexNow。
当然子凡也在第一时间测试了各个接口,并且给泪雪旗下的所有网站升级支持 IndexNow 协议,由于涉及到自用的插件,所有子凡就单独把相关的 WordPress IndexNow 提交代码分享出来,代码如下(放置在当前使用主题的 functions.php 文件中即可):
//WordPress IndexNow
add_action('save_post','fanly_indexnow',10,3);
function fanly_indexnow($post_id, $post, $update){
if($post->post_status!='publish') return;
$key = '4fe21022a6554c5ca88ee4beb621f9f4';
$api = 'https://api.indexnow.org/indexnow';
$url = get_permalink($post_id);
wp_remote_post( add_query_arg( ['url'=>$url,'key'=>$key], $api ), [
'headers' => ['Content-Type'=>'application/json; charset=utf-8'],
'timeout' => 10,
'sslverify' => false,
'blocking' => true,
'body' => json_encode([
'host' => parse_url($url)['host'],
'key' => $key,
'urlList' => [$url]
])
]);
}
使用说明
$key:8 – 128 个十六进制字符。密钥只能包含以下字符:小写字母(a-z),大写字母(A-Z),数字(0-9),以及短破折号(-)。
$api:https://api.indexnow.org/indexnow 或 https://www.bing.com/indexnow 或 https://yandex.com/indexnow 三选一,推荐第一个或第二个。
以上代码中key 和api 的值是可以修改的,同时key 的值放置在当前网站根目录需要放置同名 txt 文件,例如:key = ‘4fe21022a6554c5ca88ee4beb621f9f4’;那么需要建立一个 4fe21022a6554c5ca88ee4beb621f9f4.txt 文件,且 txt 文件内容也为 4fe21022a6554c5ca88ee4beb621f9f4,放置在网站根目录。
若有不明白的可以在IndexNow 官网、Microsoft Bing查看相关文档。
除非注明,否则均为泪雪博客原创文章,禁止任何形式转载
本文链接:https://zhangzifan.com/wordpress-indexnow.html