Home / WordPress Guides / Performance & Optimization / 6 Tips for Optimizing your WordPress

6 Tips for Optimizing your WordPress

TABLE OF CONTENTS

Free WordPress Site Review

Is your WordPress setup ready for what 2026 demands?

TL;DR

  • To speed up WordPress, work through six areas: hosting, caching, images, third-party scripts, code and compression, and testing.
  • Start with hosting and caching, because every other fix builds on them.
  • Compress and resize images, load them lazily, and remove scripts you don’t need.
  • Measure with Google PageSpeed Insights before and after, and change one thing at a time so you know what actually helped.

Intro

Learning how to speed up WordPress starts with one question: what is actually slowing your pages down? The answer is rarely one big problem. It’s usually a mix of slow hosting, missing caching, oversized images and scripts nobody remembers adding.
When we review small business sites, the slowest ones usually have several of these at once, and the order in which you fix them matters.
This guide covers six practical fixes in the order we’d apply them. You’ll see what each one does, which tools are worth using, and how to check that a change really helped.

Step 1: Choose Hosting That Can Keep Up

Your hosting sets the ceiling for everything else in this guide. Caching, lighter images and cleaner code all help, but none of them can make a slow server fast.
If a site is still slow after the other five steps, hosting is the first place we look.

Pick the Right Type of Hosting

Type What it is Best for
Shared hosting Your site shares one server’s resources with many other sites Small, low-traffic sites on a tight budget
Managed WordPress hosting Servers tuned for WordPress, with caching and updates handled for you Business sites that need speed without server work
VPS or cloud hosting A dedicated slice of a server that you or your developer manage Larger or custom setups with technical support
For most small business sites, managed WordPress hosting is the simplest starting point.

What to Check Before You Choose a Host

  • Clear caching setup. Ask which caching the host already provides, so you don’t run two layers that conflict with each other.
  • A server near your visitors. Pick a data center in or near your main market. For a US audience, that means a US location.
  • HTTPS included. WordPress.org lists HTTPS support as a baseline, and most hosts include a free SSL certificate. If yours doesn’t, see our guide on how to add SSL to WordPress.
  • Clear resource limits. Know the CPU, memory and simultaneous-request limits on your plan, so a traffic spike doesn’t take the site down.
  • Support that can investigate server problems, not just reset passwords.

A CDN Is Not a Replacement for Good Hosting

A CDN stores cached copies of your files on servers around the world, so visitors get them from a nearby location. It doesn’t host your site and can’t replace proper hosting, so treat it as an add-on, not a fix for a slow server.

How to Tell If Your Hosting Is the Problem

Check your Time to First Byte (TTFB), which is the time before the first byte of your page arrives. Google’s web.dev gives 0.8 seconds or less as a rough guide for a good result, and anything over 1.8 seconds as poor. You can measure it in the Network panel of Chrome DevTools or with WebPageTest.

If TTFB stays high with caching turned on, look at the server first, or confirm the cache is actually working. Our guide on how to reduce WordPress server response time covers the fixes.

Step 2: Use a Caching Plugin

WordPress builds each page from scratch every time someone visits: it runs PHP code and queries the database. A caching plugin saves a ready-made copy of the page, usually as a static HTML file, and serves that copy instead. The server does far less work, so pages come back faster.

We run WP Rocket on our own site, so it’s the plugin we know best.

Use Only One Caching Plugin

Two caching plugins on the same site fight each other. The WP Fastest Cache and W3 Total Cache pages both tell you to deactivate any other caching plugin first. Also check what your host already caches (see Step 1), so you don’t stack two layers.

Caching Plugins Compared

Plugin Cost Best for Worth knowing
WP Rocket Paid, 14-day free trial Beginners who want results without technical setup Most optimizations are applied automatically
LiteSpeed Cache Free Sites on LiteSpeed hosting The page cache needs a LiteSpeed server, OpenLiteSpeed or QUIC.cloud CDN. Its other optimization features work on any server
WP Super Cache Free Simple, low-maintenance sites Made by Automattic. “Simple” mode is the recommended setup
W3 Total Cache Free, with a Pro version Advanced users who want control over page, object and database caching Many settings, and minify options may need trial and error
WP Fastest Cache Free, with a premium version Easy setup with built-in minification The free version covers page caching, HTML/CSS minify, Gzip and browser caching. JS minify and lazy load are premium
Cache Enabler Free Lightweight static page caching Supports Brotli and Gzip pre-compression. WebP needs the Optimus service

How to Set Up Caching Without Breaking Your Site

1. Install one plugin and turn on page caching.

2. Turn on one optimization at a time, such as minify or delayed scripts. Some of them can break layouts or functions on certain themes.

3. After each change, clear the cache and check key pages while logged out: menus, forms and checkout.

4. Re-run PageSpeed Insights to confirm the change helped (see Step 6).

Step 3: Optimize Your Images

Oversized images are one of the most common reasons a WordPress page loads slowly. The fix has four parts, and most of it can run on autopilot.
The most common image problem we find on client sites is a full-size camera photo uploaded straight into a small content area.

