华纳云香港服务器

WordPress站点纯代码实现通过IndexNow自动提交URL到多个搜索引擎

WordPress主题推荐

前面boke112百科跟大家分享了WordPress站点使用IndexNow的方法有三个,其一是『使用Cloudflare网站如何一键开启IndexNow功能及时通知搜索引擎?』,其二是『WordPress站点通过IndexNow Plugin插件可自动提交URL到多个搜索引擎』,今天我们继续分享其三,即是通过纯代码来实现。具体步骤如下:

1、生成并上传txt文件

我们可自定义生成一个8位以上的字符串key如1234abcd56789efgh,将这个key值复制粘贴到记事本中,并保存命名为1234abcd56789efgh.txt,然后将这个txt文件上传到网站根目录中。当然,如果你不知道如何生成这个key值,也可以点此前往必应生成API密钥工具 – 点击【Generate】按钮即可自动生成一个全新的key值 – 点击下载图标按钮即可将该key值对应的txt文件下载到本地 – 将该txt文件上传到网站根目录即可。

WordPress站点纯代码实现通过IndexNow自动提交URL到多个搜索引擎-第1张-boke112百科(boke112.com)

2、确定URL提交节点

目前IndexNow有以下3个提交节点:

  • IndexNowhttps://api.indexnow.org/indexnow?url=你的链接&key=你的key
  • Microsoft Binghttps://www.bing.com/indexnow?url=你的链接&key=你的key
  • Yandexhttps://yandex.com/indexnow?url=你的链接&key=你的key

考虑到速度问题建议选择微软必应的节点,然后把要提交的URL和第1步生成的key以GET方式提交给IndexNow就可以了。

3、添加功能代码到functions.php文件

将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。

function ludouIndexNowPing($post_id) {
if (wp_is_post_revision($post_id) || get_post_status($post_id) != 'publish')
return;

// 这里改成你自己的key
$key = '1234abcd56789efgh';
// 这里改成你自己的邮箱
$mail = '[email protected]';

$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', 'ludouIndexNowPing');

说明:

1、以上代码来自@露兜即刻 https://www.ludou.org/wordpress-indexnow-ping-search-engine.html

2、记得将上述代码中的Key值和邮箱地址修改为自己站点对应的key值(即是第1步获得的Key值)和邮箱地址。

3、上述代码第11行代码中的$api也可以更换为其他另外两种节点地址,不过建议选择必应节点比较好。

至此,我们的WordPress站点已经成功通过纯代码实现了IndexNow功能,以后站点发布新文章或修改后保存文章,就会自动通过IndexNow协议将链接提交到多个搜搜引擎,而且不管提交是否成功都会给我们的邮箱发一个通知邮件。

本文地址:https://boke112.com/post/10027.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu