Get the Best WordPress Backup
& Migration Plugin Today
Get Duplicator Now
Announcement for Duplicator's migration service

Duplicator’s New Migration Service: Move Your Website Without Lifting a Finger

Are WordPress migrations stealing your valuable time? Duplicator's new done-for-you migration service handles everything from start to finish in 3…
Speed up WordPress site

Your WordPress Site is Bleeding Money Every Second It’s Slow (Here’s the Fix) 

Written By: author avatar Joella Dunn
author avatar Joella Dunn
Joella is a writer with years of experience in WordPress. At Duplicator, she specializes in site maintenance — from basic backups to large-scale migrations. Her ultimate goal is to make sure your WordPress website is safe and ready for growth.
     Reviewed By: reviewer avatar John Turner
reviewer avatar John Turner
John Turner is the President of Duplicator. He has over 20+ years of business and development experience and his plugins have been downloaded over 25 million times.

You know when you click on a website and nothing happens for what feels like forever? Your cursor turns into a spinning wheel, and you’re left staring at a blank screen wondering if your internet connection died.

We live in a world where we expect instant everything. So when a website takes more than a few seconds to load, we bail. Fast.

Here’s the harsh reality: if your WordPress website is slow, you’re losing visitors, search rankings, and money. Every extra second of load time is costing you potential customers who simply won’t wait around.

I’ve spent years working with WordPress sites of all sizes, from small blogs to enterprise-level websites. I’ve seen the same performance problems over and over again, and more importantly, I’ve learned what fixes them.

This guide will show you the exact steps I use when I need to speed up a WordPress site. Let’s turn your loading disasters into lightning-fast sites!

Table of Contents

Why You Need a Fast WordPress Site

When someone lands on your website, they want to access what they’re looking for, quickly. Slow loading makes a bad impression, especially when they’re considering buying from you or signing up for your newsletter.

I’ve watched analytics dashboards where bounce rates skyrocket simply because pages take too long to load.

People hit the back button before your content even has a chance to load. All that effort you put into creating great content goes to waste because visitors never see it.

Google isn’t just watching your site speed, they’re ranking you based on it. Core Web Vitals became a direct ranking factor because Google knows that fast sites provide better user experiences.

When your site loads quickly, you’re more likely to appear higher in search results. More visibility means more organic traffic and more traffic means more opportunities to grow your business.

But here’s where it gets really interesting: site speed directly impacts your bottom line. In Yottaa’s 2025 Web Performance Index, page load optimizations reduced bounce rates by 8% and boosted conversion rates by 3% per saved second.

Whether you’re trying to get email sign-ups, sell products, or generate leads, faster load times mean higher conversion rates.

Before You Start: Diagnose, Test, and Back Up

Let me walk you through a couple of steps you need to take before starting your page speed optimization journey!

Conduct a Site Speed Diagnosis

You can’t fix what you can’t measure. Before making any changes to your site, you need to know where you stand right now. This baseline measurement will help you track your progress and see which changes actually make a difference.

My go-to tools for speed testing are Google PageSpeed Insights and GTmetrix. Both are free, and they give you different perspectives on your site’s performance.

PageSpeed Insights focuses on Google’s ranking factors, while GTmetrix provides more detailed waterfall charts that show exactly what’s loading and when.

When you run these tests, pay attention to three key metrics: Largest Contentful Paint (LCP), Time to First Byte (TTFB), and your overall Core Web Vitals score.

GTmetrix page speed analysis

LCP measures how long it takes for the largest piece of content on your page to load — usually your main image or headline. You want this under 2.5 seconds.

TTFB tells you how long your server takes to start sending data back to the browser. Anything over 600ms suggests server-side issues.

Run the test from different locations if possible. A site might load quickly from a server in New York but crawl for someone browsing from Australia.

Back Up Your Entire Site

I cannot stress this enough: back up your site before making any performance changes. This is the most important step in this entire guide, and it’s the one people skip most often.

