IndexNow 是一种协议,允许网站所有者将其网站上的新内容或修改内容通知多个搜索引擎。目前有 Bing 和 Yandex 加入,据说 Google 也正在尝试接入 IndexNow。你只需要在网站页面发生变更时去通过这个协议 Ping 一下搜索引擎,这届加入 IndexNow 的搜索引擎就会被成功通知到,有利于搜索引擎快速的发现新 URL,实现网站的快速收录。
在我玩WordPress的那个年代,很多人不喜欢用插件,相同功能偏偏喜欢在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查看相关文档。