Speed Up WordPress : 5 Ways to Make WordPress Faster

Kyle Faber

WordPress is a fantastic—and fast—content management platform.

However, the ability for it to become bloated with loose web management practices, bad development habits and poor theme / plugin choices, makes it easy to take it from being an incredibly performant CMS platform to one which makes you feel like you’re living back in the dark ages of dial up.

In this post, I’m going to talk about the main issues which cause WordPress websites to be slow, and outline four main areas you can and should look to make it faster.

If you have a slow WordPress website, by the time you’re done reading this, should have some really great starting points which will help you speed up WordPress, thereby delivering a better experience for both your site visitors and search engine bots.


  1. move to a fast WordPress-managed host, such as Flywheel or Kinsta
  2. build your site using a performant theme/theme builder, such as Elementor (preferred) or WPAstra
  3. minimize use of 3rd party fonts, using locally-hosted fonts or native browser fonts (preferred)
  4. optimize your images before you upload them to your site (using imageoptim or something similar)
  5. use a resource/caching optimization plugin, such as Autoptimize or WP Rocket (preferred)

Alright…ready? Let’s get started.

What Makes WordPress Slow?

There are many factors which can impact the speed of a WordPress website and, depending on whom you’re speaking to, you can quickly get in the weeds. For the sake of brevity—and your sanity—I’m going to stick to the main top-level concepts.

The six main factors that make a WordPress website slow:

  1. hosting
  2. themes
  3. plugins
  4. fonts
  5. images
  6. lack of resource optimization/caching/CDN (I’ll explain why I bundle these together below)

1. Web Hosting

Your web hosting is the foundation of your website, especially when it comes to performance.

If you’re on a cheap shared hosting provider, you’re most likely (read: not always) going to suffer from poor TTFB (time to first byte), not have HTTP/2 enabled (which can create resource loading bottlenecks when loading many resources on your page), etc.

My recommendation when it comes to website hosting is: go affordable, don’t go cheap.

As attractive as cheap is, you get what you pay for.

When you purchase $3.50/mo hosting, you are paying for hosting which is subsidized by having tens, hundreds or thousands of other websites on the same server as yours. This can cause poor performance, and result in unreliable uptime.

Sound familiar to your situation? Want to fix it? Check out the fast WordPress hosting section below.

This all said, hosting is just one reason why your WordPress website might be slow; let’s take a look at the rest…

2. WordPress Themes

WordPress is a great platform because it’s open source, and there’s pretty much nothing you can’t do with it developmentally.

With that, however, comes a lot of 3rd party, pre-built themes which are either free or purchasable for a nominal cost through marketplaces such as Envato. Additionally, there are a lot of custom-built themes that are also just crap.

There are two primary reasons why 3rd party and custom-built themes are bad for web performance:

  1. they are poorly developed
  2. they are built to accommodate a wide range of users (e.g. they’re bloated AF)

I won’t talk about the custom-built themes, as context would be needed to explain why they’re poorly developed.

However, the 3rd party themes are generally implemented by web/digital marketing agencies that found WordPress easy enough to use to build sites for their clients, but don’t really know what the heck they’re doing. Or, they’re used by the site owners who are setting up their own sites.

For the former, I generally see them offer “website design and development” services for cheap (e.g. $1,500-$2,500 quoted by page count).

The latter is generally the case when the pre-built theme offers features/functionality that look attractive to the purchaser, but really end up rarely being used, and just weigh the site down.

Regardless of who is implementing a commercial or free 3rd party theme, the themes themselves are often built for a wide audience.

This means that they are building features and functionality into the theme, which may attract a lot of different types of site owners—from interactive slideshows to “advanced” image galleries, visual page editors to custom post types for “projects”, and so much more.

The end result? A theme with 90% features and functionality that is completely unneeded, and all the resources that go along with it.

Did you buy a 3rd party theme which is loaded with bloated features you don’t use? Want to trim things down a bit? Skip ahead to the fast WordPress themes section below for more info.

3. WordPress Plugins

I would argue that a majority of the WordPress plugins available, both free and paid, are not well developed.

When you layer on the fact that most site owners/builders rely on plugins to deliver the majority of the functionality for their site, and you will often end up with many plugins to satisfy a very small set of actual, functional needs.