I’ve seen too many sites break during speed improvements. Maybe a caching plugin conflicts with your theme, or a PHP update reveals a compatibility issue, or you accidentally delete the wrong file while cleaning up your media library.

When disaster strikes (and it will eventually) you need a complete backup that includes both your files and your database. A partial backup won’t cut it when you need to restore everything quickly.

I recommend using a trusted backup plugin like Duplicator to create a complete site backup. It bundles everything together in a way that makes restoration straightforward, even if you’re not technically experienced.

Create a new backup with Duplicator

Create a full site backup. Store it locally, or take advantage of the many cloud storage integrations.

Backup storage locations

If anything happens, hit the one-click Restore button. Think of it as your insurance policy for this entire speed improvement process.

Restore backup

The Foundation: Hosting, PHP, and Site Health

If your website is slow, it may have some deep structural issues. Here are some of the main issues you need to solve as you first start to speed up WordPress.

Choose High-Quality, Performance-Focused Hosting

Your hosting is like the foundation of your house. You can have the most beautiful architecture and the finest materials, but if the foundation is weak, the whole structure suffers.

Shared hosting might seem like a bargain, but you’re sharing server resources with hundreds of other websites. When one of those sites gets a traffic spike or runs resource-heavy scripts, everyone else slows down.

I’ve moved countless sites from shared hosting to managed WordPress hosting providers like Kinsta or WP Engine. The speed improvement is often dramatic — sometimes cutting load times in half without making any other changes.

Managed WordPress hosting costs more, but they handle the technical heavy lifting for you. They run the latest versions of PHP, implement server-level caching, use SSD storage, and monitor for security threats.

These providers understand WordPress inside and out, so their servers are tuned specifically for WordPress performance.

Want to consider switching to a new web host? Here’s a comparison of WordPress hosting in 2025 and which I would use to actually build websites!

Run the Latest Version of PHP

Think of PHP as the engine that powers your WordPress site. Just like a car engine, newer versions are more efficient and powerful than older ones.

PHP 8.x is significantly faster than PHP 7.x, which was already much faster than PHP 5.x. Upgrading your site’s PHP version is one of the easiest free performance boosts you can get.

Most hosting providers make this simple. Usually, you’ll log into your control panel and change the PHP version in your site settings.

DreamHost change PHP version

Before you do, check that your theme and plugins are compatible with the newer PHP version. Most modern themes and plugins support PHP 8.x, but it’s worth verifying before you make the switch.

Maintain Core WordPress Health

A healthy WordPress installation is a fast WordPress installation. This means staying on top of updates and fixing underlying issues that can slow everything down.

Every WordPress core update, theme update, and plugin update contains bug fixes, security patches, and often performance improvements. I see too many sites running older WordPress versions, missing out on years of speed improvements.

Set aside time each month to update everything. Most updates are safe, but this is another reason why having that initial backup is so important. If anything goes wrong, easily downgrade your WordPress version.

The Big Wins: Caching and Content Delivery

Getting your foundation right is important, but caching is where you’ll see the most dramatic speed improvements.

Implement Caching

Without caching, WordPress rebuilds every single page from scratch for every single visitor. That means querying the database, processing PHP code, and assembling all the HTML every time someone clicks on your site.

Caching creates static HTML copies of your pages, so WordPress doesn’t have to do all that work repeatedly. When someone visits your site, they get the pre-built version instead of waiting for WordPress to construct it in real time.

There are two types of caching that matter: Page caching happens on your server and creates those static HTML files I mentioned. Browser caching tells visitors’ browsers to store certain files locally, so they don’t have to download your logo, stylesheets, and scripts on every page visit.

For caching plugins, I recommend WP Rocket if you don’t mind paying for a premium solution. It’s incredibly easy to set up and handles both types of caching automatically.

For free options, W3 Total Cache and WP Super Cache are popular, though they may have less flexibility.

Use a Content Delivery Network (CDN)

