How to Fix Slow Website Performance
This guide helps you fix slow website performance caused by hosting limits, caching issues, large files, or inefficient WordPress setups.
Common Causes of Slow Websites
High Resource Usage
CPU or RAM limits being reached.
No Caching
Pages being generated on every request.
Heavy Plugins
Too many or poorly coded plugins.
Large Images
Unoptimised images slowing page load.
Step-by-Step Optimisation
Check Resource Usage
cPanel
Metrics → Resource Usage
DirectAdmin
System Info → Resource Usage
Look for Spikes
Identify when limits are being hit.
Enable Caching (Most Important)
Page Caching
Serve static pages instead of dynamic requests.
Browser Caching
Store files locally for faster repeat visits.
Object Caching (Redis)
Cache database queries for major speed improvements.
WordPress Optimisation (Recommended)
Use Redis Cache
Install a Redis Object Cache plugin for significant speed gains.
Reduce Plugins
Remove unused or heavy plugins.
Update Site
Keep WordPress, themes, and plugins updated.
Lightweight Theme
Avoid bloated themes.
Optimise Images & Files
Compress Images
Reduce file sizes.
Lazy Load
Load images only when needed.
Minify CSS/JS
Reduce file sizes.
Improve Server Performance
Enable OPcache
Improves PHP execution speed.
Reduce Cron Jobs
Limit background processes.
Advanced: Check Performance via cPanel Terminal
Use these commands in Terminal to diagnose why your website is slow. Run them during slow periods for best results.
CPU & Load Average
top
Top Processes by CPU
ps aux --sort=-%cpu | head -15
Top Processes by Memory
ps aux --sort=-%mem | head -15
Memory Usage
free -m
Disk Usage (Account)
du -sh ~/* | sort -hr
Large Files in public_html
find ~/public_html -type f -size +50M -ls | sort -k7 -hr
Disk I/O Wait (Common Slowdown Cause)
vmstat 1 10
MySQL Running Queries
mysqladmin processlist
WP-CLI: Profile Page Load (WordPress)
wp profile stage --all --spotlight --url=https://yourdomain.com
WP-CLI: Slowest Hooks
wp profile hook --all --spotlight
WP-CLI: Database Queries
wp profile queries --url=https://yourdomain.com
Website Response Time (TTFB)
curl -I -w "Time: %{time_total}s\n" -s -o /dev/null https://yourdomain.com
Inode Usage (Hidden Limit)
df -i ~
Common Issues & Fixes
Slow Admin
Plugins or database queries.
Slow Site
No caching or heavy content.
Intermittent Slowness
Resource limits reached.
Quick Fix Checklist
- ✔ Enable caching (Redis recommended)
- ✔ Reduce plugins
- ✔ Optimise images
- ✔ Upgrade PHP
- ✔ Check resource usage