Resize Before You Upload

Upload images close to the size they’re shown at. A 4,000-pixel photo in an 800-pixel column wastes bandwidth the visitor never benefits from. WordPress scales images wider than 2,560 pixels down automatically, but that is still far larger than most layouts need.

Pick the Right Format

Use WebP for most photos and graphics, JPEG as the universal fallback, PNG for logos that need transparency, and SVG for icons. AVIF can shrink files further where browsers support it. For a full format comparison, see our image optimization guide.

Compress Automatically with a Plugin

A plugin compresses every upload for you. Use one image plugin at a time, so the same file isn’t processed twice.
Plugin Free plan WebP and AVIF Worth knowing
Smush Compression (lossy and lossless) and lazy loading Pro only The free version skips images over 5 MB
Imagify 20 MB of images per month, about 200 images Included in the free plan Keeps backups of your originals by default
ShortPixel 100 credits per month Yes Each thumbnail uses one credit, so one upload can cost several

Lazy Load Images, but Not the First One

Lazy loading delays images until a visitor scrolls near them. WordPress has done this by default since version 5.5, and caching and image plugins offer it too. Don’t lazy load the large image at the top of the page. It is usually the Largest Contentful Paint element, and it should load first.

Step 4: Cut Third-Party Scripts and Slow Background Tasks

Two things can slow a page that have nothing to do with your images or hosting: code loaded from other companies’ servers, and jobs running quietly inside WordPress.

Find and Trim Third-Party Scripts

A third-party script is any script loaded from a domain other than your own: analytics, ads, chat widgets, social buttons, A/B testing tools and tracking pixels. Third-party scripts can significantly affect page load performance, and they are easy to forget once they’re installed.

To see what you’re loading, open the Network panel in Chrome DevTools, reload the page and look for requests from domains that aren’t yours. Then deal with each one:
  • Remove what you no longer use. Old tracking pixels, a second analytics tag, a chat widget nobody answers.
  • Load the rest later. Scripts can be deferred so they don’t block the page. Most caching plugins from Step 2 also offer a delay option, though some keep it in the paid version.
  • Load embeds on click. A YouTube video or map can show a preview image first and load the real embed only when someone clicks it.
  • Test after every change. Delaying scripts can break chat widgets, forms and checkout.
On client sites, the most common find is a script left behind by a tool the business stopped using years ago.

Check What Runs in the Background

WordPress handles scheduled jobs, such as update checks and scheduled posts, through WP-Cron. It checks a list of due tasks on every page load and runs whatever is due. Heavy or badly timed jobs, like backups or plugin imports, add load to your server while visitors are browsing.

1. See what’s scheduled. The free WP Crontrol plugin lists every scheduled event under Tools > Cron Events, shows when it runs, and lets you pause, run or delete events. Events left behind by plugins you’ve removed show “None” as their action and are usually safe to delete.

2. Move heavy jobs off-peak. Schedule backups and large imports for hours when your traffic is lowest.

3. On busy sites, use a real server cron. Add this line to wp-config.php:

define( ‘DISABLE_WP_CRON’, true );

Then set up a server cron job that requests ,wp-cron.php at regular intervals. Do both steps together. If you disable WP-Cron without the server job, scheduled tasks stop running. If you’re not sure how to set up the job, your host’s support can do it.

Step 5: Minify Code and Enable Compression

This step shrinks the code your site sends to visitors and tells browsers how long they can keep it.

Minify CSS and JavaScript

Minification removes spaces, comments and line breaks from code files. They get smaller, and nothing changes on the page. It’s one of the safest speed fixes, and your caching plugin from Step 2 probably includes it. If it doesn’t, the free Autoptimize plugin does the job, and it is still actively updated.
The most common problem we see is two plugins minifying the same files at once, which can leave pages unstyled. Pick one tool and turn minification off in the other.

Skip “Combine Files” on Modern Hosting

Combining many CSS or JavaScript files into one used to cut the number of requests under HTTP/1.1. With HTTP/2 and HTTP/3, browsers load many small files in parallel over a single connection, so combining brings little benefit and breaks layouts more often. Leave it off unless a before-and-after test shows a real gain.

Turn On Text Compression

Compression shrinks HTML, CSS and JavaScript before the server sends them. Brotli usually makes files smaller than GZIP, and GZIP works everywhere as a fallback. Most hosts enable one of them already.
To check yours, open Chrome DevTools, go to the Network panel, click a CSS or JavaScript file and look for content-encoding in the response headers. It should say br or gzip. If it’s missing, ask your host to enable compression, or turn on the GZIP option in your caching plugin.

Set a Long Browser Cache for Static Files

The Cache-Control header tells a visitor’s browser how long it can keep a file before asking for it again. web.dev recommends a lifetime of up to one year for files whose address changes when the content changes, such as versioned CSS and JavaScript. HTML pages should be re-checked each time.

You rarely need to write these headers yourself. Look for a “browser cache” or “leverage browser caching” option in your caching plugin or ask your host. To confirm it worked, check the cache-control header on an image or CSS file in the same Network panel.

