Compare
Switching from WP Rocket to Spark Speed: settings over in one step
Do you want to move from WP Rocket to Spark Speed without retyping your exclusions for hours? Spark Speed has an import button that carries over your exclusions and cache rules from WP Rocket. The honest framing up front: the import only carries lists and one CSS switch. Delay JavaScript and used CSS never go on blindly; Spark has those tested per site. You get a preview of what changes before anything happens. This guide describes only what the Spark Speed 0.72 code does, as of October 2026. If you are happy with WP Rocket there is no reason to switch; this guide is for people who have already decided.
In short
- Seven kinds of settings carry over: five exclusion lists, lazyload and CSS combining
- Delay JavaScript and used CSS never switch on automatically
- Importing merges and replaces nothing; you see a preview first
- Both cache plugins active gives a conflict on advanced-cache.php; deactivate WP Rocket before the takeover
What the import carries over
The import reads the stored option wp_rocket_settings and converts a fixed set of fields to Spark settings. Anything not in the table below is not read. Every value is cleaned into a list of short, unique, non-empty lines before it is merged.
| WP Rocket setting | Becomes in Spark Speed | Note |
|---|---|---|
| Delay JavaScript exclusions (delay_js_exclusions) | delay_exclude | List is merged |
| JavaScript excluded from defer (exclude_defer_js) | defer_exclude | List is merged |
| Pages that must not be cached (cache_reject_uri) | bypass_urls | List is merged |
| Allowed query strings (cache_query_strings) | cache_queries | List is merged |
| Cookies that bypass the cache (cache_reject_cookies) | bypass_cookies | List is merged |
| Lazyload exclusions (exclude_lazyload and lazyload_excluded_src) | lazy_exclude | Both WP Rocket lists end up in one Spark list |
| Combine or minify CSS (minify_concatenate_css or minify_css) | css_combine on | The only switch that is carried over |
What does not come across, and why
The distinction is deliberate. A copy of a switch that worked in WP Rocket is not necessarily safe in a different cache set-up. That is why anything that can break a page stays out of the import.
- Delay JavaScript (delay_js) and used CSS (RUCSS): deliberately never switched on automatically. The code says the canary of the one-click optimisation must first prove them safe on each site.
- All other WP Rocket switches, such as preload, CDN, database clean-up, heartbeat or font settings: the import does not look at them. Check those yourself in Spark Speed.
- Licence, scheduled tasks and the WP Rocket cache files: none of that is carried over.
- Site-specific Spark keys: by design the import path does not allow worker_url, force_page_cache and cache_logged_in.
The switch, step by step
The order matters because WP Rocket and Spark Speed both want to write the file wp-content/advanced-cache.php. That is the drop-in with which a cache serves cached pages before WordPress boots. Spark Speed does not overwrite this file if it belongs to another plugin.
- 1. Make a backup of your site and note which WP Rocket settings matter. Preferably do this on a staging or test site first.
- 2. Install and activate Spark Speed while WP Rocket is still active. Spark sees that WP Rocket manages the page cache and shows the status 'conflict' on the dashboard, telling you to deactivate that plugin. At that moment Spark overwrites nothing.
- 3. Open Settings, the Tools card, the Migrate section. Spark looks for the stored WP Rocket settings (the option wp_rocket_settings), even if the plugin itself is already off or removed. You see a preview: per Spark setting the number of new values and three examples. These are only additions to what you already had.
- 4. Click 'Importeer uit WP Rocket' (the button label is in Dutch in the plugin). The values are merged into your current configuration and the pages are queued again. There is no WP-CLI command for this import; it runs from this screen.
- 5. Deactivate WP Rocket in the plugin list. Do not delete it yet.
- 6. Let Spark take over the cache. If WP Rocket left its file wp-content/advanced-cache.php behind, Spark reports 'overname nodig' (takeover needed) with an 'Overnemen' button. Spark renames the old file to advanced-cache.php.bak plus date and time and installs its own drop-in. The button refuses while WP Rocket is still active.
- 7. Run 'Optimize my site'. The canary then verifies per site whether delay and used CSS are safe. That way the two things that were not carried over still get done, but proven.
Verifying afterwards
A cache that silently does not work only shows up as a slow site. So check actively.
- Dashboard: the page cache status reads 'Actief' (active) and the drop-in belongs to Spark. If it says 'conflict' or 'overname nodig', step 5 or 6 is not finished.
- Response header: load a page twice (logged out, for example in a private window) and look at
x-spark-speed-cachein the browser tools. MISS the first time and HIT after that is what you want to see. BYPASS means the page is deliberately not cached, for example because of a bypass rule. - Through WP-CLI:
wp spark-speed statusshows the state, andwp spark-speed verify-cache --page=https://yoursite.com/page/checks the cached page for desktop and mobile. - Rule out a double drop-in: check that wp-content holds only one advanced-cache.php, carrying the Spark signature, and that WP_CACHE in wp-config.php is true. If Spark cannot write wp-config.php, it shows the line you need to place yourself.
- Test the critical paths: cart, checkout, login, forms and the pages you had excluded in WP Rocket. Spark Speed puts the same exclusions in its own lists, but verify that they work.
Where WP Rocket stays stronger
The import is narrow: only lists and one switch. If you tuned a lot in WP Rocket, for example preload, CDN or fonts, you set that up again in Spark Speed. In our measurement a fully configured WP Rocket was also slightly faster on LCP (1.27 s against 1.54 s for Spark Speed 0.72.0, five pages, Lighthouse mobile, median of five runs, October 2026), at practically the same score of 100 against 99.8. The comparison is on the page Spark Speed versus WP Rocket. So switching brings no speed gain that we can demonstrate; it is a choice about approach, control and licence.
Remove WP Rocket from the server only after a week. That way you can go back if something odd shows up, and the backup file advanced-cache.php.bak stays as a safety net.
Want to try Spark Speed next to your current set-up? Start on a test site and use the preview.
Frequently asked questions
No. The import reads the stored option wp_rocket_settings. That often stays behind after deactivation, sometimes even after removal. If the option is empty or gone, Spark does not show the Migrate card.
The import adds values to your lists and replaces nothing. We find no separate undo button in the code. So make a backup first, or export your Spark settings as a preset beforehand.
That is a design choice. A blind copy of these switches is the best-known way to break a page. Spark lets the canary of 'Optimize my site' first establish per site whether they are safe.