Skip to content
🚀 23 Tips to speed up your wordpress site in 2026

🚀 23 Tips to speed up your wordpress site in 2026

Slow loading kills conversions faster than bad design. According to Google data, 53% of mobile visitors leave a page if it takes longer than 3 seconds to load.

WordPress doesn't fly out of the box: themes load multiple CSS files, plugins enqueue scripts on every page, images load at their original, many-times-over resolution. All of this is fixable.

Below, 23 working techniques for speeding up WordPress. From the server foundation to fine-tuning fonts. No fluff, with tools and numbers.

💡 Quick overview:

  • Start with the server and hosting
  • Enable page and browser caching
  • Optimize images: compression, WebP, lazy loading
  • Minify CSS/JS, configure deferred script loading
  • Audit plugins and external resources

1. Server and hosting, the speed foundation

img IX mining rig inside white and gray room

If the server is slow, no amount of code optimization will save you. This is the foundation.

Choose hosting with guaranteed resources. Cheap shared plans pack hundreds of sites onto a single machine. One site gets a traffic spike, the rest grind to a halt. For WordPress, look at managed hosting with isolated resources (RAM, CPU cores) and built-in server-side caching. Look for plans with Nginx, modern PHP versions, and Redis.

Use a CDN. A Content Delivery Network serves static files from servers geographically close to the visitor. Cloudflare offers a free plan with DDoS protection, Brotli compression, and edge caching. For larger projects, it's worth comparing Cloudflare Pro, BunnyCDN, and KeyCDN.

Configure Brotli or GZip compression. Compressing text-based resources on the server dramatically reduces the amount of data transferred. Brotli provides better compression than GZip at comparable decompression speed. It's supported by all modern browsers and CDNs. Enable it in Nginx or Apache with a single directive.

Consider a reverse proxy. An Nginx (reverse proxy) + Apache setup lets you serve static assets directly from fast Nginx while proxying dynamic requests to Apache. This offloads the backend and reduces Time to First Byte. Relevant for sites on shared hosting.

2. Caching: server-side and browser

Caching is the highest-leverage speed improvement after the server. Properly configured caching turns dynamic page generation into serving a ready-made HTML file in tens of milliseconds.

Server-side caching. Plugins like WP Rocket, W3 Total Cache, or LiteSpeed Cache (for LiteSpeed servers) create static HTML copies of pages and serve them without rebuilding. WP Rocket can also minify CSS/JS, defer scripts, clean the database, and includes built-in lazy load.

Browser caching. Set the Expires and Cache-Control headers so returning visitors load images, fonts, and styles from the local browser cache instead of the server. In caching plugins this is a single checkbox. For manual setup, add rules with sensible durations to .htaccess (Apache) or your Nginx config: images, one year; CSS/JS, one month; HTML, one week.

3. Image optimization

red and white no smoking sign

Images are the heaviest part of a web page. According to HTTP Archive data for 2025, images account for an average of 45% of total page weight. Here is what to do about it.

Always specify width and height. Without explicit dimensions the browser does not reserve space for the image, so content jumps during loading (Cumulative Layout Shift). CLS is one of the Core Web Vitals metrics that affect ranking. Setting the width and height attributes eliminates layout shifts.

Compress images. Uploading a photo at its original resolution for display in an 800×600 block is a typical mistake. Reduce the resolution to the actual display size (doubled for Retina) and run images through TinyPNG or the EWWW Image Optimizer compression plugin.

Enable lazy loading. Images below the fold should not load until the user scrolls. WordPress 5.5+ supports native loading="lazy". For finer control (videos, iframes) use the official WP Rocket site or the Lazy Load by WP Rocket plugin.

Switch to WebP. The WebP format delivers a 25-35% smaller file size compared to JPEG/PNG at visually identical quality. WordPress has supported WebP since version 5.8. The EWWW Image Optimizer or Converter for Media plugin automatically converts uploaded JPEG/PNG files. As of 2026, WebP is supported by virtually all browsers.

4. Code and resource optimization

The less code sent to the browser and the later it executes, the faster the user sees the page. Three basic rules and one advanced technique.

Minify CSS and JavaScript. Removing whitespace, comments, and shortening variable names reduces file size by several times. Caching plugins do this automatically. For developers: wp_enqueue_script() and wp_enqueue_style() with the minification flag on production.

Load JavaScript with defer or async. The defer attribute postpones script execution until the HTML is fully loaded, preserving order. async executes the script immediately after loading, without waiting for others. For most WordPress scenarios (analytics, chats, trackers), defer works well. Enabled in WP Rocket with a single setting.

Combine files. Every CSS or JS file is an HTTP request. Combining small files into one reduces overhead. Caching plugins do this automatically. Do not combine scripts with different loading strategies (defer with synchronous).

Configure Critical CSS. A technique for maximum first-screen rendering speed: critical CSS rules (what is needed for the top portion of the page) are inlined directly into the <head> of the HTML document, while full CSS files load asynchronously. The user sees a styled page instantly, without waiting for all styles to load. WP Rocket and LiteSpeed Cache offer automatic Critical CSS generation.

5. WordPress under the hood

person in black and white t-shirt using computer

The WordPress engine itself also needs thoughtful configuration. Three points that are often overlooked.