A CDN reduces the physical distance between your server and your visitors. If your website is hosted in the United States but someone in London tries to access it, their request has to travel thousands of miles. That adds latency — a delay that you can actually feel.

A CDN stores copies of your site’s static files (images, CSS, JavaScript) on servers around the world.

When that London visitor loads your site, they get your images from a server in Europe instead of waiting for them to travel from the US. The difference can be several hundred milliseconds, which is significant in the speed game.

Cloudflare offers a generous free plan that includes CDN services, making it accessible even if you’re on a tight budget. Bunny CDN is another solid option that focuses on speed and offers affordable pricing for higher-traffic sites.

Optimizing Your Content and Media

Content like images and videos often make up most of your page weight. Getting your media under control is usually the fastest way to dramatic speed improvements.

Optimize Images for Speed

Large, uncompressed images are the number one performance killer I see on WordPress sites.

First, resize your images to the correct dimensions before uploading them. If your blog post layout displays images at 800px wide, don’t upload 3000px wide photos and let CSS shrink them down.

Second, compress your images using a plugin like EWWW Image Optimizer or Smush. These tools reduce file sizes without noticeable quality loss by removing unnecessary metadata and improving compression.

Some people also like using the WebP format, which creates smaller files than JPEG or PNG. Most modern browsers support WebP, and good optimization plugins will automatically serve WebP to compatible browsers while falling back to traditional formats for older ones.

Don’t forget to clean up your media library regularly. Delete images you’re no longer using, because they’re taking up server space and making your backups larger than necessary.

Host Video and Audio Files Externally

Never, ever upload video or audio files directly to your WordPress media library. I see this mistake constantly, and it kills site performance every time.

Your web server isn’t built for streaming media files. When someone tries to play a 50MB video hosted on your WordPress site, your server has to serve that entire file while also handling all your other web traffic.

Use YouTube or Vimeo for your videos and embed them in your posts. These platforms are specifically designed for video delivery, with content delivery networks and adaptive streaming that keeps the load off your server.

For audio content like podcasts, consider services like Spotify, SoundCloud, or dedicated podcast hosting platforms that handle the heavy lifting of file delivery.

Use Excerpts on Your Homepage and Archives

Your homepage and category pages don’t need to display full blog posts. When you show complete articles on archive pages, you’re loading potentially dozens of full posts at once, making these pages incredibly heavy.

WordPress has a built-in excerpt feature that lets you show just a summary of each post with a Read More link. You can manually write excerpts in the Excerpt field when editing posts.

To only show excerpts of posts, find Settings » Reading. Select Excerpt next to For each post in a feed, include.

Enable WordPress post excerpts

This simple change can reduce your homepage size from several megabytes to just a few hundred kilobytes.

Paginate Content to Reduce Initial Load

Some types of content can grow unwieldy over time, creating performance problems you might not notice until it’s too late.

If you have popular posts with hundreds of comments, they can significantly slow down page loading.

WordPress has a built-in feature for this. Go to Settings » Discussion and check Break comments into pages.

WordPress comment pagination

This limits the initial load to a manageable number of comments and provides navigation for the rest.

For comprehensive guides or tutorials that run several thousand words, consider breaking them into multiple pages using the <!--nextpage--> tag in the HTML editor. This creates a multi-page article that loads faster and is easier for readers to digest in chunks.

Lightening the Load: Themes, Plugins, and Database

Sometimes the biggest performance drains come from the tools you’re using to build your site. Cleaning up your WordPress tools can unlock surprising speed gains.

Use a Lightweight Theme and Faster Plugins

Your theme is the backbone of your site’s performance. Bloated themes with dozens of built-in features might seem appealing, but they often load scripts and styles for features you’ll never use.

I recommend fast, lightweight themes like SeedProd for landing pages. Thrive Themes is great for marketing sites. Astra and GeneratePress are popular options for general-purpose sites.

These themes focus on speed and let you add functionality through plugins only when you need it.

