Every WebGee shared and reseller plan runs on LiteSpeed, which means the fastest cache for WordPress is already built into the web server. Add Redis for database queries and move WordPress's scheduled tasks to a real cron job, and you remove the three most common sources of slowness on a typical site.
This guide covers each step in the order that gives you the biggest improvement first.
Key takeaways
- LiteSpeed Cache is free on all WebGee plans and can be enabled in a few clicks from LiteSpeed Web Cache Manager in cPanel.
- Start with the Essentials preset, which cannot break your layout, and test page-optimisation presets on a staging copy first.
- Check the x-litespeed-cache response header in a private window to confirm pages are served from cache.
- Redis is the only object cache on WebGee, and connecting it to LiteSpeed Cache speeds up logged-in users and the admin area.
- Replacing WP-Cron with a five-minute cPanel cron job stops scheduled tasks slowing down page loads.
Before you start
- Access to cPanel and to your WordPress admin area
- A staging copy of the site if you plan to try page-optimisation features
- A private browser window for testing, since logged-in pages are never cached
- No other page-cache plugin active alongside LiteSpeed Cache
Page caching and object caching do different jobs
Page caching stores whole rendered pages, so anonymous visitors are served without PHP running at all. LiteSpeed Cache (LSCache) handles this.
Object caching keeps the results of database queries in memory, so WordPress stops asking the database the same questions on every page load. It helps logged-in users, the admin area, and anything a page cache cannot serve. Redis handles this.
Most sites benefit from both. Set up page caching first, because it does the most for the most visitors.
Turn on LiteSpeed Cache
LSCache is free on all WebGee plans. The quickest route is from cPanel, which installs and configures the plugin for you:
- Log in to cPanel and open LiteSpeed Web Cache Manager.
- Under LiteSpeed Cache Management, select WordPress Cache.
- Select Scan if your installations are not listed.
- Select Enable beside the installation.
If the plugin is already installed but caching is off, go to LiteSpeed Cache → Cache in WordPress and set Enable Cache to ON.
The defaults work on most sites without adjustment. The purge rules already clear the home page, category, tag and author archives when you publish a post, and the WooCommerce defaults already exclude the cart and checkout. If one page misbehaves, add it under Excludes rather than disabling the cache. See Install and enable LiteSpeed Cache.
Apply a preset
Presets apply a whole configuration at once. Go to LiteSpeed Cache → Presets, and on the Standard Presets tab select Apply Preset beside the one you want. Your existing settings are backed up first, and the History section lets you restore them. If Presets is missing, update the plugin to version 5.3 or later.
- Essentials: caching, a longer TTL and browser cache. It cannot break your layout.
- Basic: adds image optimisation and a mobile cache. Image optimisation is a QUIC.cloud service that needs a free domain key.
- Advanced: adds a large set of page-optimisation features.
- Aggressive and Extreme: add CSS and JavaScript combining, Critical CSS and Unique CSS, which are QUIC.cloud services that may incur fees.
Start with Essentials. It delivers most of the available improvement, and the gap between it and the aggressive presets is much smaller in real load time than in page-speed score. Move up one level at a time and test after each. See LiteSpeed Cache presets.
Page optimisation is where sites break From Advanced upwards, minifying and combining CSS and JavaScript can silently damage your layout or stop a script working, often on one template only. Test these presets on a staging copy, never directly on a live site, and expect to exclude conflicting files.
Confirm pages are being cached
Open the site in a private window in Chrome, press F12, switch to the Network tab and reload. Select the first entry, the HTML document, and look under Response Headers for x-litespeed-cache:
hit: served from cache. It is working.miss: generated by PHP and stored. Reload once and expect a hit.- No header: the page is not being cached.
For a quick check of a single URL, use check.lscache.io. If nothing is cached, confirm the plugin is active, look for a .litespeed_flag file in the document root, and remove any competing cache plugin. Two page caches fight, and usually neither works. See Check whether LiteSpeed Cache is working.
About the crawler The LSCache crawler, which pre-loads pages so the first visitor does not wait, is disabled on shared hosting because it is too resource-intensive for a shared server. It is available on Premium Hosting and Premium Reseller plans.
Add Redis object caching
Redis is the object cache on WebGee. Memcached has been retired and its PHP extension is disabled platform-wide, so a site still configured for Memcached is not object caching at all. Redis makes the biggest difference on sites with many plugins, large product catalogues, or a slow admin area. It makes little difference to a small brochure site already served from page cache.
1. Enable Redis in cPanel
Open Redis in cPanel, select Enable Redis, and note the port and password it shows.
2. Enable the PHP extension
Open Select PHP Version, select Extensions, and tick redis. The change applies immediately.
3. Point LiteSpeed Cache at Redis
In WordPress, go to LiteSpeed Cache → Cache → Object and set:
- Object Cache:
On - Method:
Redis - Host:
127.0.0.1 - Port and Password: the values from step 1
- Username: leave empty
Select Save. The connection status on the same page should read Passed. If it shows Connection refused, Redis is not running; Class 'Redis' not found means the PHP extension is off; Authentication failed means the password is wrong. The password is regenerated whenever Redis is disabled and re-enabled, so copy it again from cPanel. See Enable Redis object caching and Which object cache should I use?.
Replace WP-Cron with a real cron job
WP-Cron checks for scheduled tasks every time someone loads a page. On a busy site, that check can wait for a PHP worker and hold up the visitor. On a quiet site, scheduled posts and backups do not run because nobody loaded a page.
First, add this to wp-config.php above the line reading /* That's all, stop editing! */:
define( 'DISABLE_WP_CRON', true );Then open Cron Jobs in cPanel, set the schedule to Once Per Five Minutes, and enter this command, replacing cpaneluser with your cPanel username and adjusting the path if WordPress is not in public_html:
cd /home/cpaneluser/public_html && /usr/local/bin/php -q wp-cron.php > /dev/null 2>&1Five minutes suits most sites, and WooCommerce stores should keep it at five because order processing and stock updates depend on it. The > /dev/null 2>&1 stops cPanel emailing you the output every run. Confirm it works with the WP Crontrol plugin under Tools → Cron Events. See Replace WP-Cron with a real cron job.
If the dashboard is still slow
wp-admin is never page-cached, so it exposes problems the cached front end hides. Usually the cause is the site, not the server. Work through it in this order:
- Measure first. Install Query Monitor to see generation time, query count, the slowest queries and which plugin issued them. PHP X-Ray in cPanel profiles a request from the server side without installing anything.
- Find the plugin. One badly behaved plugin causes most slow dashboards. If Query Monitor does not name it, deactivate plugins one at a time on a staging copy.
- Limit the Heartbeat API on the front end and dashboard, but leave it running in the post editor, where it powers autosave.
- Raise the memory limit in
wp-config.php. WooCommerce recommends 256 MB, and WebGee plans allow up to 1 GB. - Use a current PHP version through cPanel's MultiPHP Manager, and enable OPcache under PHP extensions.
Do not cache wp-admin, even if a plugin offers it. You will see stale order counts and stock levels, and act on them. See Improve a slow WordPress or WooCommerce dashboard.
Frequently asked questions
Why does my page show x-litespeed-cache: miss?
A miss means the page was generated by PHP and then stored, which is normal on first load. Reload once and expect a hit, and test in a private window, because logged-in pages are never cached.
Can I use Memcached instead of Redis?
No. Memcached has been retired on WebGee and the PHP memcached extension is disabled platform-wide, so Redis is the supported object cache.
Which LiteSpeed Cache preset should I use?
Start with Essentials, which adds caching, a longer TTL and browser cache without touching your layout. Move up one level at a time and test after each, ideally on a staging copy.
Why is the LSCache crawler not available on my plan?
The crawler is disabled on shared hosting because visiting every page of every site is too resource-intensive for a shared server. It is available on Premium Hosting and Premium Reseller plans.