Prefetch Conflict with WP 7.0
-
Hi Folks,
I downloaded WP-Statistics two days ago and started getting countless of these Error Messages:
[Thu Jun 11 13:29:57.206321 2026] [proxy:error] [pid 2417995:tid 2418112] (70008)Partial results are valid but processing is incomplete: [client 116.179.37.106:49111] AH01095: prefetch request body failed to /usr/local/php83/sockets/*****.sock:0 (localhost) from 116.179.37.106 (), referer: https:***Post URL***/After checking. I find that
prefetchfor speculative loading is part of WP 7. core now.Can you please look into this so I can continue to use your plugin.
Regards and thanks,
Angus
-
Hi,
Thanks for the detailed report. The good news is that this is not an error coming from WP Statistics, and your data is not affected.
What the message actually is: “[proxy:error] … (70008) Partial results are valid but processing is incomplete” is a server-level log line from Apache’s mod_proxy_fcgi. Apache logs it when the browser cancels a request to PHP-FPM before PHP finishes responding. WordPress 7.0’s new speculative loading (prefetch and prerender) sends prefetch requests for links the visitor might click, and the browser routinely discards them before they complete, which is what produces these entries. It is essentially harmless noise from the new core prefetch feature interacting with your Apache + PHP-FPM setup, not a sign of a broken site or lost data.
Why it is not WP Statistics: the plugin already detects and excludes prefetch and prerender requests. It checks the headers used by the Speculation Rules API and browser link prefetching (Sec-Purpose, Purpose, X-Moz), and any request marked as a prefetch is excluded from your statistics, so prefetched pages are not counted as views. The plugin does not generate that Apache log line, and these entries would appear with or without it. The timing simply coincided with your installation.
If you would like to reduce the log noise:- It is safe to ignore these lines, since they only reflect cancelled prefetch requests.
- To cut them down at the source, you can tune or disable WordPress 7.0 speculative loading. WordPress provides the
<strong>wp_speculation_rules_configuration</strong>filter for this, and there is also an official “Speculative Loading” plugin with settings if you prefer a UI. - Alternatively, you can lower the log level for mod_proxy_fcgi in your Apache configuration.
If you are seeing an actual functional problem (missing data, broken pages, or anything beyond these log entries), please let me know the specifics and I will dig in further. But for the log messages themselves, there is nothing to fix in WP Statistics.
Best regards,
@mostafas1990
Dear Mostafa,When I deactivate WP-Statistics, there are no more error messages.
I have the “Speculative Loading” plugin installed, but its activation or deactivation makes no difference to the results. I only get the error messages when WP-Statistics is activated.
To help you out on this, I have turned on WP Debug and have this Error Message for you:
[11-Jun-2026 16:03:57 UTC] PHP Notice: Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the wp-statistics domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /*****/wp-includes/functions.php on line 6170Please kindly review this issue again in light of the WP Debug Report.
Regards and thanks,
AngusThanks for testing this so carefully, and you are right to push back. The deactivation test is good evidence and points to something more specific than my first reply suggested, so let me correct course.
Those
(70008) Partial results are valid but processing is incompletelines are Apache’smod_proxy_fcgilogging a request whose connection the browser closed before PHP finished. WordPress 7.0 speculative loading (prefetch and prerender, now in core) fires background requests that the browser routinely cancels when you do not end up navigating. A request cancelled while PHP is still running is what Apache records as(70008). It is log noise, not data loss (the message says the partial results are valid), but it is noisy.Where WP Statistics comes in, and you are right that it does: on every front-end request, including those speculative ones, the plugin runs its tracking work. It correctly excludes prefetch/prerender from your visit counts, but the work still executes, and if Log Record Exclusions is enabled it also writes a database row for each one. That extra work widens the window in which the browser can cancel the request mid-flight, which is when Apache emits
(70008). With the plugin off, the speculative page finishes fast enough that there is nothing to abort, so the lines stop. That matches exactly what you saw.Two ways to resolve it, depending on what you want:
1) If you do not need speculative loading, turn it off.
It is a core WP 7.0 feature now, which is also why the standalone “Speculative Loading” plugin had no effect (the feature already lives in core). Add this in an mu-plugin or your theme’s
functions.phpfile:add_filter( 'wp_speculation_rules_configuration', '__return_null' );That stops the browser from firing the prefetch/prerender requests, so there is nothing to cancel and the
(70008)lines go away.2) If you want to keep speculative loading, reduce what WP Statistics does on those requests.
Go to Statistics → Settings → Exclusions and turn off Log Record Exclusions. That removes the per-request database write on excluded (including prefetched) hits, which is the heaviest part of what is running when those requests get cancelled.
You can also exclude specific URL paths from speculation with the core
wp_speculation_rules_href_exclude_pathsfilter.On the separate
_load_textdomain_just_in_timenotice for thewp-statisticsdomain: thanks for flagging it. That is a different, cosmetic notice that WordPress 6.7 added, which warns when any translated string is requested before theinithook. Our text domain itself loads oninit, but one string is being requested a touch early. It does not affect tracking or cause the Apache errors, and we are deferring that string in an upcoming release to silence it.If you can try option 1 (or 2) and let me know whether the log lines stop, that will confirm we are aligned.
Thanks again for the detailed report.
Best
-
This reply was modified 37 minutes ago by
Mostafa Soufi.
@mostafas1990
Dear Mostafa,I little problem….. Yes we want to use Speculating Loading, as we find it very beneficial for our users.
And, our Log Record Exclusions is already off. Indeed it has never been enabled….
Do you have any other way forward for us?
Regards and thanks.
Angus
You must be logged in to reply to this topic.