Here’s a crucial step that most people miss: delete unused plugins and themes completely. Inactive plugins still consume server resources during updates and security scans, and they create potential security vulnerabilities.

Duplicator makes this super easy! You can delete any inactive plugins and themes when you migrate your site over to a staging area.

As you create a backup of your site, only include active plugins and themes.

Exclude inactive plugins and themes from backup

Migrate this over to your staging area using Duplicator’s Import page.

Import a backup with Duplicator

When you migrate the changes back, you won’t have any unnecessary tools!

For your active plugins, audit them regularly for performance impact. Query Monitor is a helpful plugin that shows you which plugins are slowing down your database queries.

If you find a plugin that’s creating bottlenecks, look for lighter alternatives or see if you can accomplish the same goal with custom code.

Optimize Your WordPress Database

Your WordPress database is like a filing cabinet that collects junk over time. Every post revision, spam comment, and expired transient gets stored, creating bloat that slows down database queries.

WordPress saves every draft and revision of your posts, which can add up quickly. While revisions can be useful for recovering content, you probably don’t need dozens of them.

Use a plugin like WP-Optimize to clean up database junk safely. It can remove spam comments, post revisions, expired transients, and other unnecessary data that accumulates over time. Run this cleanup monthly to keep your database lean.

Run WP-Optimize

You can also limit future bloat by controlling post revisions. Add this line to your wp-config.php file to limit revisions to 3 per post:

define('WP_POST_REVISIONS', 3);

This prevents the endless accumulation of revisions while still giving you a safety net for recovering content.

Looking for more ways to optimize your database? Here’s a complete guide for you to read!

Disable and Reduce Unnecessary Processes

WordPress includes several features that made sense years ago but now just create unnecessary overhead. Turning off these outdated processes can free up server resources for the things that actually matter.

Pingbacks and trackbacks are features meant to notify other sites when you link to them, but they’re mostly used by spammers now. They create database bloat and consume server resources for little benefit.

Turn them off in Settings » Discussion by unchecking Allow pingbacks and trackbacks.

Disable pingbacks and trackbacks

Many plugins run background tasks (cron jobs) that can consume server resources. Check your plugin settings for things like automatic backups, social media posting, or analytics reporting.

You might find plugins running hourly tasks that could easily run daily or weekly instead.

Some plugins also perform resource-intensive operations during peak traffic times. If possible, schedule these tasks for off-peak hours when your server has more capacity to handle them.

Advanced Performance Tuning

Once you’ve handled the basics, several technical improvements can squeeze out additional performance gains. These changes require more technical knowledge, but they can make the difference between a fast site and a blazing-fast one.

Optimize Code and Reduce Server Requests

Every time your site loads, the browser has to download and process multiple files — HTML, CSS, JavaScript, and images. Reducing the number of requests and the size of those files directly improves load times.

Minification removes unnecessary characters from your code like spaces, comments, and line breaks that make code readable but add file size. Combining files reduces the number of HTTP requests by merging multiple CSS or JavaScript files into single files.

WP Rocket handles both processes automatically, or you can use a free plugin like Autoptimize for similar functionality. Just be careful when combining files; sometimes plugins conflict when their scripts are merged together.

Some JavaScript files prevent your page from displaying until they finish loading, even if they’re not critical for the initial view. You can defer these render-blocking resources so they load after the visible content appears, making your site feel faster even if the total load time is similar.

Most caching plugins include options to defer JavaScript loading. Start with non-critical scripts like analytics tracking, social media widgets, and advertising code.

Every external service you use (like Google Fonts, analytics scripts, social media widgets, or advertising networks) adds additional HTTP requests and potential points of failure. Audit these external dependencies and remove any that aren’t providing clear value.

Consider hosting Google Fonts locally instead of loading them from Google’s servers. Every external request you eliminate is one less thing that can slow down your site.

Protect Your Server’s Resources

Your server has limited resources, and you want to reserve them for real visitors rather than wasting them on bots, scrapers, and malicious traffic.

