Skip to main content

How to Speed Up a WordPress Site: A Chef's Performance Recipe

· 14 min read
Anna Monus

Today, we have opened DebugBear's five-star web performance kitchen to the public to show you how to speed up your WordPress site using our in-house recipe.

With WordPress, you can create fully functional and fast websites by mixing a handful of ingredients and following a few best practices.

By popular request, here's how to create our delicious and nutritious WordPress Performance Plate.

WordPress Performance Plate – Summary

  • Prep Time: 2-3 hours
  • Cooking Time: 1-2 hours
  • Servings: 1 fast-loading WordPress site
  • Level: Novice to proficiency
  • Chef: DebugBear

Ingredients

  • 1 WordPress installation
  • 1 isolated server space with dedicated resources
  • 1 content delivery network (optional)
  • 1 well-baked WordPress theme
  • A handful of essential plugins
  • 1 fat-free database
  • 1 WordPress speed testing tool
  • 1 cup of patience

1. Check Your Ingredients

When optimizing WordPress for performance, you never start from completely scratch. Even when working with a new WordPress site on localhost, you have set up your local server environment and installed the WordPress core with the default theme. However, in most cases, you already have an existing WordPress site you want to make faster.

Speeding up a WordPress site is similar to finishing and refining a semi-prepared meal to impress your visitors. WordPress Performance Plate is a versatile dish that can be prepared in many ways, and the goal is to find your own variation.

To review what you'll need, check your ingredients to see if any are stale, which could ruin the result.

In your WordPress admin area, open the Site Health Status screen from the Tools > Site Health menu.

In the Recommended improvements section, look for issues tagged with Performance — these are your stale ingredients you'll need to fix or replace to speed up your WordPress site. You can expand each recommendation to see a detailed explanation of the issue:

WordPress Health status screen

Below the recommended improvements, you can also see the health audits your WordPress site has passed.

This initial health check will help you plan your own recipe variation to speed up your WordPress site.

tip

If you're working on an existing WordPress site, create a backup before you start cooking, just to keep things safe. You can use either a backup plugin, such as UpdraftPlus or Duplicator, or your WordPress host's backup functionality, available in your hosting account.

2. Knead Your Hosting Dough

Reliable and fast hosting is the dough of our WordPress Performance Plate — it provides the foundation for the site.

Even if you want to speed up an existing WordPress site, you might need to re-knead your dough or start afresh if the current one isn't performing well. In other words, you need to check if it's time to upgrade to a more advanced hosting plan or find a new WordPress host.

To do so, run a free WordPress website speed test and look for signs of poor server performance. You can use the Custom filter in the Metrics Overview section to select the relevant performance metrics — HTTP Request TTFB (indicating slow initial server response time), Full TTFB, and First Contentful Paint:

Poor TTFB and round trip values

You have a couple of options to improve poor server performance:

If you want to make your hosting dough more resilient, you can also hire a professional baker, or in other words, sign up for a plan with a managed WordPress host such as Rocket.net, Cloudways, or Kinsta.

While it costs more than self-managed hosting plans, it comes with dedicated resources (i.e., an isolated server space), professional support, and extra web performance features that can help you speed up your WordPress site, such as CDN integration, full page caching, and others.

To end up with a nutritious WordPress Performance Plate, avoid shared hosting plans. Hosting your site on a shared server is like letting other website owners steal your ingredients while making your dough. Since your sites share the same hardware, the server will allocate them more ingredients when they have more traffic, and your own dough will stay flat.

If you're currently on a shared hosting plan, consider upgrading to an option that provides you with dedicated server resources:

  • Cloud hosting (managed WordPress hosts also serve your site from virtual machines running on cloud platforms such as Google Cloud Platform or AWS).
  • VPS (Virtual Private Server) hosting that offers dedicated virtual resources (i.e., a virtual machine on a physical server).
  • A dedicated server that provides you with a standalone physical server (recommended for larger WordPress sites).

3. Add a Well-Baked Theme

Now, it's time to add a well-baked (i.e., performance-optimized) theme to your WordPress Performance Plate.

