Skip to content

Check D1 · Cloudflare features that affect WordPress

D1: Rocket Loader changes when and in what order your scripts run

Check D1 of Edge Doctor for Cloudflare® reports whether Cloudflare Rocket Loader rewrites the scripts on your pages, and which active plugins it is likely to affect.

Last reviewed 2026-10-30Plugin version 1.0.1Cloudflare dashboard paths checked 2026-10-25

What the check looks at

D1 reads the HTML of your home page as an anonymous visitor gets it and looks for the Rocket Loader script: a script tag whose src contains both /cdn-cgi/scripts/ and rocket-loader.min.js. The file name alone is not enough, so a page that only writes about Rocket Loader is not a finding.

Like every request Edge Doctor sends, these go only to the hosts of your Site Address and WordPress Address (home_url() and site_url()). An address WordPress gives on another host, such as a single sign on page, is never requested.

Results and what they mean

ResultWhat it means
PassedConfidence: HighRocket Loader is off
Your pages load their scripts in the order they are written.
WarningConfidence: HighRocket Loader is changing how your scripts run
Rocket Loader rewrites the scripts on your pages. The result adds a note for an active payment plugin, page builder, or plugin that already delays scripts.
Could not checkConfidence: MediumThis check could not be completed
The home page is the WooCommerce Coming soon page (maintenance).
Could not checkConfidence: LowThis check could not be completed
The home page could not be read.
Not applicableCloudflare is not in front of this site
Check A1 did not detect Cloudflare, so this check sent no request. Reason not_behind_cloudflare.

When the result names a reason

  • maintenance: The site is in maintenance mode or behind a coming soon page, so the pages read were not the real ones. A Rocket Loader script found on that page is still reported.
  • loopback_failed: Your server could not reach its own site, so this check had nothing to read. The plugin links this result to its own guide: Your server could not reach its own site.
  • blocked_by_config: WordPress itself refused the requests from your site to itself, so none was sent. WP_HTTP_BLOCK_EXTERNAL is on, and your own address is not let through. The plugin links this result to its own guide: WordPress blocks requests to your own site.
  • not_behind_cloudflare: This site is not behind Cloudflare.

Symptoms you may notice

  • Payment forms that do not load or do not submit; the result says to test a real payment before leaving Rocket Loader on.
  • Sliders, tabs, pop ups or page builder widgets that stop working or appear late.
  • Errors in the browser console about a function or jQuery not being defined.

Why it happens

Rocket Loader defers the loading of all your JavaScript until after rendering, while keeping the order of execution (Cloudflare: Rocket Loader). Code that expects a script to have run by a certain point, or a plugin that already delays or combines scripts, can then break. Cloudflare’s own advice for JavaScript or jQuery issues is to disable Rocket Loader and retest.

Confirm it by hand

curl -s "https://example.com/" | grep -o "cdn-cgi/scripts/[^\"]*rocket-loader.min.js"

A match means Rocket Loader is on for that page. In DevTools, Network, filter by rocket to see it load.

How to fix it

In Cloudflare: turn Rocket Loader off, or limit it to some hostnames with a Configuration Rule.

Speed > Settings > Content Optimization > Rocket LoaderPath checked on 2026-10-25 against the Cloudflare documentation. Cloudflare moves dashboard items from time to time; if the path differs, search the dashboard for the setting name.

Or keep it and exclude scripts. Add data-cfasync="false" to the script tag, before the src attribute; scripts it depends on need the attribute too:

<script data-cfasync="false" src="/js/payment.js"></script>

In WordPress: do not delay or combine scripts in two places at once. If a performance plugin already delays JavaScript, leave Rocket Loader off.

Limitations

Only the home page is read. Rocket Loader can be limited to some hostnames, so other parts of the site may differ.

The plugin reports that Rocket Loader is on, not whether anything is broken. Test the pages that matter, especially checkout.

Sources

Run this check on your own site with Edge Doctor for Cloudflare®, free on WordPress.org.

Edge Doctor for Cloudflare® is not affiliated with or endorsed by Cloudflare, Inc. Cloudflare is a registered trademark of Cloudflare, Inc.