Why your WordPress or WooCommerce admin panel is slow, and how to fix it
If loading any page in WordPress admin panel takes more than just a couple of seconds, it may seriously affect your productivity, and you'll probably won't be happy with WordPress as a content management system.
But most of the time it's not the fault of WordPress CMS itself. Here we'll cover the main issues why your WordPress website's admin panel is slow, and what you can do to make it faster.
Here's the plan:
Bonus for WooCommerce users - clean WooCommerce database (no coding or additional tools required)
Before getting into actual steps let's talk about popular but most of the time completely unnecessary thing WordPress users do when they try to fix slow WordPress admin panel.
Getting a faster server is not the right solution most of the time
Lots of WordPress users, especially those who use WordPress or WooCommerce for their business, try to fix WordPress admin panel speed issues with ordering more expensive hosting server. And that's logical. Sort of. It's like adding additional horsepower to a car - it will definitely go faster.
But adding more memory or more CPU power to WordPress hosting won't guarantee you much faster WordPress admin. It will guarantee you much fatter invoice in the end of the month. If your WordPress site is full of barely useful plugins, you're using a poorly developed WordPress theme, or your WordPress database is a mess, getting faster server won't help as much as you hope.
We may compare it with cars again. If you'll add 300 additional horsepower to your truck, a lightweight Lotus with 200 horses will still be faster on a track. That's why you first need to declutter your WordPress instead of jumping to a faster server.
How to make WordPress admin panel faster
Now we can talk about some practical steps you can do to make your WordPress admin panel faster. All of the steps also work for WooCommerce e-commerce websites too.
Remove unused data from WordPress database
WordPress keeps lots of data in it's database, and most of it is not needed in most cases. For example, it's great to have lots of page revisions once you're building a new website. You may need a previous page structure or some other data once you're trying things.
But once you have a fully working website you rarely need all the previous experimental pages and posts. Same thing with spam comments, Trash, and autosaved posts.
That's why you'll need WP-Optimize plugin. Go to Plugins >> Add new in your WordPress admin menu, find and install WP-Optimize plugin.
Once it's activated go to WP-optimize in your WordPress admin menu, and run the optimizations. You may run all of them at once, or go throught each of them, just to make sure you don't remove some specific data you might still need:
clean post revisions
clean auto-draft posts
remove spam and trashed comments
remove enerything from WordPress trash
You'll probably will run all of them. Less unused data in WordPress database will translate into more repsonsive admin panel. Expecially if your site is massive, and you never ran the modifications before.
WP-Optimize plugin has one more useful feature - it can check which WordPress database tables are not used (for example - if you deleted plugin years ago but the tables are still in the database).
To remove unnecessary tables from WordPress database click Tables tab, and look for [not installed] tables. It shows that plugin which created the table in your WordPress database no longer exists in your website. You can safely remove these tables just by clicking Remove button.
Ask WordPress to keep less revisions and autosaves in database
Couple more things might be handy if you want to have smaller and more responsive WordPress database.
By default WordPress loves having enormous amounts of data in it's tables. We'll limit some data by adding couple of lines to wp-config.php file. You can open this file using Cpanel's or DirectAdmin's File Editor, or opening it in FTP client like Filezilla.
The wp-config.php file is located in your hosting server, in the main WordPress directory (usually it's public/ or public_html/).
By default WordPress autosaves pages and posts every minute when you're editing them. We'll update the autosave interval to 600 seconds (10 minutes). You may enter a different number (in seconds) to change autosave interval. Here how the code looks like:
WordPress also loves having massive number of post revisions in it's database. But you probably don't need more than 5 revisions of every single page or post. For most of us 5 should be plenty. Here's the code:
Here's how the code should look like in wp-config.php file:
Don't forget to save changes and reupload the edited config file if you're using FTP client.
Increase WordPress memory limit
Since we're still near the wp-config.php file then we should add another line of code to make sure WordPress has more room to breathe.
By default WordPress uses up to 40 MB or memory (RAM). It may be OK for a simple three page website with no complex logics, but if you're running a larger site (or multilanguage, or WooCommerce) you need to increase WordPress memory limit.
Details about WordPress memory limit can be found here, but you can do the basics just in few seconds. Edit wp-config.php file once more, and increase WordPress memory limit at least to 128 MB:
Again, don't forget to save changes!
Remove slow plugins to make WordPress admin faster
If you have a massive number of WordPress plugins active then it's normal that your WordPress admin panel is slower. But not every plugin has impact on WordPress admin speed.
There are few types of plugins that make WordPress admin much slower than it could be:
plugins that load data from external sources into WordPress admin dashboard page. Like Google Analytics. Dashboard is the first page WordPress loads when you login to admin so if it's slow, you notice it immediatelly. If you want to make sure that Dashboard loads quicker, then disable some (or all) Dashboard widgets you can live without.
plugins that run various checks just to show notifications in WordPress admin, or WordPress admin menu. There's not much you can do about it except getting rid of unnecessary plugins which want to show you worthless notifications.
Multilingual plugins. Plugins like WPML are great tools but having lots of pages and posts in multiple languages does affect WordPress admin. Especially if you use WooCommerce site with hundreds of products in two or more languages. Then there is not much you can do - you should probably switch to a dedicated e-commerce software which supports multilingual content out of the box.
Any other WordPress plugins which were built poorly, without thinking about performance at all.
To test which WordPress plugin slows your WordPress admin down you should disable it, and check how your website performs without it. If you find a plugin that does affect performance you should look for alternative plugins, or look for ways to get rid of it entirely.
Switch to a faster and better built WordPress theme
It may not seem logical to blame WordPress theme for poor WordPress admin performance. Properly built themes (like Genesis Framework based themes and most others) never slow down admin pages. But if you're one of those hundred thousand WordPress users who bought "super mega all in one" theme from, example, top 10 most popular Themeforest themes, there's a high chance that your theme does affect WordPress admin performance. And here's why.
Lots of commercial all-in-one WordPress themes cannot work without at least a few bundled plugins. Like poorly built page builders, sliders and other plugins which should never been glued together with a theme. Some of those themes can weigh down WordPress admin dramatically just because they were built to do everything instead of doing just some things, but properly.
I don't tell that all WordPress themes from Themeforest are poorly built. There are some really great performing themes that don't add even a single third party plugin (like Enfold theme). But most others, even from top of the charts, are not worth dealing with.
Clean WooCommerce database
If you're running a WooCommerce store there are tools which could help you make WooCommerce and whole WordPress admin faster. And those tools can be accessed using WordPress admin panel.
Go to WooCommerce >> Status, and click Tools tab.
Once you're there you should clear WooCommerce transients (temporary WooCommerce data), Expired transients (temporary WordPress data) and orphaned variations (product variations which have no parents so they're invalid anyway).
This deleted data won't affect your store in any way. It will just make WooCommerce tables faster, with less data to lookup.
There is one more thing which might increase WooCommerce performance even more - clearing customer sessions. But you should not do it often - it will clear all customer carts. So if customer has some items in cart, and you clear customer sessions, customer will need to add items to cart once more.
If your WooCommerce has a massive number of clients you should still clear these sessions once in a while.
Conclusion and personal recommendations
Hopefully after all the steps your WordPress admin panel is much faster now. But if you want to make sure your site is always snappy you should think twice before adding new plugins to WordPress. Some plugins are a must, but some of them may just not be necessary.