WordPress果果推送插件使用教程

插件下载地址:https://www.ggdoc.cn/plugin/1.html

快速使用

① 确保已经安装好插件,并且启用了插件。

② 根据需要,设置好自己需要推送链接的搜索引擎平台。

③ 在定时推送页面中配置好需要定时推送链接的搜索引擎平台。设置好后,就可以在定时任务界面查看到计划任务的运行状态。

为了确保能够定时推送网站链接,您应该定时访问上面红框中的网址。(定时推送依赖于WordPress计划任务功能,如果WordPress计划任务不能运行,则无法定时推送)

如果您不需要定时推送,则不需要定时访问上面红框中的网址。

如果定时访问上面红框中的网址依旧不能推送,请自行检查配置是否正确、WordPress是否优化过、是否禁止了WordPress计划任务运行。

④ 如果一切正常,就可以在推送记录列表查看到推送的记录。

⑤ IndexNow在第一次推送时,可能会出现推送状态未知的情况。这是正常的,因为它在第一次推送时,需要验证密钥是否正确。

设置说明

推送记录

可以查看推送列表数据,每一次推送都会存一条记录到数据表中。保存的数据有: 推送平台、 推送文章、推送链接数量、 推送状态、推送结果状态码、推送时间。

推送平台:1 百度,2 360,3 搜狗,4 头条,5 神马,6 bing,7 谷歌,8 indexnow,9 yandex,10 Seznam.cz。

推送文章:1 普通收录,2 快速收录,3 js提交,4 api提交,5 indexnow。

如果推送记录过多,可以通过删除功能删除记录。

如果推送失败了,可以通过详情链接查看失败原因。

定时任务

可以查看定时推送的计划任务运行状态,为了确保定时任务稳定运行,您需要定时访问:http://您的域名/wp-cron.php。

wp-cron.php 为WordPress自带的运行脚本,通过直接访问它,就可以运行定时任务。

那么如何做到定时访问 http://您的域名/wp-cron.php ?

如果您用的是宝塔,可以直接在计划任务里添加网址监控即可。

如果您用的是服务器,可以通过计划任务脚本运行。例如:*/15 * * * * wget --delete-after http://您的域名/wp-cron.php

总之,可以通过各种监控网站功能,将 http://您的域名/wp-cron.php 添加到网址监控里即可。

监控网站一般都需要设置多久访问一次,这个时间可以根据您的服务器情况设置。设置的越小,则计划任务运行的更完美。

如果您开启了上面网址的监控,您应该需要在网站配置文件(wp-config.php)中添加define('DISABLE_WP_CRON', true);,禁止用户访问时执行定时任务,因为一般的定时任务很耗时。

参考链接:https://developer.wordpress.org/plugins/cron/hooking-wp-cron-into-the-system-task-scheduler/

基本设置

菜单显示位置:某些用户有强迫症,通过这个设置可以将插件菜单显示在任何一个主菜单下面。

请求超时时间:所有的推送请求超过多少秒后,自动停止推送,默认为30秒。

推送记录:可以保存或者不保存推送记录。

通用设置说明

推送间隔:多少分钟推送一次,设置为0则不推送。

每次推送链接数量:根据您每天的最大配额以及推送间隔,就可以得到这个数量。

例如:每天推送的链接总量限制为3000条,如果您的推送间隔设置为60分钟推送一次,也就是1个小时推送一次,那么每次推送链接的数量为:3000 / 24 = 125。

注意:某些搜索平台每次提交的最大链接数量和每天推送的链接数量是有限制的。

推送文章:如果选择最新,则每次推送最新的文章。如果选择随机,则每次推送随机的文章。如果选择伪随机,则每次推送时,先随机获取到一个数字,这个数字介于0到最大文章ID之间,然后推送大于这个随机数字的文章。

随机伪随机
适用情况服务器配置好,文章少服务器配置差,文章多
是否真随机是,推送的文章ID随机否,推送的文章ID具有连续性
假如最大文章ID为10,每次推送链接数量为2,则推送的文章ID可能是?1到10之间的随机2个数字可能是2,3。或者4,5。反正就是连续的2个文章ID

发布文章后推送:建议只开启必要的推送平台,如果全部都开启的话,会造成发布文章很慢,因为它会将链接向每个搜索平台提交,这会很耗时的。

百度推送设置

准入密钥:打开百度搜索资源平台,找到资源提交 – 普通收录页面,找到API提交地址。

例如:

接口调用地址:http://data.zz.baidu.com/urls?site=https://www.ggdoc.cn&token=Fs6pS8kIqgd0V1Ix

则准入密钥填写的值应为:Fs6pS8kIqgd0V1Ix

也就是地址中的token参数的值。

神马推送设置

站长平台账号:登录时的账号,一般为邮箱账号。

Authkey:可以在MIP数据提交页面找到。

