When it comes to maintaining your WordPress website, one of the most significant things to keep in mind is “WordPress Database Speed.” Ensuring that users are having the best user experience possible is a must if you want your website to have high user retention.
To make sure this is the case, it is important to optimize your WordPress database for fast response times as an unmaintained database can result in a slow website and an accumulation of negative user experience.
In this article, I will go over the basics of WordPress Database Optimization such as what exactly a WordPress Database is, how it works, why you should optimize, and go over a few best practices and techniques to make certain that your database is functioning to its full potential.
How does a WordPress Database Work?
Before we even try to optimize our database for speed, it is predominant that we know what exactly we are optimizing in the first place. Otherwise, we would just blindly optimizing something we have noclue about. With that being said a database is a collection of organized data usually stored in a table format that can later be accessed and manipulated for later use.
To better understand what I am saying, think of a database as a simple attendance list, which is better described as a table more than a list is how most databases store thier data. Usually in a attendance list, you have a table with rows and labeled columns that store data such as the student id, first name, last name, and perhaps some other information about the students.
A database stores data the exact same way, as it is a very organized and efficient way to store and access data. This bank of information is what most websites (especially WordPress websites) use to give functionality to a website.
To give an example, think of the login system WordPress has in place. When you first install WordPress you input login credentials via a form. The data you submitted is then stored in the database and when you log that data is then accessed to verify you are the correct user.
This functionality of creating an account is a perfect example of what a database is used for, and is most definitely important when it comes to a WordPress website’s functionality.
Why Should You Optimize your WordPress Database?
Now, that you know what a database is and its basic functionality, you may wonder why it should be optimized in the first place? The reason this is so is that a WordPress website heavily relies on a database to create that core functionality you are accustomed to.
From your creating web pages and blogs to being able to view them on the front-end and edit them, all that functionality uses the database to store and access the content you use on your WordPress Website. Some of the content that is stored in the database includes:
- Pages
- Blogs
- Form Submission
- Comments
- Themes
- Plugins
By default, your WordPress Database has 11 tables that make up the core of your WordPress website.
As you can see majority of the WordPress’s core functionality uses the database to allow you to do the basic things WordPress is known for doing. Not optimizing your database can bog down your website over time causing slow response times and propagation in negative user experience.
Now that you know the basic of the database, it is time to optimize WordPress’s Database speed
How to Optimize your WordPress Database Speed
Cleaning Database Tables
One of the simplest ways to optimize your database for speed is to start by cleaning your database tables. Deleting any unnecessary data from your website is like getting your engine cleaned, it makes it easier for your system to get data faster as there are fewer data to go through, making data requests from your database a lot faster.
To accomplish this task you can go into your WordPress dashboard and go through your content and delete any posts, pages, media, or anything you might not need. For Example, we can go into posts and delete any posts we may not be needing.
NOTE: Always create a backup of your website before you start deleting stuff. If you need a guide click here to learn how.
You can through any of the following links in your WordPress dashboard and delete any unwanted content. I however recommend doing this process in the phpMyAdmin and manually deleting the content from the database.
To do this via phpMyAdmin you need to your websites control panel, once you are there you click into phpMyAdmin and see the following:
To delete any posts you may not want, for example, you just click into “wp_posts” table and delete any posts you may not want. Do keep in mind the data might not be organized as well as in the WordPress dashboard, but it functions much like it shows your content in a table format with options to do edit, copy and delete.
If you have never done this before, be careful what you delete as you can break your website if you are not careful. Please refer to the following link if you wish to learn how to use phpMyAdmin.
Filter Data Comming into the Database
Another way to optimize your WordPress database for speed is to filter the data that is being stored in your database. What I mean by that is to make sure that any gateway that allows users to insert data directly into your database should have safeguards certifying that the data being input into your database is legit. These gateways include:
- Any Forms on the website
- Comments Submissions
The reason why it is crucial to filter data incoming into your database is that data takes space which results in a slow down in your website over time and if you can limit any unnecessary data coming into your database you can reduce any possible slowdowns to your website. Spam for example is a good reason why you should take these precautions.
If you fall victim to spam you will be hit with constant borage of data being inserted into your database which as I stated before can slow down your websites speed. To prevent this from happening it is good to follow the following precautions:
Forms
For Forms, it would be wise to set some kind of reCaptcha which is software that protects against spam. I recommend Google Recaptcha is free and easy to integrate with your WordPress website.
Comments
For comments, all you have to do is set up a certain setting, and your good to go.
To do this start from your WordPress Dashboard > click Settings > then Discussions. You should then see the following:
If you scroll down you should see Comment Moderation & Disallowed Comment Keys.
Comment Moderation allows you to manually verify what is valid and what is not. For Disallowed Comment Keys you can set rules that won’t allow certain words in its content, author name, URL, email, IP address to be able to comment
WordPress Database Table Optimization
When it comes to optimizing your WordPress database, you have the ability to accomplish this task manually via phpMyAdmin. You can use the following SQL command to do just that (Remember to create a backup of your website):
– OPTIMIZED TABLE ‘wp_tablename’
If you use the SQL command you will run that command for each table. If You want to work smart, you can just use phpMyAdmin’s built-in feature that allows you to do this to all tables at once. Just head over to phpMyadmin click on your WordPress database > click “check all” > click “With selected:” > and finally click “optimize table” . (Refer to the image below.)
Limit Post Revisions
When it comes to post revisions, it is a commodity that most can’t live without as it allows you to go back to old versions of your posts in case you make a mistake. Although a great feature it does come at a cost, as WordPress stores all those revisions of your posts by default into the database and as most of you should know by now it is not savy to store unecessary data.
To adjust to this issue all you have to is delete all those revisions from your database using phpMyAdmin which should be easy if you have read the article and if not refer to this link.
Next, you just have to set a limit to how many revisions get inserted into the database at a time by inserting the following line of code into your wp-config file.
define ('WP_POST_REVISIONS', 15) < -This set the limit to 15 you can change it to whatever you need it to be.
Plugins for WordPress Database Speed Optimization
If you wish to use a plugin that can allow you to do the optimization we discussed and more:
- WP-Optimize
- WP Sweep
- WP Rocket
In Conclusion
By now you should have a better understanding of what a WordPress Database is, how it works, why we need to optimize it as well as some techniques to optimize your WordPress database speed to its full potential. If you found this article helpful feel free to leave a comment or share this with anyone.
2 Responses
Great work, Johan! I love this
This is awesome Johan!