Background and Parallel Optimization disabled

This is a rough draft from some recent emails, but I want to get this out here in case it helps some of you folks:

While parallel mode can be enabled on the advanced settings, you can't change anything in EWWW IO to enable background optimization. It is automatically enabled, but only if there is nothing blocking it. So when you see a message that says "Disabled automatically, async requests blocked", it means that EWWW IO attempted to send a test request to admin-ajax.php, and it failed, so it could not enable background mode.

The test request is a small, random string (a bunch of letters and numbers) that is sent in an HTTP request from your server, to itself. So if anything prevents the server from communicating with itself (I know that sounds impossible, but it isn't), then the test will fail, and background mode won't work.

What could block it?
1. a Firewall
2. missing ssl (CA) certs
3. security plugins, although Wordfence and Shield normally work (unless you use their "lock to location" function), I haven't tested any others

With any of these instructions, you can forward them to your webhost or server admin for assistance. Please note that a "server admin" is not your WordPress administrator, it is the person/company responsible for operation of the actual server where your WordPress files live. Back to our regularly scheduled programming...

So the first thing I would do is to try and run a sample request from the command line (if you have that sort of access). Using something like curl, fetch your homepage from the server itself: curl http://www.example.com (of course, substitute your actual web address in, or you'll get a false positive with example.com.

Then view the response and see if it looks normal (or if you get an error, figure out why).
If that all checks out, then I would start checking your logs. You can force EWWW IO to retest background mode by setting the ewww_image_optimizer_version in the wp_options table to 10 (or anything lower than 351). Then refresh the options page, and you should see something in your access logs corresponding to a request to admin-ajax.php, like this:
/wordpress/wp-admin/admin-ajax.php?action=wp_ewwwio_test_optimize&nonce=abc123xyz
It's a POST request, so it may or may not show the "action" parameter, I just pulled that from my local Apache server. If you can't view your access logs, this is another case where you may need to enlist the help of your webhost to find out if they can check the logs or if they have anything that would block these requests.
Also, of course check the logs for any security plugins you are using, or just try turning off your security plugin(s) and running another test.

Still need help? Contact Us Contact Us