Now, just because you may actually need many plugins does not inherently make your website slow.

However, you will often find that each plugin requires various resources to be loaded for their use. This lends itself to having those resources loaded, often on every single page of your site.

For example, if you have twenty plugins, each of which load 5 resources (e.g. CSS or JS files), and each of those 100 resources are developed to be called regardless of whether the plugin features/functionality is being used…well, that’s a boatload of unnecessary files being loaded always, on every single page.

If you have a lot of plugins installed in your site, and you want to learn more how you can reduce the bloat, check out the “avoid plugins” section below for actionable steps you can take to tighten things up a bit.

4. Fonts

The fonts most websites use are 3rd party fonts, such as Google Fonts or Typekit/Adobe Fonts. In those cases, it’s also often set up where those 3rd party fonts are being linked to/loaded from the 3rd party network.

In these instances, the site has to rely on the 3rd party network to deliver the fonts quickly. Additionally, because these are 3rd party resources, you aren’t able to setup caching for them in the same way you would if they were your resources.

Beyond that, fonts present an interesting situation…

Either a) if you load the fonts as a priority resource, they are either render blocking (e.g. other necessary resources have to wait for the fonts to load before they can themselves load), or b) if defer them so they load later, you there will have a flash/blip before the fonts load, as you will be loading the text on the page without the fonts.

Neither scenario is ideal as either you have a slower experience due to making other important resources wait for the fonts to load, or you have your text load without the fonts, and then have a blip when the fonts finally load.

A frustrating conundrum, wouldn’t you say?

Ultimately, fonts generally show up as a major ding on your page speed test. More importantly, when they’re render blocking, they show up on your user satisfaction tests as well.

If you’re using Google Fonts or some other type of font stack and want to learn more about how you can improve, skip down to the resource optimization/caching/CDN section below.

5. Images

Everyone wants their websites to look great, so they’ll go out and buy a load of sharp stock photos from some stock photography site, download them, and upload them straight to their website.

When you are using WordPress as a CMS, there is built in compression/optimization for your images upon upload; however, it’s not great, so what you end up with is upwards of a few megabytes per image being loaded on any page you embed them on.

This is not great for your users, and terrible for search engine bots as well.

Luckily, the images you use to design your site or to embed in your content can be optimized for speed quite easily. To learn more about how to optimize images for website speed, check out the optimize images section below.

6. Resource Optimization / Caching / CDN (content delivery network)

Optimizing your resources—CSS and JS files—is a huge part of speeding up your website.

Minimizing how many are needing to be loaded (more important when on HTTP/1.1 vs HTTP/2), trimming whitespace and minifying the code, compressing the files and setting proper HTTP headers for each of them can dramatically influence how quickly the various elements on your site are going to be processed, thereby having a direct impact on the experience you deliver to your site visitors.

From a caching perspective, there are a few different layers to this onion. You can setup and maintain a server-level cache, such as varnish, as well as enabling browser caching, and setting up cache and expiry parameters for the resource files you’re loading (as noted above).

CDNs—content delivery networks—act as a proxy between your website visitors and your actual web servers. In most instances, they will dramatically improve the performance of your site, as well as add a nice layer of security to it all via their firewall systems.

Using a CDN, even by itself without any of the above items mentioned, can have a very positive impact on your site speed; however, it’s important for you to understand the environment you’re putting yourself in, as when a CDN provider possibly goes down (such as Cloudflare did on July 2nd, 2019), they can make your website completely inaccessible for the duration of their downtime.

To me, this does not negate their benefits, and I believe they should still remain a very strong consideration in your site speed optimization stack.

If you’re wondering about how to improve your site/page speed, check out the resource optimization, caching and CDN section below for more info.

Website Speed Test: Find Out Why Your Website is Slow

There are a number of tools you can use to see what may be making your website slow.

The four tools that I use most frequently are:

I’ll be writing another post on how to use these tools to identify performance issues, and the types of actions you should take based on those issues.

In the meantime, here are some screenshots taken from GTMetrix, which should help get you started with understanding what to look at, and why.

Speed Up WordPress : 5 Ways to Make WordPress Faster 2
GTMetrix PageSpeed Overview (click to enlarge)

