Close-up of a vintage typewriter with 'WordPress' typed on white paper.

How to Speed Up WordPress: A No-Nonsense Performance Guide

Tired of generic advice? This is a technical, no-fluff guide on how to actually speed up WordPress. We’ll cover hosting, assets, databases, and more.

Stop Blaming WordPress. Your Setup Is the Problem.

Let’s be direct. If you’re searching for how to speed up WordPress, you’ve probably already installed a caching plugin, compressed a few images, and stared blankly at your PageSpeed Insights score. It didn’t work, did it?

That’s because most performance advice is superficial. WordPress isn’t inherently slow; your implementation of it is. It’s a death by a thousand cuts from cheap hosting, bloated page builders, and a dozen plugins that all load their own version of jQuery.

This guide isn’t about quick fixes. It’s about a systematic approach to diagnosing and fixing the real bottlenecks that are killing your Core Web Vitals. We’ll treat your website like what it is: a complex application that requires proper engineering, not just more plugins.

The Uncomfortable Truth: Your Hosting Sucks

You cannot build a fast website on a slow foundation. That $5/month shared hosting plan is the single biggest anchor dragging your site down. Your Time to First Byte (TTFB) is likely atrocious, and no amount of front-end optimization can fix a server that takes a full second to think.

TTFB is the canary in the coal mine for server performance. It measures the time from the initial request to when the first byte of the HTML document is received. A high TTFB means your server is struggling to execute PHP, query the database, and assemble the page.

Migrate to a reputable managed WordPress host like Kinsta, WP Engine, or Flywheel. They provide server-level caching (Varnish, Nginx FastCGI), optimized PHP environments, and Content Delivery Networks (CDNs) out of the box. Yes, it costs more. Your performance, security, and sanity are worth it.

While you’re at it, ensure you’re running a modern version of PHP (8.0 or higher). The performance gains from PHP 7.x to 8.x are substantial and require zero effort beyond clicking an upgrade button in your hosting panel. Don’t be the person running a mission-critical site on an end-of-life PHP version.

Before and after your migration, use a tool like ScreamingCAT to crawl your site. You can extract TTFB for every single URL, giving you undeniable data to prove the ROI of better hosting. Don’t guess; measure.

Pro Tip

Server location matters. If your audience is primarily in North America, don’t host your site on a server in Frankfurt. Latency is a real, physical constraint.

How to Speed Up WordPress by Taming Your Asset Pipeline

Every plugin and theme you install wants to add its own CSS and JavaScript files. The problem? Most of them are lazy and load these assets globally on every single page, whether they’re needed or not. Your contact form’s CSS doesn’t need to load on your homepage.

This indiscriminate loading bloats your page weight and increases the number of render-blocking requests. Your browser has to download, parse, and execute all this junk before it can even think about painting the page. This is a direct attack on your Largest Contentful Paint (LCP) and Interaction to Next Paint (INP) scores.

Your first line of defense is an asset unloading plugin. Tools like Perfmatters or Asset CleanUp Pro allow you to conditionally disable CSS and JS files on a per-page or sitewide basis. You can disable a slider’s JavaScript everywhere except the homepage, or prevent a social sharing plugin from loading on your checkout pages.

For more granular control, you can dequeue scripts and styles directly in your theme’s `functions.php` file. This is the cleaner, more permanent solution if you know what you’re doing. For example, to remove the Contact Form 7 stylesheet from every page except your contact page:

This approach requires identifying the correct script/style ‘handle’, but it prevents the asset from ever being enqueued in the first place. It’s surgical precision versus the plugin sledgehammer.

Warning

Aggressively dequeuing assets will break your site. Use a staging environment for testing, and always check your browser’s developer console for errors after making a change. Always.

add_action( 'wp_print_styles', 'deregister_cf7_styles', 100 );

function deregister_cf7_styles() {
  if ( ! is_page( 'contact' ) ) {
    wp_deregister_style( 'contact-form-7' );
  }
}

Image Optimization: It’s Not Just About ‘Smushing’

Telling an SEO to optimize images is like telling a chef to use salt. Yet, oversized, uncompressed images remain the most common cause of poor web performance. It’s the lowest-hanging fruit, and everyone is still getting it wrong.

A proper image optimization strategy is a three-pronged attack. Get all three right, and your LCP will thank you. Get one wrong, and you’re still serving phonebook-sized JPEGs to mobile users.

First, use ScreamingCAT’s file size report in ‘Spider’ mode to find all images over 100KB. This gives you a hit list. Don’t waste time manually checking pages; audit the entire site and work from a data-driven list of offenders.