Step 6: Test, Measure and Monitor

Measure before you change anything, and again after each step. Without a baseline, you can’t tell which fix actually helped.

Run PageSpeed Insights Before and After

Enter your page address into PageSpeed Insights and run the test for both mobile and desktop. Write down the score, LCP, INP and CLS. Test the same pages each time, and change one thing between tests.

We always test the homepage and one inner page, because their results can differ a lot.
The report has two kinds of data:
  • Field data comes from real Chrome users over the previous 28 days. Brand-new or low-traffic pages may not have enough of it, and then PageSpeed Insights shows site-wide data or none.
  • Lab data comes from a simulated test run by Lighthouse. It is useful for debugging, but it can differ from what real visitors experience.
The lab score runs from 0 to 100: 90 and above is good, 50 to 89 needs improvement, and below 50 is poor. Scores also change from run to run even when nothing on the page has changed, so compare trends across a few runs, not one number.

Know the Three Core Web Vitals

Metric What it measures Good result
Largest Contentful Paint (LCP) How fast the main content loads 2.5 seconds or less
Interaction to Next Paint (INP) How quickly the page responds to a tap or click 200 milliseconds or less
Cumulative Layout Shift (CLS) How much the layout jumps while loading 0.1 or less

Google measures these at the 75th percentile of visits. INP replaced First Input Delay as a Core Web Vital in 2024. Lighthouse can’t measure INP, because a test run has no real user input. It reports Total Blocking Time instead, which points to the same kind of problem.

The steps in this guide map to these metrics:
  • LCP: hosting, caching and images (Steps 1 to 3).
  • INP and Total Blocking Time: third-party scripts and code (Steps 4 and 5).
  • CLS: set a width and height on your images, so the page doesn’t jump when they load.

Read the Report Without Getting Lost

Under the score, PageSpeed Insights lists specific recommendations with estimated savings. Start with the ones about images, server response time and render-blocking resources, since those map to Steps 1 to 5. Don’t chase a perfect 100. A good result on all three Core Web Vitals matters more than a perfect lab score.

Keep Monitoring

The Core Web Vitals report in Google Search Console shows real-user data grouped by page, so you can see problems appear over time. Test again after any big change: a new plugin, a theme update or a new embed. If you’d rather not track this yourself, our WordPress care plans include performance checks.

Conclusion: Fix the Biggest Slowdowns First

Knowing how to speed up WordPress comes down to doing the right things in the right order. Here is the short version:
  • Choose hosting that can keep up, and check your Time to First Byte.
  • Use one caching plugin.
  • Resize, compress and lazy load your images.
  • Remove third-party scripts you don’t need, and keep background tasks in check.
  • Minify code, enable compression and set a long browser cache.
  • Test with PageSpeed Insights before and after every change.

Start with the step that fixes your biggest bottleneck, change one thing at a time, and test again. Small gains add up, and a fast site only stays fast if you keep checking it. If your site also needs security and user experience work, see our WordPress website optimization guide.

If your site is still slow after these steps, ask for a free site review and we’ll take a look.

FAQ

How can I speed up my WordPress site?

Work through six areas: choose fast hosting, use one caching plugin, compress and resize images, remove unneeded third-party scripts, minify code with compression enabled, and measure with PageSpeed Insights. Start with hosting and caching, change one thing at a time, and re-test after each change so you can see what actually helped.

Why is my WordPress site so slow?

Common causes include slow hosting, missing caching, oversized images, too many third-party scripts, and unoptimized code. Heavy background tasks and outdated PHP can also slow a site down. Run PageSpeed Insights and check your server response time first, because that shows whether the problem is the server or the page itself.

What is a good page speed for a WordPress site?

Google’s Core Web Vitals set the targets: Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint of 200 milliseconds or less, and Cumulative Layout Shift of 0.1 or less, measured at the 75th percentile of visits. For server response, a Time to First Byte of 0.8 seconds or less is a good rough guide.

Do I need a caching plugin for WordPress?

Usually yes. A caching plugin saves a ready-made copy of each page, so your server doesn’t rebuild it for every visitor. Some hosts already provide caching, so check first. Don’t run two caching plugins together, because they conflict. WP Rocket, LiteSpeed Cache and WP Super Cache are common choices.

Do plugins slow down WordPress?

They can, but the number of plugins matters less than how each one is built. Plugins that load scripts on every page, run heavy background jobs or add third-party code cause the most trouble. Remove plugins you don’t use, and test your speed before and after installing a new one.

Does website speed affect SEO?

Yes, though it is one factor among many. Google measures real-user speed with Core Web Vitals and reports it in Search Console, and slow pages make visitors leave before they read or buy. Relevant content still matters most, so treat speed as part of SEO, not a replacement for it.

Ognjen Velickovic

WordPress Developer & Product Manager at Kiwistic. I build and maintain WordPress sites for small businesses and troubleshoot everything from login lockouts to security issues. These guides come from real experience, so you don't have to figure it out alone.

You May Also Like…