LiteSpeed cutting off WordPress backups or scans? Use these exact LiteSpeed noabort rules in .htaccess to stop processes from getting killed mid-run. Our Live Support Team is always here to help you.
LiteSpeed noabort: How to Stop It from Killing WordPress Processes
Backups are stalling? Wordfence scans not finishing? Updates breaking your site? If this sounds familiar and you’re on a LiteSpeed server, you’re not imagining things. LiteSpeed has a habit of killing off PHP processes as soon as the browser disconnects, even if the task isn’t done.
No errors. No logs. Just broken stuff.
It’s because of how LiteSpeed handles background jobs. By default, it cuts the connection and stops the script cold. That’s where litespeed noabort comes in. You need to explicitly tell it not to kill those tasks. Here’s how.
An Overview
Fix It in .htaccess (Main Method)
Open your main .htaccess file (you’ll find it in your WordPress root). Scroll to the top, just before the WordPress block that starts with # BEGIN WordPress, and add this:
# BEGIN LiteSpeed noabort
<IfModule rewrite_module>
RewriteEngine On
RewriteRule .* - [E=noabort:1]
</IfModule>
# END liteSpeed noabort
That alone can stop LiteSpeed from killing important processes like updates, cron jobs, and backups. But in some setups, you might need a different block — especially if you’re seeing unexpected behavior or errors like LiteSpeed error 500.
Try These If the First One Doesn’t Work
Some servers need variations of the rule. These are all valid and safe to test:
Alternative 1:
# BEGIN LiteSpeed noabort
<IfModule Litespeed>
RewriteEngine On
RewriteRule .* - [E=noabort:1]
</IfModule>
# END liteSpeed noabort
Alternative 2:
# BEGIN LiteSpeed noabort
SetEnv noabort 1
# END liteSpeed noabort
More Targeted Control (wp-cron, admin-ajax, logged-in users)
If you don’t want to apply noabort to every request, use this version instead. It covers cron jobs, AJAX calls, and anything under /wp-admin for logged-in users.
<IfModule LiteSpeed>
<IfModule mod_rewrite.c>
RewriteEngine On
# Set noabort for WP Cron and WP AJAX scripts
RewriteRule (wp-cron|admin-ajax).php$ - [E=noabort:1]
# Set noabort if user is logged in and URL is an Admin URL
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin
RewriteCond %{HTTP_COOKIE} ^.*wordpress_logged_in_.*$
RewriteRule .* - [E=noabort:1]
</IfModule>
</IfModule>
Place this above the WordPress section in .htaccess, just like the others.
Server-Level Fix (If You Have Admin Access)
For those with server control or VPS access, skip .htaccess and go straight to the LiteSpeed admin panel (CyberPanel LiteSpeed tuning guide):
WebAdmin Console → Configuration → Server → General → External Application Abort
Change External Application Abort to:
No Abort
That stops LiteSpeed from killing any PHP process due to browser disconnect, site-wide.
Set Rules by Script (Optional)
Want even more control? These rules target specific scripts:
For everything:
RewriteEngine On
RewriteRule .* - [E=noabort:1]
Only for cron and backups:
RewriteEngine On
RewriteRule (wp-cron|backupbuddy|importbuddy)\.php - [E=noabort:1]
Or use environment variables:
For all requests:
SetEnv noabort 1
Only for certain URIs:
SetEnvIf Request_URI "(wp-cron|backupbuddy|importbuddy)\.php" noabort
What About Wordfence?
Wordfence checks if litespeed noabort is set in .htaccess. But if your server already has External Application Abort turned off, you can skip adding anything. Just go into Wordfence settings and tell it to ignore the noabort check.
But only do this if you know the server already has it handled, otherwise, you’re risking corrupted updates.
[If needed, Our team is available 24/7 for additional assistance.]
Conclusion
LiteSpeed is fast (and sometimes tricky with AdSense), but it can be brutal with background jobs. Backups, cron tasks, security scans, any of them can get silently killed off mid-run if you don’t configure it right.
The litespeed noabort rule is how you stop that. htaccess or in the server panel, it tells LiteSpeed to back off and let WordPress finish what it started.
0 Comments