To speed up a WordPress site, your theme needs to work together with the core WordPress software, meaning it should:

  • use as many native features as possible
  • enqueue essential styles and scripts in an optimal way
  • blend into the overall WordPress interface (e.g., it shouldn't load unnecessary admin widgets or add too many menu items — for a fast WordPress site, your admin area should be fast too!)

While it's not easy to tell whether a WordPress theme is truly well-baked, you can look for signs such as:

  • Modular design – Extra features should be added as modules or extensions that you can turn on and off so that your site only loads the code you really use.
  • Follows WordPress coding best practices – The WordPress Developer Handbook maintains a list of best practices that any well-baked theme should implement.
  • Uses performance optimization techniques – For example, if a theme implements code splitting or allows you to remove unnecessary scripts that most WordPress sites don't need, such as the built-in Emoji script.

Some examples of free performance-optimized WordPress themes are Astra, GeneratePress, OceanWP, Blocksy, Sydney, Zakra, and Kadence Theme.

As your hosting dough is already prepared, it's a good idea to compare a couple of themes in terms of web performance. To do so:

  1. Create a test site on a subdomain or in your staging area.
  2. Import a demo of each theme you want to test (to provide the content weight of a typical WordPress site).
  3. Run our free WordPress website speed tester on each theme activated on the test site one after the other.
tip

While it's usually possible to test the demos on the theme author's website, testing them on your own hosting can lead to more realistic results.

This is partly because your server environment is the foundation on which your WordPress site will be served to your real users, and partly because some theme authors load the demos using iframes or install various marketing plugins on the demo sites to measure engagement, which can skew the results.

When a WordPress speed test completes, scroll down to the Metric Overview section on the Overview page and select the Page Weight filter, which shows the metrics that tell the most about the real performance of a WordPress theme, all other factors being equal:

Page weight overview of the Persona demo of the Blocksy WordPress theme

In the screenshot above, you can see the test results of the Persona demo of the Blocksy theme.

DebugBear makes it super easy to interpret the test results, as it highlights:

  • Good results in green.
  • Mediocre results in yellow.
  • Poor results in red.

For example, Blocksy's Persona demo received a green score for each page weight metric. However, don't stress if some of the metrics don't score green, as all-green performance results are like a perfect meal — even master chefs rarely achieve it (and when they do, it usually doesn't stay that way for long).

It's more important to see how the themes you're considering fare against each other on your hosting dough so that you can find the best one for your own WordPress Performance Plate variation.

tip

While page builders have many great design features, be careful when you add one to your WordPress site. These days, the built-in block editor (a.k.a. Gutenberg editor) allows you to create complex designs, so you may not need one at all.

If you still want to use a page builder, currently the two fastest ones are Elementor and Beaver Builder. Alternatively, you can opt for a performance-optimized WordPress theme that comes with a built-in visual builder, such as Bricks or Breakdance.

To learn more about page builder performance, check out Colin Newcomer's article on how WordPress page builders compare in terms of performance and functionality.

4. Carefully Season with Plugins

Now that the most important part of your WordPress Performance Plate has been completed, you can further improve it by adding a few essential plugins.

Seasoning is a delicate art that can make a dish taste better but can also overpower it.