Speed Up WordPress - GTMetrix Waterfall
GTMetrix Waterfall Overview (click to enlarge)

How to Speed up a WordPress Website

In the above sections, I outlined where WordPress websites generally fall short. In other words, areas which are common culprits when it comes to a slow WordPress website.

In this section, I’m going to outline those main areas, but focus on what you can do to fix them. These can be done independently, and would all have a part in helping speed up WordPress.

In an upcoming post, I’m going to write up a 3-step action plan for how to take your WordPress website from slow to fast, covering moving to a performant WordPress hosting provider, rebuilding your site using a performant theme framework, and optimizing your assets appropriately.

1. Fast WordPress Hosting

Go affordable, not cheap

This is seriously a mantra you should try and live by. Saving money is great—definitely do be affordable in the services you seek—but being cheap can be more costly than it costs you.

There are plenty of cheap web hosts out there, many of whom now have “WordPress Web Hosting” packages, which are nearly the same price as their non-WP host packages. In my honest opinion, they’re just repackaging their crappy shared hosting plans with the WordPress label so as to entice those looking for something specific to WordPress.

If you care anything at all about what I’m recommending here: I’d avoid those hosts.

Conversely, there are a number of REALLY NICE WordPress hosting providers, where their entire hosting platform was engineered for hosting WordPress, and so the way they setup their databases, optimize their servers, implement server caching, etc. is all fine-tuned and optimal for WordPress.

The two that I love most are listed below.

If you have a WordPress website and are with a web host which is generally slow, then I highly, highly recommend moving to one of these two WordPress hosting companies.

Flywheel WordPress Hosting

Fast WordPress Hosting - GetFlywheel.com

The first WordPress hosting company I highly recommend is Flywheel.

Flywheel is an amazing, WordPress specific hosting provider. In fact, my website (which you’re currently reading) is hosted on Flywheel.

There are many great features that Flywheel offers, such as “Local by Flywheel” (an easy-to-use, incredibly powerful local dev environment), free SSL, staging sites, and more; however, the speed features they’ve built in are truly the icing on the cake.

Flywheel has three main features which are built to make your WordPress website blazing fast:

  • Server Configuration: being a WordPress-only hosting company, and having engineers on staff who have built/maintained/scaled thousands of WordPress-based websites, they’ve figured out how web and database servers should be setup to make your WordPress install run as optimally as possible
  • FlyCache: FlyCache is Flywheel’s own proprietary server-level caching system, which progressively caches every page, including media, HTML, etc., drastically improving page load time
  • Built-in CDN: with MaxCDN built-in to their service, the CDN system offers an incredible solution for delivering a cached version of your pages to your users, as quickly as possible, based on their location relative to the CDN datacenters

Interested to learn more about Flywheel? You can migrate your site from your current host for free – trust me, you won’t regret it.

Kinsta WordPress Hosting

Fast WordPress Hosting - Kinsta.com

The other WordPress-specific hosting company I fully recommend is Kinsta.

Next to Flywheel, Kinsta is—in my opinion, at least—the best WordPress hosting company out there. While their pricing is slightly higher than Flywheel, it’s worth every penny.

Remember: affordable, not cheap.

Flywheel and Kinsta are similar in a lot of ways, and in the same ways that I feel Flywheel is so great, so is Kinsta:

  • Server Configuration: Kinsta is built on top of the Google Cloud Platform, which gives access to datacenters around the world, making it possible to have a blazing fast website, regardless of where you are
  • Kinsta Caching: Kinsta uses full page server-side caching, which makes loading of pages incredibly fast; as a management layer on top of the built-in caching, they use a Kinsta caching plugin, which gives you granular control over when your cache will be cleared (e.g. on demand, upon publishing a new page/post, etc.)
  • Kinsta CDN: leveraging the power of KeyCDN, which has 34 locations around the globe to serve your content from, your entire page content is cached and delivered at lightening speeds

Interested to learn more about Kinsta? Their support is second to none, and just like Flywheel, they’ll migrate your site for free, too.

2. Fast WordPress Themes

Get the features without the bloat

