WordPress still slow after WP Rocket or FlyingPress plugins? Your website apparently didn’t get the memo. Before replacing the plugin, find out which part of the journey is taking too long.
The short answer: WordPress can remain slow because page caching is bypassed, uncached server requests are expensive, or the browser still has too much work. Large or late-discovered images, heavy CSS and JavaScript, and third-party services can delay content and interactions. WP Rocket and FlyingPress address several of these problems, but installing either plugin does not establish which bottleneck matters on your website.
Both are capable tools. The useful question is whether the remaining delay happens before the page arrives, while it appears, or when somebody tries to use it.
Table of Contents
- What is actually slow?
- Is page caching actually being used?
- Why are uncached requests still expensive?
- Does the browser still have too much work?
- Why does the main image still arrive late?
- Have aggressive settings introduced another problem?
- What should you do next, in order?
- When does professional help make sense?
- Give the plugin a diagnosis to work with
What is actually slow?
“The website is slow” is a perfectly reasonable complaint and an incomplete diagnosis. Start with the part visitors notice.
A long wait before anything arrives points toward the initial request. Time to First Byte (TTFB) measures the wait for the first response bytes, including connection and server-related delays. It does not, by itself, identify a bad host.
A page that starts appearing but takes ages to show its main content needs a rendering and loading investigation. Largest Contentful Paint (LCP) tracks when the largest eligible image or text block in the viewport appears. Google’s LCP guide explains this distinction.
A menu or button that reacts late is an interaction problem. Interaction to Next Paint (INP) concerns responsiveness to user input. A page can appear quickly and still keep a customer waiting after a tap. Google’s INP guidance explains the work behind that delay.
Content jumping around is a layout-stability problem. A slow cart, checkout, or admin screen needs separate testing from a cached public homepage.
Start with that symptom, then use the report to investigate it. A disappointing score is a clue; it is not a diagnosis with a coloured badge.
Start with the observed delay. Several branches can apply to the same page; these are investigation routes, not automatic diagnoses.
A quick diagnostic matrix
Long initial wait
Possible causes: Cache bypass, expensive server work, network distance
How to check: Inspect the HTML request and compare equivalent anonymous visits
Next action: Confirm cache delivery, then investigate uncached work
Main content appears late
Possible causes: Late image discovery, oversized media, blocking resources
How to check: Identify the LCP element and its loading sequence
Next action: Fix the resource or rendering delay actually observed
Menu or button responds late
Possible causes: Heavy JavaScript, delayed dependencies, third-party work
How to check: Record a Performance trace while using that control
Next action: Reduce the responsible work or narrow the exclusion
Content jumps
Possible causes: Missing dimensions, fonts, late banners or embeds
How to check: Watch the load and inspect recorded layout shifts
Next action: Reserve space or correct the shifting component
Homepage fast; checkout/admin slow
Possible causes: Dynamic requests, queries, external services, capacity limits
How to check: Measure the affected action and request separately
Next action: Investigate the dynamic route; preserve cache protections
For a first pass, Speed Analyzer, which I develop, brings together WordPress performance checks including server TTFB, page assets, autoloaded options, object-cache status, and PageSpeed diagnostics. It helps narrow the investigation; it cannot explain every slow query or remote service automatically.
Is page caching actually being used?
Page caching reuses prepared HTML instead of asking WordPress to rebuild an eligible page for every visit. That benefit depends on the particular request being allowed to use that cache.
Start logged out, in a clean private window, on the normal public URL. Record the first visit, allow preloading or background processing to finish, and test again. Keep browser-cache behaviour consistent: a browser reusing a local copy can hide what the server is doing.
With WP Rocket, inspect the page source for its caching footprint and timestamp, and use the documented cache-folder checks where needed. Its standard verification assumes an anonymous visitor, unless User Cache is enabled. Follow WP Rocket’s cache verification instructions.
With FlyingPress, an uncached visit can receive the unoptimized page while the URL joins the background queue. The next immediate refresh is therefore not necessarily a completed warm-cache test. Check processing status and, where necessary, the generated cache file. FlyingPress documents this queue and storage behaviour.
Then investigate exclusions, query strings, sessions and cookies. A clean landing page and the same URL with campaign parameters may take different paths. An unnecessarily broad cookie exclusion may bypass useful caching; a customer-session exclusion may be doing exactly the right job. FlyingPress’s cookie-bypass documentation describes the mechanism.
Inspect the HTML document’s response headers. A cache HIT on a photograph proves something about that photograph, not the page. Cloudflare’s CF-Cache-Status describes its own layer; DYNAMIC does not rule out an origin page-cache hit. Headers such as private, no-store, and no-cache need interpretation alongside the actual cache rules. They do not all mean the same thing. Cloudflare explains its cache statuses here.
Do not remove cookies or force-cache checkout to make a test turn green. Establish who sets the exclusion and what relies on it first.
Why are uncached requests still expensive?
A warm homepage can conceal slow work elsewhere. Cart updates, account screens, and admin actions may still need WordPress, PHP, the database, and external services to respond.
Investigate hosting capacity and PHP-worker contention, expensive queries, excessive autoloaded data, slow API requests, and overlapping background jobs. These are possibilities to measure, not five reasons to buy a larger hosting plan immediately.
Look for a pattern. Does the delay affect every uncached request, only one action, or a particular time of day? Ask the host for resource and request evidence around that time. A slow shipping-rate lookup and an overloaded PHP pool call for different fixes. WordPress’s performance guidance provides the broader server and caching context.
Autoloaded options deserve attention because WordPress loads them together. Size is a reason to inspect ownership and necessity, not permission to delete unfamiliar data. Back up first and determine what a setting belongs to.
Page cache and object cache solve different problems
Page caching stores the prepared page. Persistent object caching stores reusable WordPress data across requests. The second can reduce repeated database work when WordPress still has to execute.
FlyingPress now includes Redis object caching. Its documented requirements include a reachable Redis server and the phpredis extension; an existing object-cache implementation also needs to be considered. Read the current Redis requirements.
Redis can help suitable workloads. It will not make every slow external API respond faster or remove the browser’s JavaScript workload. Likewise, move hosting when evidence supports the move, rather than because a speed report has become irritating.
Page caching reuses HTML; object caching reuses application data; browser optimization addresses what must download, render, and run. These are complementary layers, not interchangeable switches.
Does the browser still have too much work?
A cached page can still deliver a substantial workload. Page-builder templates, sliders, font families, chat widgets, analytics and advertising tags all deserve a place in the investigation.
Count what they do, not just how many plugins are installed. One feature can load more front-end code than several small plugins combined; an admin-only plugin may add none to a public page.
The common optimization labels describe different jobs:
Minification makes code more compact without removing the feature’s workload.
Removing unused CSS aims to retain the styling a page needs while reducing unnecessary CSS. WP Rocket documents its page-specific processing.
Delaying JavaScript changes when scripts load or execute. WP Rocket can wait for interaction; FlyingPress offers its own delay modes and exclusions.
Unloading an asset prevents an entire unnecessary file from loading on the selected page.
That last distinction matters. A contact-form stylesheet on a page with no form may be unnecessary. A script unused during the first second may be needed when the menu opens. Chrome’s Coverage panel helps inspect usage while you exercise the page; an untouched page is an incomplete test.
This is where AI Assets Scanner and Code Unloader fit. I develop both. AAS scans selected pages on desktop and mobile to identify unloading candidates and produce rules; Code Unloader applies those rules through import or the supported push/sync workflow. Review the results and test the affected features. The tools complement a performance plugin; they do not replace every part of it.
Delay also needs judgment. Moving work until the first tap may improve the loading test while leaving that tap with a queue of scripts to start. WP Rocket documents its interaction trigger. Measure the control people actually use before deciding the problem is solved.
Why does the main image still arrive late?
Compression is useful. So are appropriate dimensions and responsive image sources. But a small WebP discovered late is still late.
Identify the actual LCP element first. For an image, check whether the request begins promptly, whether the file is too large for its displayed size, and whether rendering waits after it downloads. Avoid lazy-loading the image needed immediately in the first viewport; prioritize or preload the correct resource only where the loading evidence supports it. Google’s LCP optimization guide covers these stages.
FlyingPress has built-in image optimization, including compression and WebP/AVIF output for eligible Media Library images. Check that the relevant existing images were actually processed: automatically optimizing new uploads does not retroactively optimize the old library. Its image documentation explains the scope.
Also check hero video and fonts. Video can compete with useful first-screen content, while several font families and weights add requests. Responsive image delivery and reserved dimensions deserve attention even after compression. FlyingPress documents its image-sizing feature separately.
The objective is for the important content to arrive and appear early. Collecting modern file extensions is only part of the job.
Have aggressive settings introduced another problem?
If a menu, form, gallery, or layout broke after optimization, start with the setting most recently changed. Restore it, repeat the affected action, and narrow the cause before adding exclusions everywhere.
Keep one owner for overlapping jobs such as unused-CSS removal, JavaScript delay, and lazy loading. Do not run WP Rocket and FlyingPress together. Separate compatible layers can coexist, but competing full optimization stacks make the result harder to control.
Generated files can also lag behind a change. WP Rocket’s unused-CSS processing is asynchronous and may need regeneration after styling changes. Check completion and follow its documented clearing procedure for the affected content.
Before a change, save the current settings and confirm the rollback route. Afterwards, test mobile navigation, form validation and submission, consent choices, galleries, product variations, cart updates and an agreed checkout test. Necessary tracking must still behave as intended. WP Rocket’s delay troubleshooting guide is useful when that feature is responsible.
Change one variable at a time. Otherwise, even a good result can leave you unsure which change earned it.
What should you do next, in order?
1. Record a baseline. Choose representative pages: homepage, service or article, and product/checkout where relevant. Note the complaint and the action that reproduces it.
2. Confirm cache behaviour. Record login state, URL parameters, warm/cold status and CDN state. Keep those conditions consistent between comparisons.
3. Find the dominant delay. Use the document request, LCP element or an interaction trace to decide where to work first.
4. Apply one relevant fix. Keep a backup or reversible settings change, and write down what changed.
5. Repeat comparable tests. Use the same URLs, device profile, location where selectable, and tool settings. Run several tests—three is a useful starting point—and compare the median within each consistent condition.
6. Check the website’s job. Confirm that people can navigate, enquire, and buy. Then review available real-user data over time.
PageSpeed Insights separates Lighthouse lab results from Chrome user-experience data. Field results use a rolling 28-day period and require enough data; an origin-level fallback is not a measurement of that one page. Google explains the reporting model.
Total Blocking Time (TBT) is a lab diagnostic, not INP. A better Lighthouse run is useful evidence about that test, not immediate proof that real-user Core Web Vitals improved.
If the evidence eventually points to a plugin change, my FlyingPress vs WP Rocket comparison covers that decision. Choose the replacement for the specific problem it solves.
When does professional help make sense?
Get help when cache behaviour remains unclear, dynamic requests need deeper tracing, or each improvement breaks another feature. It is also reasonable when testing the important templates and buying journey takes more time than your team can spare.
My WordPress speed optimization service starts with the existing setup and measured bottlenecks. The aim is a faster, usable website with its agreed design and functionality preserved. Send the URL, the pages that matter, and what visitors are waiting for.
Give the plugin a diagnosis to work with
Your website did get the memo. It was simply waiting on the server, an image, or a script with more important plans.
Find that wait, fix what causes it, and test the result. WP Rocket or FlyingPress can then do its job as part of a measured setup—and you can stop asking the activation button to do the work of an investigation.
So, if you get WordPress still slow after WP Rocket or FlyingPress issue ensure you start with a proper diagnosis.
FAQ
Should I switch from WP Rocket to FlyingPress if my site is still slow?
Only when the replacement addresses an identified limitation or compatibility problem. First, confirm caching and locate the delay. Switching plugins will not necessarily fix an expensive query, slow remote service, or oversized page template.
Can I use WP Rocket and FlyingPress together?
No. Choose one as the main page-caching and optimization plugin. Additional tools should have a clearly defined, compatible role, with overlapping features disabled where needed.
Why is the mobile score much lower than desktop?
Mobile lab testing uses different device and network assumptions, which can expose heavy pages and JavaScript work. Compare the underlying metrics and available mobile field data, rather than expecting both scores to match. See Google’s testing explanation.
Why is checkout slow when the homepage is fast?
Checkout performs customer-specific work that public-page caching cannot simply replace. Investigate its requests, database work, and payment or shipping services. Persistent object caching may help some of that work, but preserve checkout’s cache exclusions.
Does a 100/100 PageSpeed score mean the website is fully optimized?
No. It describes a particular lab run. It does not establish that every page, interaction, or customer journey works quickly. Functional checks and available real-user measurements still matter.

Founder of WPservice.pro
Dalibor is a master of web excellence. With a Bachelor of Science (BS) in civil engineering, Dalibor had an unusual road to end up in IT. Cultivating deep expertise in WordPress website speed optimization, meticulous maintenance, development, and search engine optimization (SEO) while preserving his engineering approach to problem-solving.
Having completed over 90 projects and achieved a top-rated status (on Upwork) in the highly competitive digital niche, Dalibor is a proper authority on enhancing performance and ensuring websites look exceptional and perform flawlessly.
Dalibor is a published writer and an avid learner who continually explores and embraces the latest digital trends. With a commitment to quality and a keen eye for detail, Dalibor is your trusted guide to achieving web success.