Services like Cloudflare or Sucuri have DNS-level firewalls that filter traffic before it reaches your server, blocking malicious requests and bots. This means your server only has to handle legitimate visitors, freeing up resources for faster page loading.

These services also provide additional benefits like DDoS protection and automatic threat detection. Cloudflare’s free plan includes basic firewall protection, making it accessible even for small sites.

Hotlinking occurs when other websites display images directly from your server, stealing your bandwidth and server resources. It’s like someone else using your electricity to power their house.

You can prevent hotlinking through your CDN settings (most CDNs include hotlink protection) or by adding rules to your .htaccess file. This ensures your server resources are used for your own visitors rather than powering other people’s websites.

Frequently Asked Questions (FAQs)

How do I speed up a WordPress site without plugins?

Focus on the fundamentals: upgrade to quality hosting, update to the latest PHP version, compress your images before uploading, and remove unused themes and plugins. You can also manually enable browser caching by adding code to your .htaccess file and host videos externally on YouTube or Vimeo. While plugins make the process easier, these manual steps can still deliver significant speed improvements.

What is the best free plugin to speed up a WordPress site?

W3 Total Cache offers the most comprehensive free caching solution, though it requires more setup than premium alternatives. For image compression, EWWW Image Optimizer has a solid free tier. Autoptimize handles code minification and combination effectively. However, combining multiple free plugins can sometimes create conflicts, so test thoroughly and consider a premium all-in-one solution like WP Rocket if you want simplicity.

Where can I find a WordPress site speed test?

Google PageSpeed Insights and GTmetrix are my top recommendations for speed testing. PageSpeed Insights focuses on Core Web Vitals and mobile performance, while GTmetrix provides detailed waterfall charts showing exactly what’s loading. Both are free and give you actionable suggestions.

How do I improve mobile page speed in WordPress?

Mobile speed requires special attention to image sizes and loading priorities. Use responsive images that serve appropriately sized files to mobile devices. Prioritize above-the-fold content loading and defer non-essential scripts. Many caching plugins offer mobile-specific settings. Also, consider that mobile users often have slower connections, so every kilobyte matters more than on desktop.

I’ve tried everything and my site is still slow. What’s next?

If you’ve implemented all these suggestions and still have speed issues, the problem likely lies deeper in your hosting infrastructure or requires custom development work. Consider hiring a WordPress performance specialist to audit your specific setup. Sometimes the issue is a poorly coded custom plugin, database corruption, or server configuration problems that need expert attention.

What score should I aim for on Google PageSpeed Insights?

Aim for a score of 90+ on PageSpeed Insights, but don’t obsess over reaching 100. Focus more on the actual load times and Core Web Vitals metrics. A score of 85 with a 2-second load time is better than a score of 95 with a 4-second load time. Real-world performance matters more than perfect test scores.

Speed is a Journey, Not a Destination

If you’re feeling overwhelmed by all these improvement options, start with the three most impactful changes: upgrade to quality hosting, implement proper caching, and optimize images. These three steps alone will dramatically improve most WordPress sites.

Website performance isn’t a one-time fix — it requires ongoing attention. Set a monthly reminder to run speed tests and check for new issues as you add content and plugins.

Before you make any changes, remember the most important step: back up your site completely. Speed improvements are worthless if they break your site and you can’t recover it.

That’s where Duplicator Pro becomes invaluable throughout this entire process. Whether you’re migrating to better hosting, testing performance changes, or need to quickly restore after an update goes wrong, Duplicator Pro gives you the confidence to make improvements without fear.

Try out Duplicator’s automatic backups and one-click restores today!

While you’re here, I think you’ll like these hand-picked WordPress resources:

author avatar
Joella Dunn Content Writer
Joella is a writer with years of experience in WordPress. At Duplicator, she specializes in site maintenance — from basic backups to large-scale migrations. Her ultimate goal is to make sure your WordPress website is safe and ready for growth.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. We only recommend products that we believe will add value to our readers.