Choose a lightweight theme. The theme determines how much CSS, JavaScript, and fonts load on each page. Multipurpose themes (Avada, Divi) pull in dozens of libraries. Lightweight themes like GeneratePress, Astra, or Kadence load minimal resources and work with the block editor without a page builder layer. The load time difference between a heavy and a lightweight theme on the same content is 1.5-3 seconds.

Keep plugins under control. Every plugin adds code that executes on load. And often, on every page, even if its functionality is only needed in the admin. Do an audit: deactivate and delete everything you are not using. Features like inserting code into <head> or custom post types are often solved with a couple of lines in functions.php.

Host fonts locally. Google Fonts from an external server add a DNS lookup and download, an extra 300-500 ms. The OMGF plugin downloads fonts to your server. Configure preload for WOFF2, and the browser will start downloading before text rendering.

6. Site hygiene: what slows down a page without you noticing

There are things that are not obvious but methodically steal milliseconds. Six of these "invisible culprits".

External resources. Every request to a third-party server (fonts, analytics scripts, social media widgets) is a risk. If the external server goes down, your page hangs. Minimize the number of external domains. Load Google Analytics and Tag Manager asynchronously.

Ad scripts. AdSense adds hundreds of kilobytes of JavaScript. If advertising is not your main source of income, consider whether it is worth the loss of speed and search rankings.

Redirects. Every redirect is an extra HTTP request. A chain of three 301s adds hundreds of milliseconds. Audit your site and reduce it to a single direct redirect.

Query parameters in URLs. Addresses with ?utm_source=... or ?v=2 are often not cached. For marketing parameters, use # (fragment), which is not sent to the server.

Broken requests. A link to a non-existent CSS/JS/image file makes the browser wait until timeout. One broken URL can add seconds to load time. Run a scanner (Screaming Frog, Ahrefs, Broken Link Checker) and fix all 404s.

Watch TTFB. Time to First Byte, the time until the first byte of the response. Google recommends keeping TTFB below 200 ms. High TTFB points to a hosting or database problem. Upgrade to MySQL 8.0+ or MariaDB 10.6+, use Redis for object caching.

Watch the PHP version. Every major PHP version gives a speed boost in execution. On PHP 8.3, WordPress runs almost twice as fast as on PHP 7.4. Update to the latest stable version supported by your hosting; as of early 2026, that is PHP 8.4.


If you want to see the optimization process live, this video applies 7 speed-up techniques step by step on a real WordPress site, from a PageSpeed Insights audit to caching setup.


⁉️🤔 Frequent questions

How many caching plugins should I install?

One. Two caching plugins create conflicts: minification is duplicated, cache files get overwritten, pages are served with errors. Pick one: WP Rocket (paid, maximum out of the box), W3 Total Cache (free, requires configuration), or LiteSpeed Cache (for LiteSpeed servers).

One good plugin with properly configured settings will give you more than three installed "just in case". WP Rocket covers page caching, browser caching, minification, deferred script loading, lazy loading, and database cleanup: 7 techniques from our list in a single interface.

Is a CDN mandatory?

No, but almost always beneficial. If your audience is geographically concentrated in one region and your server is located there, the speed gain from geo-distribution will be minimal. But a CDN provides additional benefits: reduced load on the origin server, DDoS protection (Cloudflare), automatic Brotli compression, and edge caching.

Cloudflare's free plan covers the needs of the vast majority of sites. Setup takes 10 minutes: changing NS servers and basic configuration in the dashboard.

How do I check that the optimization worked?

PageSpeed Insights and GTmetrix. PageSpeed Insights from Google shows scores for mobile and desktop versions with a breakdown by Core Web Vitals metrics (LCP, INP, CLS). GTmetrix gives a waterfall diagram of every resource loading. Compare the metrics before and after implementing the techniques. Goal: LCP under 2.5 seconds, INP under 200 ms, CLS under 0.1.

An important nuance: PageSpeed Insights results depend on the geographic location of Google's test server relative to your hosting. A site can show 85 points from Europe and 60 from Asia without a CDN. This is not an error; it is an indicator that you need a CDN.

Does WordPress itself slow things down?

By itself, no. WordPress on a clean core with the default theme runs fast. What slows it down: unoptimized themes, plugins with scripts on every page, lack of caching, and heavy images.

In practice, the vast majority of WordPress site speed issues boil down to three causes: a heavy theme, a bloated set of plugins, and no caching. Start with those.

What is the optimal order of implementation?

Server → Cache → Images → Code. Good hosting creates the foundation. Caching gives the most noticeable boost. Image optimization removes unnecessary megabytes. Only then does it make sense to fiddle with minification and Critical CSS; that is fine-tuning that will change nothing on a slow server.

After server and caching, measure the result. If LCP is already under 2.5 seconds, do the rest on a planned schedule. The main victories are already won.

Is it worth it? The bottom line

Speeding up a site is not a one-time "install a plugin and forget" action. Hosting changes, plugins update, content accumulates.

The good news: the lion's share of the result is achieved with the first efforts. Fast hosting plus WP Rocket (or an equivalent) plus image compression, and you are already in the green zone of PageSpeed Insights. The remaining techniques on the list are polishing.

Go through the list from top to bottom. Implement what has not been done yet. Every day with slow loading means lost visitors who will never come back.

Choose hosting with isolated resources, install WP Rocket, compress images to WebP, and your WordPress will fly.