You already know that 3rd party themes—and custom-built themes—can carry a lot of baggage with them. One of the best ways to speed up your WordPress website is to throw that baggage to the curb and built your site using a lean and fast WordPress theme.

Often times, the best lean themes are either super basic boilerplate themes, or one that you create yourself, with leanness in mind. With that, however, comes the need to know how to design and develop the site. Add in any feature enhancements you might need, and well, it can get pretty complicated pretty fast.

In light of this, my preferred route is a two-pronged approach using Elementor.

Step 1: Install the “Hello, Elementor” Theme and Child Theme

The first prong is to use Elementor’s starter theme, which is called “Hello, Elementor”.

This theme is completely free, and super lightweight. You can download it from the WordPress theme repository, or by going to  “Appearance -> Themes” in your WordPress admin, searching for “Hello, Elementor” and installing it. (note: do not install a new theme on your live site – this will break your site, which is something you would undoubtedly want to avoid; always test on a staging site first).

Make sure that you use a child theme for Elementor as your active theme (you’ll need both the theme linked to above, as well as the child theme – install both, then activate the child theme; this allows you to customize the theme itself, without losing your customization’s when you update the core Elementor theme).

Once you’ve got this theme installed, you’ll notice that it looks not so great. That’s where step 2 comes into play…

Step 2: Install the “Elementor” Site Builder / Page Editor

There are two versions of Elementor (WordPress page builder); one free and the other paid.

The paid version gives you an incredible amount of features which make building something more than a non-dynamic site very nice. I highly recommend going paid, as the starting cost for it is just $50/yr as of the date of this post (I’ll try to keep this updated if/when they update their pricing).

Additionally, the paid version gives you the functionality to literally build your very own “theme”, from header to footer and everything in between, using the “Hello, Elementor” theme as your foundation.

My entire site (kylemfaber.com) is fully designed/built with Elementor theme builder. So is nickleroy.com.

Needless to say, there not much you can’t do with Elementor, and the fact that it’s lightweight and able to be optimized for performance, that makes for a pretty sweet and affordable WordPress theme.

Step 3: Enjoy Your New, Fast WordPress Website

While there are plenty of other things that factor into your website, your web hosting and your theme framework are core to your overall success. Moving to a fast host such as Flywheel or Kinsta, then building your site using a light theme and page builder gets you one step closer to blazing fast speeds.

3. Avoid Plugins: Use only what’s necessary and blow up the rest

As mentioned above, the hosting and theme you choose to build on are not going to solve all of your performance issues alone.

I’ve analyzed hundreds of websites and have found an insane amount of plugins installed—and often activated—which were completely unneeded for the needs of the website.

This introduces three main issues

  1. you are setting yourself up for security issues, especially if you do not keep your plugins up to date
  2. all activated plugins introduce the potential for have their resources loaded on any page, even if they’re unneeded
  3. if the plugins are poorly developed, you may find that your database can become bloated/corrupted, and have PHP, JS, etc. functions

This may seem counter intuitive, but plugins are not helpful for your site, unless they are really well developed and provide critical functionality.

How to clean up plugins that may be slowing down your website

  1. delete any plugin that you aren’t using or planning to use (e.g. delete anything that’s deactivated and has no intention on being activated)
  2. deactivate plugins, one-by-one, and run your main pages (by template) through speed tools such as GTmetrix.comGoogle Pagespeed Insights, or WebPageTest.org – this will help show/tell you what plugins may be having a larger impact on your site speed overall
  3. based on step 2, determine if you can remove or replace the functionality of a plugin

Ultimately, in my opinion, you should have no more than 30 plugins installed and running on your site. Frankly, that’s still way too high. If you can get your plugin count to be less than 15 plugins, you’ll be headed in the right direction.

Lastly, I have seen far too many sites use plugins like Visual Composer, Revslider, etc. which are super bloated and huge drain on overall site performance. The functionality of these plugins, and many others, can be found directly within Elementor; another reason why I love and recommend it.

4. Optimize Images: Reduce file size, optimize file types

This is by far one of the easiest things to work on fixing (read: easy, not always quick).

Images are often uploaded without being compressed or optimized, and therefore rely on WordPress itself to compress and optimize. The problem with this is that, while WordPress tries its best, it’s not built to optimize your images. So don’t force it to do that.