神马推送只是MIP数据提交,请须知。

自动收录设置

头条自动收录密钥:打开头条站长平台,找到数据提交 – 自动收录页面,找到js提交代码。

例如:

<script>
(function(){
var el = document.createElement("script");
el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?5283b20ed64d1de0cf9795682aeaeb6a074332a4dae25af38e8c8b70467a260bc112ff4abe50733e0ff1e1071a0fdc024b166ea2a296840a50a5288f35e2ca52";
el.id = "ttzz";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(el, s);
})(window)
</script>

则上面的 5283b20ed64d1de0cf9795682aeaeb6a074332a4dae25af38e8c8b70467a260bc112ff4abe50733e0ff1e1071a0fdc024b166ea2a296840a50a5288f35e2ca52 为需要填入的值。

也就是填写 push.js? 后面的一串值。

必应推送设置

API密钥:登录必应站长后台,依次打开 设置(页面右上方)、API 访问、API 密钥,就可以看到API 密钥,复制密钥填入即可。

谷歌推送设置

密钥:请打开:https://developers.google.com/search/apis/indexing-api/v3/prereqs?hl=zh-cn ,按照页面上的步骤获取到json密钥(管理服务帐号密钥)文件,无需关心代码部分,只需要完成申请密钥和网站配置操作即可。

此处填写的内容就是这个json密钥文件中的所有内容。

需要注意的是,您的服务器能否访问谷歌相关网站,如果不能访问,则不可以使用谷歌推送。

注意:上面获取到谷歌密钥后,需要在API和服务中启用Indexing API功能(可在页面上方中间的搜索框内搜索Indexing API)方可推送链接。同时,需要确保在谷歌站长平台中的服务账号(电子邮件地址对应的用户)有拥有者权限(在设置 – 用户和权限)。

Token获取代理接口地址:如果您的服务器无法访问谷歌,可以通过中间代理服务器来推送。

您需要在代理服务器中创建一个php文件,然后在设置中填写这个php文件的访问链接地址。

示例代码:

<?php
$grant_type = '';
$assertion = '';
if (!empty($_POST['grant_type'])) {
    $grant_type = $_POST['grant_type'];
} else {
    http_response_code(403);
}
if (!empty($_POST['assertion'])) {
    $assertion = $_POST['assertion'];
} else {
    http_response_code(403);
}
$data = json_encode(array(
    'grant_type' => $grant_type,
    'assertion' => $assertion
));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://oauth2.googleapis.com/token');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length:' . strlen($data)
));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$content = curl_exec($ch);
curl_close($ch);

if ($content) {
    echo $content;
} else {
    echo '';
}

链接推送代理接口地址:如果您的服务器无法访问谷歌,可以通过中间代理服务器来推送。

您需要在代理服务器中创建一个php文件,然后在设置中填写这个php文件的访问链接地址。

示例代码:

<?php
$data = file_get_contents('php://input');
$http_content_length = !empty($_SERVER['HTTP_GGPUSH_CONTENT_LENGTH']) ? $_SERVER['HTTP_GGPUSH_CONTENT_LENGTH'] : '';
$http_authorization = !empty($_SERVER['HTTP_GGPUSH_AUTHORIZATION']) ? $_SERVER['HTTP_GGPUSH_AUTHORIZATION'] : '';
$http_content_type = !empty($_SERVER['HTTP_GGPUSH_CONTENT_TYPE']) ? $_SERVER['HTTP_GGPUSH_CONTENT_TYPE'] : '';

if (empty($data) || empty($http_content_length) || empty($http_authorization) || empty($http_content_type)) {
    http_response_code(403);
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://indexing.googleapis.com/batch');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: ' . $http_authorization,
    'Content-Type: ' . $http_content_type,
    'Content-Length:' . $http_content_length
));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$content = curl_exec($ch);
curl_close($ch);

if ($content) {
    echo $content;
} else {
    echo '';
}

IndexNow推送设置

密钥:这个密钥不需要去任何平台申请,您可以随意输入任意长度的字符串即可,要求32位是确保安全,而不是必须的。

搜索引擎:只有指定的几个搜索引擎可以使用IndexNow推送,您可以随意勾选使用哪几个。

特别说明:IndexNow在配置后第一次推送,可能会返回202状态码,推送记录页面上会显示失败。实际上这也可以算作推送成功,因为第一次推送,IndexNow会验证您的密钥是否正确,所以才会返回202。如果密钥没问题,第二次推送后就会显示推送成功。如果多次推送都显示为失败,则需要自行检查配置是否正确。

Sitemap设置

Sitemap文件名:这个就是生成的Sitemap文件的文件名,为了安全,请设置的复杂一点。

搜索引擎平台会周期性的访问这个提交地址,通过定时生成这个文件,确保将要提交的链接生成在里面。