Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress Database Maintenance: How to Optimize Your Database

Over the years, many users have asked us how to remove unwanted data from WordPress databases.

A cluttered WordPress database can slow down your website, leading to frustrated visitors and lost sales. That’s why regular WordPress database maintenance and optimization are so important for optimal website performance.

We’ve helped a lot of different users get started with WordPress and optimize their site’s databases. In our experience, the easiest way to start is by using free database plugins like WP-Optimize. Alternatively, you can use a WordPress maintenance service for this task.

In this article, we will show you how to clean up and optimize your WordPress database.

How to clean up and optimize WordPress database

Why Clean Up and Optimize Your WordPress Database?

If you have been using WordPress for a while, then there is probably a lot of useless data in your database, such as post revisions, spam comments, trash, transient options, orphaned metadata, and so on.

This data increases your WordPress database size, which means your WordPress backups will take more disk space and time to restore.

Removing and cleaning up this unwanted data significantly reduces your WordPress database size. This will lead to faster backups, easier restores, and improved database performance.

Besides that, you can also optimize your WordPress database by compressing images, minifying JavaScript and CSS files, and setting up caching on your site. This will further improve your site’s performance and help deliver a fast user experience to visitors.

Pro Tip: Before cleaning and optimizing your database, we recommend first creating a complete WordPress backup of your site. Changes made by a cleanup plugin are irreversible. This way, you can easily restore your site in case something goes wrong.

That said, let’s look at how you can optimize your WordPress database.

Video Tutorial

Subscribe to WPBeginner

If you don’t like the video or need more instructions, then continue reading.

How to Optimize and Clean Up Your WordPress Database in One Click

The easiest way to clean up and optimize your WordPress database is by using the WP-Optimize plugin.

WP-Optimize is a popular caching and optimization plugin that aims to improve your website’s speed and performance. It can clean your database, compress your images, remove unused image sizes, cache your content, and reduce the size of HTML, CSS, and JavaScript files.

This plugin is built by the same team behind the popular WordPress backup plugin, UpdraftPlus. To learn more, see our detailed WP-Optimize review.

For this tutorial, we will be using the WP-Optimize free version. There is also a premium version that offers more features like scheduling optimization, WP-CLI support, lazy loading, premium support, and more.

The first thing you need to do is install and activate the WP-Optimize plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you can go to the WP-Optimize » Database page from the WordPress dashboard. Next, there will be different tasks you can select for optimization and cleanup.

For example, you can optimize database tables, clean all post revisions, clean all auto-draft posts, remove spam and trashed comments, and more.

Clean up and optimize database

After selecting different options, go ahead and click the ‘Run all selected optimizations’ button at the top.

The plugin will now start optimizing your WordPress database and show you the progress.

Next, you can switch to the ‘Tables’ tab in WP-Optimize.

Tables tab in wp optimize

The plugin will show different tables that are inactive in the database.

You can remove these tables to free up some space and further optimize your site.

Remove inactive tables

Lastly, you can switch to the ‘Settings’ tab and choose how many weeks of data to keep.

There is also an option to enable scheduled clean-ups for your database. You can schedule daily, weekly, fortnightly, or monthly clean-ups.

WP optimize settings

That’s all. You have successfully optimized and cleaned up your WordPress database!

Additional Optimization Features in WP-Optimize

There are other additional features offered by WP-Optimize that can also help you optimize your database.

Let’s look at them in detail.

Optimize Your Images

If you go to the ‘Images’ tab or navigate to WP-Optimize » Images from the WordPress admin panel, then you’ll find options to compress images on your site.

Image compression wp optimize

WP-Optimize will also automatically convert JPG and PNG images to the WebP format and serve that version whenever possible.

This can result in significantly smaller files and help optimize WordPress databases.

Converting and serving images in WebP format

You may also want to see our guide on how to easily optimize images without losing quality.

Enable Page Cache

The plugin also offers an option to enable page caching.

This can improve your site’s speed and performance by storing a copy of your content on the server. The server can then simply show that copy to visitors rather than download it from scratch.

Customizing the WordPress cache using WP-Optimize

WP-Optimize also lets you change the cache settings.

You can deliver different content based on user role, device, and whether they’re currently logged in or not.

How to enable caching for your WordPress blog, website, or online store

Minify HTML, CSS, and JavaScript Files

Another way you can clean up and optimize your WordPress database is by enabling minification.

It removes white spaces, lines, and unnecessary characters from the source code. This makes your WordPress CSS and JavaScript files load faster.

You can simply go to the Minify tab in WP-Optimize and then click the ‘Enable Minify’ option.

How to enable minification on your website, blog, or online store

The plugin will automatically handle the minification process, but you can fine-tune the settings and customize which CSS and JavaScript files to exclude.

Alternative to WP-Optimize: If you are looking for an alternative option for cleaning the database, then you can also use the WP-Sweep plugin. It is completely free and uses all the proper WordPress delete functions to clean up the database. However, it lacks the optimization options that you’d get in WP-Optimize.

Bonus: Hire Experts to Optimize Your WordPress Database

If optimizing the WordPress database is too time-consuming or technical for you, consider hiring a WordPress support agency to handle all your WordPress database maintenance needs.

There are many WordPress maintenance services on the market, but we recommend our affordable WordPress Maintenance & Support Services.

We can handle everything related to the basic WordPress database maintenance of your website, including 24/7 uptime monitoring, fixing database errors, optimizing your site for performance, cleaning up the database, and more.

WPBeginner Pro Maintenance Services

We also offer Emergency WordPress Support to quickly and reliably resolve one-time problems on your website, including a bloated database. We can also fix WordPress database connection strings, plugin errors, broken links, and much more.

Besides that, there are more Pro services to choose from. You can get your hacked site repaired, optimize your site for speed, boost organic traffic with SEO optimization, and more.

Just see our complete list of WPBeginner Pro Services for more details.

Helpful Resources for WordPress Database Optimization

Here are more guides and helpful tutorials for making sure your WordPress database works smoothly and without any errors:

We hope this article helped you learn how to clean up and optimize your WordPress database. You may also want to check out our guide on how to create a WordPress disaster recovery plan and how to do WordPress database management with phpMyAdmin.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

20 CommentsLeave a Reply

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Dennis Muthomi

    I’ve been managing WordPress sites for years, and I can attest to the importance of regular database maintenance.
    One aspect I particularly appreciated was the emphasis on creating a backup before performing any optimizations – this is crucial advice that can save website owners from potential disasters.

    I’ve used WP-Optimize in the past and found it to be an excellent tool, especially for its image compression features.

    But, I’d like to add that for larger sites or those with complex setups, it might be worth considering a more robust solution like WP Rocket, which offers advanced caching and optimization features.

  3. Jiří Vaněk

    Many people focus on website optimization and forget about the MySQL database. I use an equally great plugin called Sweep, which performs similar optimizations. Recently, we faced a significant slowdown of the website, and no one knew what was causing it. It turned out that the issue was due to revisions, of which there were thousands accumulated on the blog (the blog itself has over 1300 articles). These revisions incredibly slowed down the website. After optimizing the database, the website’s speed returned to its original state. So, optimization really makes a big difference. I just want to point out that it’s really important to make a backup before optimizing the database in case something goes wrong.

  4. Usman

    Is it necessary to take a backup first then Optimize the Database?

    • WPBeginner Support

      While not necessary, we strongly recommend it on the off chance something goes wrong or you run into an error. While it is rare for that to happen, it is better to be safe :)

      Admin

  5. Nikita Shevchenko

    Hello! Great article! I have one question. Can I use this plugin simultaneously with autooptimize and wp3 total cache plugins?

    • Editorial Staff

      This is a plugin that you can use and then disable once you’re done cleaning the database. We recommend using this plugin once every 6 – 12 months.

      Admin

  6. ANTESH KUMAR SINGH

    How to fix “Optimize InnoDB tables anyway” in WP-Optimize plugin?

    Have any solution to optimize InnoDB tables in WordPress?

  7. James Finn

    Hey guys,

    In this article:

    /plugins/how-to-clean-up-your-wordpress-database-for-improved-performance/

    It is stated:

    “… the main [benefit of wp-sweep over wp-optimize] is that it uses proper WordPress delete functions as much as possible instead of running direct delete MySQL queries. Whereas the WP-Optimize plugin uses direct delete SQL queries which can leave orphaned data left behind. In other words, WP-Sweep is a better coded plugin than WP-Optimize.”

    Quote and closed quote!

    Perhaps you can explain why you have two clearly contradictory articles published on your site at the same time. Edit one, or the other, please!

    An incredibly influential site such as this needs more attentive editorial review.

    Thanks bunches!

    • WPBeginner Support

      Hi James,

      We often recommend plugins that do the same thing. If there is a difference, then we also try to highlight it as you have quoted. One great thing about WordPress is that you often have plenty of excellent solutions for a problem.

      Admin

    • WPBeginner Support

      Hey Neal,

      We still recommend it. You can use either of these two plugins for the job.

      Admin

      • Neal Umphred

        Thanks for the response!

        If I use WP-Optimize, do I need an occasional clean-up from WP-Sweep?

    • Mayank Debnath

      Yea! I am confused too ..

      • Ian Spare

        It’s clear that actions like removing post revisions will make no difference whatsoever to “database performance”. I think the confusion is caused by some misunderstanding about how relational databases work and specifically about how indexed queries are executed.

        The problem is exacerbated by so many WordPress users being quite certain that optimising their database is required. Given that relations databases and related technologies like Indexed Sequential Access Method (ISAM) on which the internals are based have been around for some 50 years it ought to be well understood.

        The entire point of using a database is to access data in a way that scalable. The time it takes to find an indexed record, for example, a published WordPress post, is not dependent on the size of the database.

        I’d invite the authors of this article to actually test this. Create a WordPress install and create a few thousand revisions of a post. You’ll find it makes zero difference to performance.

        The time it takes to find a post is dependent on the number of seeks it takes. You can work this out like this:

        log(row_count) / log(index_block_length / 3 * 2 / (index_length + data_pointer_length)) + 1

        I can tell you that the number of seeks will not increase between thousands of revisions and tens of thousands. You’ll get an extra seek when you enter the hundred of thousands of rows. But, the odds are it’s in query cache anyway so it won’t matter.

        I know from testing, for no reason at all, that having a post with 200,000 revisions is just as quick to access as one with none.

        • Matilda Moo

          So if my host is saying my sites keep going down because i need to optimise my db, really it’s the number of hits/seeks that my hosting can’t cope with?

    • Rob Smelik

      I can’t speak for the author but thought I would throw some thoughts out there.

      When it comes to loading your site on the front end, WordPress is actually smart enough to ignore previous revisions as it loads individual pages. However, overall database bloat can slow down a site if you have a large site with many pages and posts. Post revisions do add to the overall size of a database but are certainly not the only contributor. That being said… anything that you can do to reduce the size of your database will keep your site running at peak performance.

      I have been using WP Optimize for years both on personal and client sites and can honestly say it does an excellent job at keeping your database clean. I have also noticed speed boosts when installing on older sites with larger databases that haven’t been optimized. With regard to post revisions, It has a great setting that allows you to limit the number of stored revisions. I keep it set at about 10 which is more than enough for post revision backup purposes.

      I believe the premium version of the plugin also lets you schedule optimization cycles without having to manually go in and click the optimize button.

    • WPBeginner Support

      Hi Ian Spare,

      Post revisions don’t affect database performance or your site’s page load times. However, they do increase database size. On older websites with lots of content, cleaning up or limiting post revisions can significantly reduce database backup file size. This means you will be to do on-demand backups, restore from backups, or move backup files around a bit faster. It will also save space on your cloud storage service where you save your backups.

      Admin

      • Ian Spare

        Thanks, I think you’re moving closer to an accurate position now.

        I think we can dismiss size considerations pretty quickly. A MySQL dump of WordPress database is pretty small. It’s highly compressible data as well, I’d suggest as pure text with a midrange compressional level you’d get around 10:1.

        So I suggest this site might have 1000 posts with 10 revisions per post which for some (unlikely) reason are all the same size (in practice, they’ll be smaller you’d think). And we’ll say a post is about 2800 characters in size because that’s around the size of your post here, we’ll add a bit because it’s not going to make a lot of difference and say 3000 chars.

        1000 * 10 * 3000 = 30000000

        or about 28mb which is going to be around 2.8mb in compressed size.

        Which is, in technical terms, diddly squat. A handful of images at best.

        The footprint of an average WordPress post is very often the associated images. They’ll need backing up as well. That footprint will only be trivially impacted by the number of revisions.

        There’s not a realistic chance these backups will fit into, for example, the free cloud storage of 2gb on Dropbox. So, anyone storing backups in the cloud might well have paid for a service which will be delivering unlimited storage (ie the jetpack backup service) or terabytes.

        It’s hardly a realistic concern to be bothered about a couple of mb in size for a backup file. I appreciate there’ll be some who’ll produce a contrived use case where 10k makes a difference which is fine, I’m just saying in general usage, this is nothing.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.