Slow WordPress Website Triage Checklist
A slow WordPress website is not always a hosting problem. It can come from DNS, CDN, Nginx, PHP-FPM, MySQL, plugins, cache, images, bots or server resources. This checklist helps you diagnose slowness by layer instead of guessing.
Core principle
Separate frontend slowness, backend slowness and server slowness. A slow homepage, slow wp-admin and slow database query do not always have the same cause.
Checklist
- Test whether the whole site is slow or only specific pages.
- Check if wp-admin is also slow.
- Check server CPU, RAM and disk usage.
- Check Nginx access log for bot spikes.
- Check Nginx error log for backend timeouts.
- Check PHP-FPM status and load.
- Check MySQL status and database size.
- Review recently installed or updated plugins.
- Check cache plugin status.
- Test again after isolating the likely bottleneck.
Reusable lesson
Slowness is a symptom, not a root cause. The best operators isolate whether the bottleneck is network, web server, PHP, database, plugin or traffic.
When to Use This Checklist
Use this checklist when a WordPress website feels slow, wp-admin lags, pages time out or users report poor performance.
Required Tools
WordPress admin, SSH access, Nginx logs, PHP-FPM, MySQL, cache plugin, server monitoring
Before You Start
Do not install more optimization plugins before identifying whether the bottleneck is server, database, plugin, cache or traffic.
Structured Checklist Steps
- Test homepage speed.
- Test wp-admin speed.
- Check CPU and RAM.
- Check disk usage.
- Read access log.
- Read error log.
- Check PHP-FPM.
- Check MySQL.
- Review plugins.
- Check cache.
Verification Steps
- The slow layer is identified.
- CPU and RAM are stable.
- No repeated timeout appears in logs.
- wp-admin and frontend are tested separately.
- Recent plugin changes are reviewed.
Rollback Plan
If an optimization change makes the site worse, disable the latest plugin or restore the previous cache/server configuration and test again.
Common Mistakes
- Installing many speed plugins without diagnosis.
- Ignoring wp-admin performance.
- Blaming hosting before checking plugins.
- Not checking bot traffic.
- Changing cache, CDN and server settings together.
Related Commands
curl -I https://example.com
top
free -h
df -h
sudo tail -n 100 /var/log/nginx/access.log
sudo tail -n 100 /var/log/nginx/error.log
sudo systemctl status php8.2-fpm
sudo systemctl status mysql