There’s a fantastic solution for optimizing images before uploading to any website, including WordPress, and it’s called imageOptim (free to download and use).

How to optimize images for WordPress

  1. if you’re a Mac user, download imageOptim
    • if you’re a Windows (or other OS) user, you can use the imageOptim web app for a fee
  2. configure imageOptim to your desired settings, balancing image quality for image compression
  3. download your wp-content/uploads folder, which contains all the images you’ve uploaded to your site
  4. download the image folder where images are stored for your theme (most likely found in the wp-content/themes/{your_active_theme} folder somewhere)
  5. drag/drop all images from your uploads folder and theme->images folder into imageOptim, and let it do its work (it may take a while, and may make your computer run a bit hot)
  6. once processing is finished, double check to make sure your images look acceptable from a quality perspective
  7. re-upload your wp-content/uploads folder and theme->images folder (as applicable) back to your site
    1. make sure you make a backup of the original folders, just in case something weird happens during the re-upload
    2. in fact, it’s best to make a backup of your entire site before doing this
    3. also, it’s also best to do this in a staging environment just to be uberly safe
  8. you’re done!

So while there are a number of steps in this process, it’s actually pretty straightforward and simple. Once imageOptim is done running and you have everything uploaded, you should no longer get “image file size” warnings when running speed tests.

Additionally, you will also have some very nice quality images, which are a fraction of the size they used to be.


Lazy Load Images

As a final step to your image optimization, I highly recommend setting up lazy loading for images on all pages of a website.

There are a number of plugins that can do this, as well as implementation via custom JS. That said the easiest and quickest way to set it up is via a plugin and, in the interest of keeping your plugin strategy light-weight and efficient, doing this via either Autoptimize or WP-Rocket is the route I recommend taking.

5. Resource Optimization, Caching and CDNs

Once you’ve got your hosting in place, theme ready to go, images optimized, etc. you are ready to move onto resource optimization, caching configuration, and CDN implementation.

Each of these can have a dramatic impact on the overall speed of your site, so this is a step that should always be included in your performance optimization process.

In fact, it’s one of the first two steps I would take if I were to try and optimize a site to speed it up, next to switching to a more performant hosting provider.

How to optimize JS/CSS files on WordPress

You can either manually optimize your resource files, or there are a couple WordPress performance optimization plugins which can take care of some or all of these items, one of which is free (with a pro upgrade), and the other which is paid (for a pretty nominal fee): Autoptimize and WP-Rocket, respectively.

There are a number of areas to look at when it comes to optimizing your JS and CSS resources, which can include:

  1. minification of JS and CSS files
  2. removal of version query strings appended to a file URL
  3. compression of JS and CSS files
  4. efficient caching
  5. removal of unused JS or CSS
  6. only loading JS or CSS on the pages they’re needed
  7. inlining JS and CSS which are needed for page render
  8. deferring all JS and CSS which are not needed for page render
  9. prefetching/preloading external and internal resources to speed up and/or reduce future requests

Each of the items listed above will vary in their mileage, depending on how your site is setup, and not all of them will work [well] for you, based on the same. So, it’s important to test each and see how far you can get with them.

Additionally, the way the plugins mentioned above need to be configured also wholly depend on your site, including the theme and other plugins you’re using. This is one of the main benefits of using a super lightweight theme—they often come with fewer JS and CSS files which contain less javascript and styles in them.

Bonus: Speed Up WordPress Case Study

I had a friend of mine post up on Twitter asking for advice on how to speed up his WordPress website. He was sponsoring MNSummit, a Minnesota SEO Conference, and didn’t want the crappy speed of his site to deter people from signing up for his newsletter (his main conversion point), and engaging with his content.

In response to his tweet, I reached out and told him I thought I could help.

Interested in learning more? Check out this post on how I helped him speed up his SEO Consultant website at NickLeroy.com

About Kyle Faber

One Response

  1. Great tips here! It’s incredible how many methods & plugins exist to help solve problems that WordPress website owners face. A great tip I personally found to speed up WordPress was removing unused Javascripts which WordPress adds to the header and the footer. This sped my site up significantly, especially removing Jquery since I wasn’t using it on my site anyway.

Leave a Reply

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