Performance
WordPress speed optimization: a practical checklist
A slow WordPress site costs you visitors, sales, and Google rankings. Most slow sites I’m asked to fix share the same few problems, and you can usually solve them without a rebuild. This is the checklist I work through, roughly in the order that gives the biggest gains for the least effort.
1. Measure first
Before changing anything, record a baseline. Run the page through PageSpeed Insights and note the Core Web Vitals: Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS). Test your home page and your most important templates, such as a product page or a blog post, because they often fail for different reasons.
2. Check hosting and server response time
If the server takes more than a second to send the first byte, no front-end tweak will fully fix it. Make sure you’re on a supported PHP version (8.1 or newer), that OPcache is enabled, and that the host isn’t overselling a shared server. If most of your visitors are in Nepal, choose a data centre close to them or put a CDN in front of the site.
3. Turn on page caching
Page caching serves pre-built HTML instead of running PHP and database queries on every visit. It’s usually the single biggest win. Use your host’s built-in cache if they have one, or a well-maintained caching plugin. Exclude cart, checkout, and account pages on WooCommerce stores. For sites with heavy database use, add an object cache such as Redis.
4. Fix your images
- Resize images to the size they’re actually displayed at. Don’t upload 4000px photos for a 600px slot.
- Serve modern formats like WebP or AVIF.
- Lazy-load images below the fold, but not the main hero image, because that hurts LCP.
- Always set
widthandheightso the layout doesn’t jump while loading (CLS).
5. Audit your plugins
Plugin count matters less than what each plugin does. One badly written plugin can load scripts on every page or run slow queries on every request. Deactivate plugins you don’t use, replace overlapping ones, and use a tool like Query Monitor to find the ones slowing down page generation.
6. Trim CSS and JavaScript
Heavy themes and page builders often load everything everywhere. Load scripts only on the pages that need them, defer non-critical JavaScript, and remove unused CSS where you can. On custom themes, enqueue assets conditionally instead of globally. That’s one reason I build with custom themes and Gutenberg blocks rather than page builders.
7. Load fonts efficiently
Limit yourself to the font weights you actually use, add font-display: swap, and
consider self-hosting fonts to avoid extra connections. Every extra weight is another file to download.
8. Clean up the database
Over time, the database fills up with post revisions, expired transients, spam comments, and
autoloaded options left behind by old plugins. A large wp_options autoload size slows
down every request. Clean these regularly, and always back up the database before you start.
9. Re-measure and keep it fast
Run the same tests again and compare with your baseline. Speed isn’t a one-time job: new plugins, tracking scripts, and unoptimized uploads creep back in. A quick monthly check keeps a site fast.
Need help speeding up your WordPress site?
I offer WordPress speed optimization and development services for businesses in Nepal and abroad.
Chat on WhatsApp