To find the perfect spice blend:

  • Only install plugins you truly need.
  • Watch out for overlapping functionality between different plugins (e.g., some caching plugins also offer CDN integration).
  • Test the performance impact of each plugin using our free WordPress speed testing tool on your test site, following the steps detailed in the previous section about how to find a well-baked theme.
  • Look for plugins with a modular architecture rather than monolithic solutions that also load functionality your WordPress site may not need.
  • Check if each plugin author is committed to clean, efficient coding practices. In most cases, you can find references to the coding methods they use on their website or documentation. Our free speed tests also give you hints if a plugin adds extra performance issues to your site (look for the Recommendation section on the Overview page and expand the recommendations your test site hasn't passed):

DebugBear Recommendations for the Perfmatters WordPress plugin

A common spice blend for a typical WordPress Performance Plate may include plugins for security, SEO, spam protection, backup, caching, newsletters, eCommerce, etc. However, remember to use plugins in moderation, as they can take away the main flavor of your dish, which is performance.

For better results, you can also install a performance optimization plugin, such as Perfmatters or WP-Optimize, which can help you implement best practices that speed up your WordPress site.

warning

Note that some managed WordPress hosts disallow some types of plugins, as they provide the same functionality using custom server configurations or other techniques.

If you're working on a new WordPress site, your WordPress Performance Plate is now done! You can jump to Step 7 and start taste testing before serving it to your visitors.

However, if you're speeding up an older WordPress site, the next two steps will help you get rid of extra calories that neither you nor your visitors need.

5. Cut Empty Content Calories

While unnecessary content can slow down any website, there are some platform-specific steps you need to perform if you want to speed up a WordPress site.

First and foremost, as page builders add extra weight to your site, consider converting your pages created with these tools to native WordPress content using the Gutenberg block editor.

warning

While the new full-site editor (FSE) can help you replace page builder functionality, it requires an FSE, a.k.a. block theme. If you're working with an existing WordPress site, consider the impact of potential issues that may arise during the migration before switching to an FSE theme.

Unused themes and plugins are also empty calories on a WordPress site, so remove them all — you can re-install them any time you need them. Themes and plugins installed but not activated can still bloat your database by adding extra tables or data to it. Plus, they pose a security risk, and you surely don't want thieves stealing from your WordPress Performance Plate!

Trimming excessively long pages and removing unused sidebars and unnecessary widgets can also help speed up your WordPress site by reducing the DOM size and network payload.

Also review your navigation, including headers, footers, and menus. Some WordPress themes encourage users to make these navigational elements overly complex, even when it doesn't enhance the user experience. Heavy menus add to the DOM size and, being interactive elements, may increase Interaction to Next Paint (INP), too.

6. Trim the Fat from the Database

After manually reviewing your WordPress Performance Plate for empty calories, you still need to remove excess fat that has accumulated in your database to speed up your WordPress site.

Excess database fat may include:

  • Old post revisions and auto drafts
  • Spam, deleted, and unapproved comments
  • Unused categories and tags
  • Pingbacks and trackbacks
  • Orphan and duplicated metadata
  • Expired transients
warning

Don't forget to back up your database before starting to remove the excess fat.

The easiest and safest way to clean up your database is by using a plugin. If you already have a performance optimization plugin installed on your site, check if it has database cleanup functionality — the best ones, such as the aforementioned Perfmatters and WP-Optimize, include it.

If you want more control over what gets removed and what doesn't, you can also use a dedicated database cleanup plugin such as Advanced Database Cleaner, WP-DBManager, or WP-Sweep.

In case you're averse to adding one more plugin to your spice blend, WordPress also has a default database cleanup tool you can activate by editing your wp-config.php file. However, note that it only performs basic database optimization, and plugins offer more thorough cleanup.

To activate the default database maintenance tool, back up your wp-config.php file, then set the WP_ALLOW_REPAIR constant to true by adding the following line:

define("WP_ALLOW_REPAIR", true);

above this comment:

/* That's all, stop editing! Happy blogging. */

Once WP_ALLOW_REPAIR is enabled, you can access the default database cleanup tool at the /wp-admin/maint/repair.php URL:

Default WordPress database maintenance tool

As you can see in the screenshot above, you can choose from two options:

  • Repair Database – This option checks your database tables for corruption, and if it finds any issues, it repairs them.
  • Repair and Optimize Database – This is the option you'll need to use for trimming excess database fat, as it not only repairs your tables but also optimizes them.

Once the database optimization process completes, remove the above line from your wp-config.php file.

tip

Note that many managed hosting plans include scheduled database cleanups, so if your WordPress Performance Plate is served there, you may not have any excess database fat at all (if you're on a managed plan, your host might also disallow the use of database optimization plugins).

7. Taste Test and Go for Supergreens

Before serving your WordPress Performance Plate to your visitors, taste test it by running a free WordPress website speed test on your key pages.

Aim for having as many green scores as you can in both the Metrics and Recommendations sections, as this is how you can check whether your WordPress Performance Plate is truly nutritious and healthy.

In addition to the default Lab Overview view, also check other performance metrics by using the feature filter in the top-right corner of the Metrics section:

Serving Recommendation

WordPress Performance Plate is best served with continuous monitoring, as it allows you to prevent web performance issues proactively and get automatic feedback from your visitors.

In addition to being a master performance chef, DebugBear is also like an attentive and efficient waiter who quietly watches all user interactions, monitors the satisfaction of your guests, and helps you prevent your dish from going stale, caloric, or toxic.

To see how it works in action, check out our interactive demo or sign up for a free 14-day trial (no credit card required).

Get a monthly email with page speed tips