
Logged-in WordPress users (admins, editors, customers) bypass page caching by default. These sessions can be 2–5x slower than cached views with a super high TTFB.
This is particularly a problem on WooCommerce and Membership sites as typically logged in users, especially on WooCommerce are some of your most valuable users.
In this post we’re going to work through some ways to speed up Logged-In user sessions in WordPress & WooCommerce.
Speeding up Logged-In user sessions is good for customers, good for SEO and good for conversions too.
This is an important optimization step as logged-in user experience does impact Core Web Vitals numbers.
Table of Contents
How To Fix Slow Logged-In User Sessions
Click play on the video below for a video walk through of some of these steps.
Here are several effective ways to tackle this issue and provide a lightning-fast experience for your logged-in users:
1. Enable Caching for Logged-In Users In Your Caching Plugin
Many popular caching plugins, such as WP Rocket and FlyingPress, offer the option to enable caching for logged-in users. If you’re on a managed WordPress host, you may need to contact their support to get this enabled.
The two caching plugins we use and recommend are:
2. Leverage Preloading and Speculative Loading:
“Just In Time Preloading” and the new “Speculative Loading” feature in WordPress 6.8 can dramatically improve perceived performance by loading pages in the background before a user even clicks a link.
Even with caching for logged in users enabled as per step one, we still have a problem whereby the pages are not yet cached on the server.
By using these two techniques, we push the server to cache pages before the user attempts to load them
You can learn more about speculative loading at this link. Typically we recommend using Prefetch + Eager.
The Flying Pages plugin can be used for just in time preloading.
3. Optimize Your Database:
A slow database can be a major bottleneck. This post explains more about how to speed up and optimize your WordPress database.
The key action items are:
- Use Object Caching: This will cache the results of common database queries.
- Switch to InnoDB database table format: Ensure your database tables are using the more efficient InnoDB storage engine.
- Enable High-Performance Order Storage (HPOS): For WooCommerce sites, this new feature can significantly speed up order processing.
4. Optimize PHP For Performance:
PHP is the programming language that WordPress runs on. Optimizing PHP can squeeze more juice from your hosting and have uncached pages loading faster.
- Use the Latest PHP Version: Always run the highest version of PHP that your site supports.
- Fix Errors: Use the Query Monitor plugin to identify and fix any PHP errors.
- Tweak Opcode Cache: Adjust your PHP Opcode cache settings for better performance.
The opcode cache settings we recommend are:
opcache.huge_code_pages=1
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
opcache.memory_consumption=1024
opcache.revalidate_path=0
opcache.validate_timestamps=1
opcache.revalidate_freq=10
opcache.enable_cli=1
opcache.use_cwd=1
5. Use a Content Delivery Network (CDN):
We use and recommend Cloudflare for CDN services for WordPress. With a CDN in place, workload is moved off your hosting onto the CDN.
Using the Cloudflare APO service which available for $5/month or on the $25/month plan can dramatically speed up your site for all types of users as 80%+ of the workload is moved off the hosting.
6. Use Server based CRON jobs
The WordPress CRON is a scheduled background job that does various tasks on your site. Typically this runs every 5 or 10 page loads and can cause those pages loads to run really slowly.
By using a server based cron job, the server fires the wp-cron.php script on a regular interval, usually every 30 minutes. This means the CRON is not running when pages are loading for a user.
Different hosting platforms do this differently – Google is your friend on this one!
6. Don’t Forget the Basics:
Remember to follow standard website optimization best practices, such as keeping your page sizes small, optimizing images and optimizing your JavaScript. If you’re not already passing Core Web Vitals then optimizing for these benchmarks will help both logged-out and logged-in users.
7. Do a plugin audit
Disable any plugins not in use and remove any 3rd party JS you’re no longer using.
We often see sites that have half a dozen plugins installed and several marketing scripts that are no longer being used. A general review of the site configuration can uncover these issues which can often be slowing a site down significantly.
8. Check menu links
Ensure the menu and all links point to the correct version of the URL – i.e. https:// and WWW or no-WWW and with a forwardslash on the end of the URL
Often we’ll see some menu items that are pointing to a slightly incorrect URL and forcing users through a redirect to get to the correct URLs which adds several seconds of load time to their session.
9. Fix 404 errors
404s are bad for speed, bad for Google and bad for SEO especially when they’re sitewide 404s coming from a typo in your site template or a footer or sidebar element.
Running a basic SEO audit tool over your site will help uncover these. Try our FREE SEO audit tool here to test your homepage – it takes ~60-90 seconds and there’s no optin required.
10. Make sure your host supports HTTP3 protocol AND you have HSTS enabled
Your server can run HTTP 1.1, HTTP2 and HTTP3 protocols. HTTP2 is 50-100% faster than the older v1.1 of this protocol so it is a significant speed boost.
HTTP3 is another 10% boost on top of that but at a minimum you want to be running HTTP2 – use this free tool to check for HTTP2 protocol support.
HSTS is a security header that forces browsers to use HTTPS. This is beneficial for speed as it minimizes redirects, for SEO as it minimizes canonical issues and modern browsers only allow HTTP2 and HTTP3 protocol over HTTPS so forcing the browser to use HTTPS with the HSTS header helps reduce latency.
Click here for a video on enabling HSTS in Cloudflare for better TTFB
11. Be mindful of query strings and paid traffic
Custom query strings on paid traffic and email marketing links typically bypass all speed optimization and caching so be mindful of this.
Our Vital Signs Tracker tool monitors the speed of all users sessions and can identify if this is a problem. Usually the fix is configuring your caching plugin to ignore any custom strings you’re using.
Click play on the video below to see how we track logged in versus logged out users
What doesn’t work:
You’ll see some recommendations for speeding up logged-in sessions around the web that simply don’t work. The recommendations below are a complete waste of time and do nothing to speed up logged in users.
- Increasing PHP memory – only matters if PHP is throwing errors and crashing
- Minifying CSS or JS – on the modern web this can actually hurt your site speed as it negatively impacts caching for CSS and JS. Modern web servers use both Gzip and Brotli compression which are much more effective at minimizing file sizes vs minification
- Messing with the WordPress heartbeat
A Word of Caution: The Query Monitor Plugin
While the Query Monitor plugin is an invaluable tool for debugging, make sure to disable it when you’re done. Leaving it active can disable logged-in user caching, undoing all your hard work.
Need More Help?
We’ve optimized over 5000 WordPress sites and can help make yours load lightning fast too! If you’re looking for someone to do this for you, complete the form on our homepage and one of the team will review your site and tell you what’s doable in terms of site speed.