WordPress plugin and theme developers often use transients API to store timely information in your WordPress database.
This allows them to reuse this information and make their plugins function faster. While this is an incredible performance technique, sometimes it may affect your website during testing or development.
For example, you may realize that certain elements like popular posts or Twitter widgets are not changing despite emptying WordPress cache.
That’s usually because the transient for that particular feature is not working as expected. To fix the issue, your options are to wait until transients expire or manually fix it.
In this article, we will show you how to easily manage and delete transients in WordPress.
What is Transients?
The Transients API in WordPress allows developers to store information in your WordPress database with an expiration time. This helps improve WordPress performance and speed up your website while reducing overall server load.
For example, many WordPress social media plugins use transients to retrieve and store share counts for posts.
If they didn’t use transients, then your server will need to connect with all social networks on each page load which will slow down your site significantly.
That’s why transients are awesome.
Now you may be wondering, why would you ever want to manage or delete transients?
Well, things can go wrong sometimes. Let’s say a connection between Facebook and your site didn’t go so well, and now it’s showing a count of 0. You can wait 30 minutes or sometimes longer for a transient to expire, or you can clear out the transient cache and get the most accurate count.
It also helps when testing a plugin to make sure that it’s really working like it is supposed to.
Last but not least, you may want to delete expired transients to clear out your database. This comes in handy when you are moving a staging site to live WordPress hosting server.
Are WordPress transients like cookies?
WordPress transients are like cookies but only in the sense that they both allow developers to store temporary information. However, transients are much more powerful.
For example, cookies are stored in the user’s browser and have several limitations. They are also less secure and not as programable.
Transients, on the other hand, are stored in the WordPress database, can store different types of data, more secure, and easily programmable with the transients API.
That being said, let’s take a look at how to easily manage transients in WordPress and delete them when needed.
Managing Transients in WordPress
First thing you need to do is install and activate the Transients Manager. For more details, see our step by step guide on how to install a WordPress plugin.
Upon activation, you need to visit Tools » Transients page to view and manage transients used by your WordPress site.
From here you will see a list of transients stored in your WordPress database.
This page lets you perform the following bulk actions:
- Delete expired transients
- Delete all transients with an expiry date
- Delete all transients
You can also look at transients listed below to edit or delete individual transients as needed. You can identify a transient by looking at its name.
Most trusted WordPress theme and plugin developers will use the product name in the transient to make it easily identifiable.
Right next to the name column, you’ll see the value for each particular transient. The transients value could be an object, array, number or alphanumeric string as the value.
You’ll also see an expiration time for each transient. Some of them may not have an expiration time set and will be displayed as ‘Does not expire’.
You can delete any of these transients or click on the Edit button to change their value.
This feature comes in handy when you are testing a theme or plugin and want to check it with different transient values.
We hope this article helped you learn how to easily manage and delete transients in WordPress. You may also want to see our list of most useful WordPress tips, tricks, and hacks for more neat ideas to use WordPress like a pro.
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.
Is it completely safe to delete all Transients? Even the ones that have nor expired?
Can anything get broken in the site or stop working properly?
I use WooCommerce and WPML. Both of these save transients. Is this safe to delete from their tables in the database also?
If a plugin needs a transient that you deleted as long as it is a well coded plugin, it will recreate the transient. If you’re editing the database correctly, we would recommend checking with the plugin’s support first to ensure you’re removing the correct data.
All Plugins I use are reliable like WPML, Woocomerce and Yoast.
I see a lot of transients from woocomerce and WPML and I just want to be sure it is safe to delete them. But I will do as you suggest.
Thank you so much for the attention.
As mentioned in one of the above posts, Pippin’s plugin does now have a button for bulk delete.
I suggest that you update the post – I almost missed that post and installed two plugins, where only one was needed.
Otherwise, great and straightforward post as always.
Thank you for letting us know about that update
Hi, great post! I am using Transients in the same way–for social media share counts. Using the Answer posted here:
Everything is working, however it is not giving me accurate share counts for all of the posts. Some have the correct share count others just show what appears to be a random number. For example a post that has 65 facebook likes only shows 1 when the transient code is added. When I remove the Transient it shows the accurate number of shares for all of them. Any ideas of what could cause this?
Anything that could point me in the right direction would be appreciated.
Thanks
Hey there,
how would one bulk delete transients which are not needed but also do not have any expiration date?
There is a wordpress plugin by the name Transients Manager . That will solve your purpose
Great post! This helped me clear about 300 megabytes from my wp_options table! I still have thousands of entries in there, many with no expiration date. I have a feeling that most are not needed. How do I go about finding out? For example, I have hundreds like these: “wc_max_related_3461814294618….” They have no expiration so will conceivably be there forever! What is the worst that could happen if I delete ALL transients?
Pippin Williamson’s Transients Manager now has a bulk deletion option for expired transients negating the need for Delete Expired Transients. It does not offer the ability to delete all transients but this is probably for the best for beginners and inexperienced users o.O
@wpbeginner, great post! This is one area where wordpress, for some reason, doesn’t clean up after it’s self. I just use this simple SQL in phpmyadmin
DELETE FROM `wp_options` WHERE `option_name` LIKE ('%_transient_%')
and replace wp_options with whatever my options table has been renamed to. Takes 30 seconds….I like the idea of being able to do this through admin of the site, but sometimes I feel I have too many plugins already.