网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

WordPress 网址多了后缀的问题解决方法,文章定时发布 wp-cron 功能被拦截

GG网络技术分享 2025-03-18 16:09 0


最近看百度小程序后台有些网址显示是死链,这些网址多了一个后缀ivk_sa=1024320u,不知道怎么生成的。有这个后缀网址就404,去掉就正常了。

今天发现PC端的一些网址也出现一些后缀,网址虽然正常访问,总感觉不对劲。

?doing_wp_cron=1653703915.1238749027252197265625

看样子像是WP-Cron被拦截的问题.

解决拦截wp-cron几种办法

1,白名单放行wp-cron

在cdn或防火墙设置规则,将/wp-cron.php写入精准控制当中进行放行。

但是很多免费的CDN服务或防火墙服务不提供精准控制,或者提供的规则条数有限,那么可以试试下面这种办法:

2,服务器hosts回源绕过

hosts回源是站长排除CDN或防火墙设置错误的基本方式之一,其特点就是可以绕过并直接访问服务器。所以,可以通过hosts回源来对wp-cron开通绿色通道。

  • Windows服务器C:WindowsSystem32driversetchosts
  • Linux服务器/etc/hosts

在hosts文件当中,在最后添加一行,写入自己的IP地址和域名(两者直接有个空格),保存即可。

比如:

123.123.123.123 www.ggplus.cn

3,在wp-config.php中添加以下代码:

define('ALTERNATE_WP_CRON', true);

4,安装插件:WP Missed Schedule Posts 或 Missed Scheduled Posts Publisher, MY Missed Schedule,

5, 可以用下面的代码,代码应该是提取自老版本的WP Missed Schedule Posts插件,将代码添加到当前主题 functions.php 中:

if (!function_exists( 'add_action' ) ) {

header( 'Status 403 Forbidden' );

header( 'HTTP/1.0 403 Forbidden' );

header( 'HTTP/1.1 403 Forbidden' );

exit();

}

function wpms_log() {

echo"n<!--Plugin WP Missed Schedule 2011.0920.2011 Active-->";

}

add_action( 'wp_head', 'wpms_log' );

add_action( 'wp_footer', 'wpms_log' );

define( 'WPMS_DELAY', 5 );

define( 'WPMS_OPTION', 'wp_missed_schedule' );

function wpms_replace() {

delete_option(WPMS_OPTION);

}

register_deactivation_hook(__FILE__,'wpms_replace');

function wpms_init() {

remove_action('publish_future_post','check_and_publish_future_post');

$last=get_option(WPMS_OPTION,false);

if (($last!==false)&&($last>(time()-(WPMS_DELAY*60))))return;

update_option(WPMS_OPTION,time());

global$wpdb;

$scheduledIDs=$wpdb->get_col("SELECT`ID`FROM`{$wpdb->posts}`"."WHERE("."((`post_date`>0)&&(`post_date`<=CURRENT_TIMESTAMP()))OR"."((`post_date_gmt`>0)&&(`post_date_gmt`<=UTC_TIMESTAMP()))".")AND`post_status`='future'LIMIT 0,5");

if (!count($scheduledIDs))return;

foreach($scheduledIDs as$scheduledID) {

if (!$scheduledID)continue;

wp_publish_post($scheduledID);

}

}

add_action( 'init', 'wpms_init', 0 );

 

代码添加后,定时发表文章还是会提示失败,但过二、三分钟后,会正常发布的。

至于哪个方法适合你,只能自己试了。

另外更换服务器后,子目录的wordpress站点,定时发布文章不执行

工具-站点健康检查提示:计划事件WWA_post_submit_cron执行被延迟。您的站点仍然工作,但这可能意味着定时...

检查通用设置里面的时区,缓存插件冲突,根目录的.user.ini文件,没用的删除。火车头采集器发布失败,尝试检查接口文件重命名,重新获取列表。

 

 


提交需求或反馈

Demand feedback