Once you have your list, implement a real strategy. Here’s what you need to do:

  • Compression: Use an API-based service like ShortPixel or Imagify. Set the compression level to ‘lossy’. The tiny drop in quality is imperceptible to users but results in massive file size reductions. Don’t be precious about it.
  • Resizing: Serve images at the correct dimensions. WordPress creates multiple image sizes on upload, and `srcset` attributes should handle serving the right one. But your theme or page builder might be requesting a 1200px wide image for a 300px container. This is an unforgivable waste of bandwidth. Audit your key templates.
  • Modern Formats: Convert everything to WebP or AVIF. These formats offer superior compression at a higher quality than JPEG or PNG. Plugins can do this on the fly, serving WebP to compatible browsers while keeping the originals as a fallback. This is non-negotiable in 2024.
  • Lazy Loading: For below-the-fold images, native `loading=”lazy”` is your best friend. WordPress enables this by default, but verify it’s working. For critical above-the-fold images, like your hero banner, you might need to explicitly disable lazy loading (`loading=”eager”`) to prioritize them.

Database Cleanup: Your Digital Hoarder’s Closet

Your WordPress database, specifically the `wp_options` table, is a ticking time bomb. Over years of installing and uninstalling plugins, creating post revisions, and storing transient data, it becomes a bloated mess. This directly impacts server processing time, slowing down both the back-end (wp-admin) and the front-end.

The most sinister culprit is ‘autoloaded’ data in the `wp_options` table. This is data that WordPress loads on every single page request, whether it’s needed or not. A poorly coded plugin can add megabytes of junk to be autoloaded, adding hundreds of milliseconds to your TTFB.

Use a database optimization plugin like WP-Optimize or Advanced Database Cleaner to perform regular cleanups. Your primary targets should be post revisions, trashed posts, spam comments, and expired transients. This is basic hygiene.

To tackle autoloaded data, you’ll need to get your hands dirty. Use a plugin like WP-Control or run a direct SQL query to find the largest autoloaded options. Often, you’ll find data left behind by uninstalled plugins. Cautiously remove these orphaned rows after backing up your database.

A lean database is a fast database. Don’t let years of digital cruft accumulate. Schedule a monthly cleanup and be ruthless about what you keep.

Advanced Tactics to Speed Up WordPress: Beyond Caching

You’ve upgraded your hosting, tamed your assets, and cleaned your database. Now we move beyond the basics. These techniques require more technical nuance but can provide significant performance gains.

A good caching plugin is table stakes. A CDN is the next logical step. Services like Cloudflare or BunnyCDN cache your static assets (images, CSS, JS) on servers around the world, reducing latency for international visitors. Cloudflare’s free plan is a no-brainer and also provides security benefits.

Next, tackle render-blocking resources with Critical CSS. The concept is to identify the absolute minimum CSS required to render the above-the-fold content, inline it directly in the “ of your HTML, and load the rest of the stylesheet asynchronously. This results in a near-instantaneous initial render, dramatically improving perceived performance and your LCP score. Plugins like WP Rocket can automate this, but it often requires manual tweaking to get right.

Finally, be strategic with resource hints. Use “ for critical resources needed on the current page (like a specific font file or hero image) and “ for resources likely needed for the next navigation (like the CSS for your main product page). Use them sparingly; preloading too much can actually harm performance by competing for bandwidth.

For a deeper dive into the metrics you’re trying to improve, read our guides on understanding Core Web Vitals and how to properly interpret PageSpeed Insights.

Performance is a Process, Not a Project

To effectively speed up WordPress, you must stop thinking in terms of one-time fixes. Performance is not a project you complete; it’s a process of continuous monitoring and improvement.

Every new plugin, every theme update, and every marketing script is a potential performance regression. The only way to stay ahead is to integrate performance auditing into your regular workflow.

Stop guessing and start measuring. Use tools like ScreamingCAT to crawl your site regularly, monitor key metrics like TTFB and file sizes, and catch issues before they impact your users and your rankings. A fast site is a healthy site.

Key Takeaways

  • Your hosting is the foundation. Cheap shared hosting is the primary cause of slow WordPress sites and high TTFB.
  • Audit your plugins ruthlessly. Use an asset unloading plugin to prevent unnecessary CSS and JS from loading on every page.
  • A complete image optimization strategy involves compression, correct sizing, and modern formats like WebP.
  • Regularly clean your database to remove post revisions, transients, and autoloaded data from old plugins.
  • Performance is an ongoing process. Continuously audit your site with tools like ScreamingCAT to prevent regressions.

ScreamingCAT Team

Building the fastest free open-source SEO crawler. Written in Rust, designed for technical SEOs who value speed, privacy, and no crawl limits.

Ready to audit your site?

Download ScreamingCAT for free. No limits, no registration, no cloud dependency.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *