Help Center

The Ultimate Guide to Optimizing Your WordPress Database (No plugins)

Last Updated on 12/01/2024

the database is the heart where all crucial data is stored — from posts and pages to settings and user information. As your website evolves, so does the database, often accumulating unnecessary data that can bog down performance. This is where the art of database optimization becomes essential. By decluttering and streamlining your WordPress database, you can achieve faster page loads and improved site efficiency.

But here’s the catch: while numerous plugins offer to tidy up your database, at Hostious, we advocate a less-is-more approach. Utilizing phpMyAdmin for database optimization aligns with our philosophy of minimal plugin reliance. This ensures not only a leaner database but also greater control over the optimization process.

In this article, we will guide you through the meticulous process of optimizing your WordPress database using phpMyAdmin, revealing how to enhance your site’s performance without over-relying on plugins.


Table Of Content


Understanding the WordPress Database

When you launch a WordPress site, it automatically creates a database, typically stored on your web host’s server. This database is a critical component, storing everything from your posts and pages to settings and comments. As you add content and your site grows, so does your database, affecting how quickly your server can retrieve and display information. This relationship underscores the importance of database optimization.

WordPress databases are structured around core tables, each holding specific types of data. These include:

  • wp_commentmeta: Metadata for comments.
  • wp_comments: Actual text of comments.
  • wp_links: Data for the Links feature.
  • wp_options: Site options and settings.
  • wp_postmeta: Metadata for posts.
  • wp_posts: All posts, pages, and menu items.
  • wp_termmeta: Metadata for terms.
  • wp_terms: Categories and tags.
  • wp_term_relationships: Relationships between posts and terms.
  • wp_term_taxonomy: Taxonomies for terms.
  • wp_usermeta: Metadata for users.
  • wp_users: User information.

As your site evolves, it’s not just the content that grows; your database can become bloated with redundant data like spam comments, post revisions, and outdated transient options. This excess can slow down your website, making optimization vital.

This diagram shows how the WordPress tables are connected:

Source: WordPress.org

Optimizing your WordPress database involves cleaning up unnecessary data, which can be done manually using tools like phpMyAdmin. By directly accessing and managing your database, you can efficiently remove the clutter, leading to improved site performance and faster loading times.


Common Issues That Affect a WordPress Database

In the WordPress ecosystem, the database is a repository of your site’s content and settings, but it’s not immune to issues. Understanding common problems can guide effective optimization strategies.

  1. Spam Comments: Accumulated spam can not only clutter your database but also impact site speed and user trust. Regular cleaning is crucial to maintain database health.
  2. Post Revisions: WordPress automatically saves every edit, leading to numerous revisions. While helpful for tracking changes, excessive revisions can bloat your database.
  3. Expired Transients: These temporary data storage options are meant to speed up your site but can linger beyond their usefulness, occupying valuable database space.
  4. Deleted Items: Items in the Trash folder can accumulate, unnecessarily taking up database space.
  5. Unused Plugin Tables: Plugins often create tables in your database. When deleted, these plugins may leave behind orphaned tables, leading to inefficiency.

Proper management and regular cleaning of these elements are essential for maintaining an optimized WordPress database. Utilizing phpMyAdmin allows for direct interaction with the database, offering a more controlled and thorough approach to optimization, in line with Hostious’s philosophy of minimal plugin reliance.


Why WordPress Database Optimization Is Essential

Optimizing your WordPress database is crucial for maintaining website efficiency and performance. Over time, databases inevitably accumulate unnecessary data, leading to slower site speeds and increased load times. This slowdown not only impacts user experience but also affects crucial aspects such as Search Engine Optimization (SEO) and page ranking.

Key Reasons for Optimization:

  1. Improved Site Speed: A faster website offers a better user experience, reduces bounce rates, and enhances engagement.
  2. SEO Benefits: Search engines like Google prioritize site speed in their ranking algorithms. Faster sites are more likely to rank higher, increasing visibility and organic traffic.
  3. Reduced Server Load: Optimizing the database lightens the load on your server, allowing for quicker data retrieval and processing.
  4. Decreased Bounce Rates: Websites that load faster retain visitors better. Pages with longer load times see significantly higher bounce rates.
  5. Increased Conversion Rates: Every second reduced in load time can substantially boost conversions and user engagement.
  6. Efficient Resource Use: Especially critical for sites on limited storage plans, database optimization frees up space, allowing for better resource allocation.

Regular database maintenance is essential to remove outdated, redundant, or unnecessary data, ensuring consistent website performance. Neglecting this can lead to a sluggish website, which deters users and negatively impacts search engine rankings, ultimately affecting the site’s overall success and reach.


Manual WordPress Database Optimization and repairing

1. Step-by-Step Guide for Database Backup:

Optimizing your WordPress database manually is a preferred choice if you’re inclined to avoid additional plugins or need to delete a specific WordPress table.

Step-by-Step Guide for Database Backup:

  1. Access Your Hosting Control Panel: Log in to your web hosting account and navigate to the control panel.
  2. Locate phpMyAdmin: In the control panel, find and open phpMyAdmin.
  3. Select Your Database: Once in phpMyAdmin, select the WordPress database you want to back up from the list on the left side.
  4. Export Database: After selecting your database, click on the ‘Export’ tab at the top of the page.
  5. Choose Export Method: Select the ‘Quick’ export method for a straightforward backup or ‘Custom’ for more advanced options.
  6. Select Format: Ensure that the format is set to ‘SQL’.
  7. Download Backup: Click on the ‘Go’ button. A file containing your database backup will be downloaded to your computer.
database backup within phpmyadmin

It’s crucial to ensure the backup is completed and the file is safely stored before proceeding with any database optimization tasks. This backup serves as a safety net, allowing you to restore your database to its current state if needed.


2. Manual Database Table Optimization

In your database, you’ll notice two columns labeled ‘size’ and ‘overhead’ at the end. The ‘size’ reflects how much data is stored in each table, with larger sizes corresponding to more stored rows. ‘Overhead’ represents temporary storage space used by the database for managing queries.

While a certain level of overhead is typical and usually doesn’t impact performance, it can become a concern if it grows excessively large. However, what constitutes “too high” for overhead can vary, making it somewhat of a subjective measure in database management.

Checking the size and overhead of the database via phpmyadmin

Optimizing a WordPress database is crucial for maintaining its efficiency and is comparable to defragmenting a hard drive. Just like regular maintenance is vital for a car’s optimal performance, a database also needs consistent upkeep.

This maintenance includes tasks like purging deleted rows, reorganizing data sequences, and managing indexes. Regular optimization is especially important for databases undergoing frequent updates or deletions, particularly those with variable-length columns.

To address overhead in your WordPress database tables, use the SQL command OPTIMIZE TABLE. For instance, to optimize the wp_posts table, you would execute the SQL query:

OPTIMIZE TABLE 'wp_posts';

In phpMyAdmin, you have a simpler alternative that doesn’t require SQL commands. You can optimize tables directly from the interface.

To do this, click on the “Check All” box in phpMyAdmin, select “Optimize table” from the dropdown menu, and then click “Go”. This action effectively optimizes your selected database tables.

Optimize table via phpmyadmin

Once you have optimized your WordPress database, phpMyAdmin will confirm that your tables have been optimized.

successful optimization of the database

3. Automatic WordPress Database Optimization

WordPress includes an in-built automatic database optimization tool, though activating it is a bit more complex and involves editing your site’s wp-config.php file. As always, ensure your database is backed up before proceeding.

1. Locate wp-config.php in your site’s root folder, accessible via your hosting file manager or FTP client.

Accessing wp-config through hosting panel

2. Edit wp-config.php using a text editor, adding this line of code above the line “/* That’s all, stop editing! Happy blogging. */”:

define('WP_ALLOW_REPAIR', true);
allowing database auto repair via wp-config

3. Save and reupload the file if edited externally.

4. You can then access the optimization tool by going tohttps://www.yourwebsite.com/wp-admin/maint/repair.php.https://www.yourwebsite.com/wp-admin/maint/repair.php. Remember to replace “your website” with your site’s domain.

Finally, you’ll see an on-screen option to Repair and Optimize Database.

You do not need to be logged in to run the WordPress optimization tool. The downside to this is that anyone can access your script and execute it. Due to this, you need to remove the WP_ALLOW_REPAIR line from your wp-config.php file after you have used the optimization tool.


How to Remove Bloat From Your WordPress Database

  1. Understanding Database Bloat: WordPress databases can accumulate unnecessary data over time, leading to inefficiencies and slower website performance.
  2. Identifying Bloat Causes: Recognize what contributes to database bloat. This includes redundant post revisions, spam comments, unused tags, and data left by deactivated plugins and themes.
  3. Adopting Good Practices: Implementing efficient practices can significantly reduce, or even completely remove, bloat from your WordPress database.

Let’s take a look at the main causes of bloat in a WordPress database:

Plugins:

Plugins play a significant role in the size and efficiency of your WordPress database. While some plugins have minimal impact, others can significantly increase database size.

For instance, anti-spam plugins like Akismet store extensive data, including IP and email addresses. Security plugins log details about potential threats, while statistical plugins record website analytics data. Similarly, plugins for displaying related posts or tracking link clicks accumulate data that can weigh down your database.

It’s vital to monitor the storage usage of these plugins. Some offer data management options, allowing you to clear unnecessary data or adjust settings for better performance. If a plugin heavily burdens your database or slows down your site, consider its necessity or explore alternative solutions. Regularly reviewing and managing your plugin data ensures a streamlined and efficient WordPress database

SPAM comments:

Spam comments are a common issue in WordPress databases, often taking up substantial space in the wp_comments table. Although WordPress automatically deletes spam comments after 30 days, they can accumulate quickly, especially in high-traffic websites. Utilizing a robust anti-spam plugin can significantly reduce the influx of spam.

WordPress has streamlined the process of dealing with spam by introducing an “Empty Spam” button on the spam comment page, allowing for instant deletion of all spam comments.

Additionally, limiting comments on older posts, which are often targets for spammers, can drastically reduce the volume of spam. This setting can be adjusted in the WordPress discussion settings.

disable comments for older posts via discussion settings on wordpress dashboard

For manual cleanup, SQL commands like

DELETE FROM wp_comments WHERE comment_approved = 'spam'

can be used to remove spam comments, and this

DELETE FROM wp_comments WHERE comment_approved = '0'

to delete all pending comments.

However, with the ease of the “Empty Spam” button in the spam comment page, using SQL queries for this purpose may never be necessary.

Revisions :

For bloggers, post revisions are a crucial aspect of content creation. However, excessive revisions can lead to a large number of rows in the database, especially for lengthy or frequently edited articles.

To manage this, you can limit the number of stored revisions in WordPress by adding a line to your wp-config.php file. Setting

define('WP_POST_REVISIONS', 2);

will keep only two revisions per post, though this should be done cautiously, as it eliminates the option to revert to earlier versions of your content.

Unused Plugins and Themes:

Manually remove data from deactivated plugins and unused themes via phpMyAdmin or specialized cleanup tools.

Conclusion: Streamlining Your WordPress Database

WordPress database optimization is essential for maintaining a high-performing website. Over time, databases gather unnecessary data, but clearing this out can be straightforward.

Our two preferred ways for WordPress database optimization, without relying on plugins, are:

  1. Manually via phpMyAdmin: This method involves direct interaction with the database, offering precise control over data management.
  2. Automatically Using the Built-in WordPress Optimizer Tool: This approach utilizes WordPress’s own optimization capabilities, streamlining the process without additional software.

Do you optimize your database? If so, what steps do you take? Let us know in the comments below.

Frequently Asked Questions About Optimizing WordPress Databases


1. Is there a risk of damaging my site during database optimization?

While rare, incorrect optimization procedures can cause site issues. Therefore, it’s crucial to always back up your database before performing any optimization tasks. Using reliable tools or plugins that automatically back up your data can offer added security during this process

2. What are the key causes of bloat in a WordPress database?

The primary causes include accumulated spam comments, excessive post revisions, and residual data from deleted items and plugins. Spam comments, if not managed, can occupy vast rows in the database, slowing down the site. Post revisions, if unlimited, can also add significant bloat. Furthermore, data from deleted items and unused plugins or themes linger in the database, contributing to inefficiencies

3. How does optimizing my WordPress database improve my site?

Optimizing your database enhances site speed and performance, which in turn improves user experience and SEO rankings. It also boosts website stability and reliability, improves scalability, and leads to cost-efficiency. Regular database optimization is a fundamental best practice for maintaining an efficient and high-performing website

4. Should I use plugins for database optimization or do it manually?

Both methods have their merits. Manual optimization offers more control and is cost-effective but requires technical knowledge and can be time-consuming. Plugins provide a more user-friendly and efficient approach, though some may have associated costs. Your choice depends on your technical comfort level and specific needs

5. Can I limit post revisions in WordPress, and how does it impact my database?

Yes, you can limit or disable post revisions in WordPress. This action reduces the database size as each revision can create multiple entries in the database. You can limit revisions by adding
define('WP_POST_REVISIONS', 2);
in your wp-config.php file, where ‘2’ is the number of revisions you wish to save per post. Disabling revisions entirely is also an option but consider the trade-off in losing the ability to revert to previous versions of your content

Amine Mhiri Avatar
Amine is a seasoned WordPress author with extensive experience in digital marketing. Known for his practical insights and user-friendly content.
More from Amine Mh

Join the 200K websites that trust Hostious as their WordPress host