WordPress can be fast, but it takes work. This guide covers 25 actionable techniques to improve your site's performance, from quick wins to advanced optimizations.
Quick Wins (Do These First)
1. Upgrade Hosting
Your hosting matters more than any optimization plugin.
Hosting Type
Typical TTFB
Monthly Cost
Cheap shared
500-2000ms
$3-10
Quality shared
200-500ms
$15-30
Managed WordPress
100-300ms
$25-50
VPS/Cloud
50-200ms
$20-100
Recommendation: Invest at least $25/month in hosting. Kinsta, WP Engine, Cloudways are all solid choices.
2. Use a Caching Plugin
Caching turns dynamic WordPress into static HTML (temporarily).
Top choices:
WP Rocket (paid) - Easiest, most effective
LiteSpeed Cache (free) - For LiteSpeed servers
W3 Total Cache (free) - Complex but powerful
Minimum settings:
Page cache: On
Browser cache: On
Gzip compression: On
3. Use a CDN
Serve assets from servers near your visitors.
Quick setup: Cloudflare free tier
1. Sign up at cloudflare.com
2. Add your site
3. Update nameservers
4. Done
4. Update Everything
Update these regularly:
WordPress core
All plugins
Your theme
PHP version (8.1+ recommended)
Outdated software is slower and less secure.
5. Delete Unused Plugins/Themes
Every installed plugin adds overhead:
Database queries
PHP files loaded
Potential conflicts
Action: Delete plugins you're not using, not just deactivate.
Image Optimization
6. Compress Images
Images are usually the largest files on your pages.
Plugins:
ShortPixel (best balance)
Imagify (simple)
Smush (popular free option)
Settings:
Compression: Lossy or Glossy (not lossless)
Resize large images: Max 2000px width
Convert to WebP: Yes
7. Use WebP Format
WebP images are 25-35% smaller than JPEG/PNG.
Automatic conversion:
ShortPixel converts automatically
Use element for fallbacks
8. Implement Lazy Loading
Load images only when they enter the viewport.
Native HTML:
WordPress 5.5+ adds this automatically to images in content.
9. Specify Image Dimensions
Always include width and height to prevent layout shift:
10. Use Responsive Images
Serve appropriately sized images for each device:
srcset="
image-400.jpg 400w,
image-800.jpg 800w,
image-1200.jpg 1200w"
sizes="(max-width: 600px) 400px, 800px"
src="image-800.jpg"
alt="Description">
WordPress generates these automatically for uploaded images.
Code Optimization
11. Minify CSS and JavaScript
Remove whitespace and comments from code files.
WP Rocket: Enable minify CSS and JS
Autoptimize: Free alternative
12. Defer Non-Critical JavaScript
Load JavaScript after the page is interactive:
WP Rocket: Load JS deferred option
Perfmatters: Defer JS feature
13. Remove Unused CSS
Average WordPress page loads 50-200KB of unused CSS.
Tools:
PurgeCSS (developer tool)
WP Rocket's unused CSS removal
Perfmatters' unused CSS removal
14. Reduce Plugin Output
Many plugins add scripts/styles on every page even when not needed.
Example: Contact Form 7 loads on every page, not just the contact page.
Fix with Asset CleanUp or Perfmatters:
Disable scripts on pages where not needed
Load conditionally
15. Optimize Fonts
Problems with fonts:
Multiple font files
Too many weights (400, 500, 600, 700...)
Render-blocking
Solutions:
Limit to 2 font families
Limit to 2-3 weights
Preload critical fonts:
Database Optimization
16. Clean the Database
WordPress databases accumulate junk:
Delete regularly:
Post revisions
Spam/trashed comments
Transients
Orphaned meta
Unused tables from old plugins
Plugins:
WP-Optimize
WP Sweep
Advanced Database Cleaner
17. Limit Post Revisions
Every save creates a revision. Limit them:
// In wp-config.php
define('WP_POST_REVISIONS', 5);
18. Optimize Database Tables
Run OPTIMIZE TABLE periodically:
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options;
Or use WP-Optimize plugin's one-click optimization.
19. Reduce Autoloaded Options
WordPress loads all autoloaded options on every page load.
Check size:
SELECT SUM(LENGTH(option_value)) / 1024 / 1024 AS "Size (MB)"
FROM wp_options
WHERE autoload = 'yes';
If over 1MB, you have a problem. Identify and fix large autoloaded options.
If you've done everything and WordPress is still slow, consider whether the platform is the bottleneck. Modern static sites achieve performance that WordPress can only approach with extensive optimization.