Hello,
we are facing a serious issue with the number of transients generated by tagDiv components on our site.
In just a few hours, the system generates over 10,000 td_query_ transients*, filling up the database and significantly impacting backend performance, to the point of causing 500 errors and severe slowdowns.
We urgently need clarification on:
– Is this behavior considered normal for tagDiv modules (e.g., Flex Block, loops, dynamic blocks)?
– Are there specific theme options or best practices to limit the creation of transients or to consolidate query caching?- How can we reduce the database load without disabling key functionalities of the theme?
This situation is becoming unsustainable — we need a solution to avoid continuous DB overload and server strain.
Thank you for your prompt support.
Hi,
No, tagDiv modules shouldn’t generate thousands of td_query_ transients so quickly. This is a sign of too many unique, uncached queries.
This situation usually appears when the website has a large number of articles, pages, tags … also, those can be created by the flex cache option https://forum.tagdiv.com/use-flex-blocks-cache-option/
Use caching properly:
Enable a persistent object cache (Redis or Memcached).
Use a good page cache plugin (e.g., WP Rocket, LiteSpeed).
Hello Calin
Thank you for your reply. We would like to provide more context. Please see the attached screenshot https://imgur.com/a/MVy57MR : as you can see, our site currently has over 9,000 td_query_ transients, and all of them appear to be generated by tagDiv components — mainly the Flex Blocks.
If what you mentioned is correct (that this number of transients is a sign of too many unique, uncached queries), then we must be misconfiguring something in our setup.
✅ We have already:
Assigned long cache durations to our Flex Blocks (1 hour to 1 day).
Reduced unnecessary offsets and unique combinations.
Enabled LiteSpeed Cache page caching.
We kindly ask for your guidance:
👉 What exactly could we be doing wrong?
👉 Could there be a setting or a known issue causing Flex Blocks to create so many unique transients despite our efforts?
We appreciate your support to help us identify what needs to be adjusted.
Hi,
If is possible can you please provide some more details about the queries, maybe a list with theme if is possible. This will help us to investigate more. Also, a link to the website will help.
Using the “cache durations to our Flex Blocks (1 hour to 1 day)” will add transients, that cache from flex blocks is using transients and it will contribute to the transients situation you have
Hi Calin,
Thanks for your reply. As requested, here’s a summary of the main blocks used on our site:
Home
Flex Block 1 / All categories / 6 posts / offset 0 / cache 1h
Flex Block 4 / Editoriali / 3 posts / offset 0 / cache 1d
Flex Block 4 / Ciclismo / 3 posts / offset 0 / cache 1d
Flex Block 4 / Basket / 3 posts / offset 0 / cache 1d
Flex Block 4 / Cultura / 3 posts / offset 0 / cache 1d
Post page
Flex Block 1 / All categories / 1 post / offset 0 / cache 1d
Flex Block 1 / All categories / 3 posts / offset 1 / cache 1h
Flex Block 1 / Related / 3 posts / offset 0 / cache 1d
👉 Our site: https://www.sport24h.it
We hope this will help you investigate why we are seeing over 10,000 transients created in a short period.
Thanks for your support.
Hi,
I will recommend to do a test, remove the cache from flex blocks elements and make sure the transients are clear, after that check to see if the number is of transients is the same or is lower.
I see you are using litespeed. LiteSpeed Cache can indirectly reduce the reliance on transients if you:
– Use Object Cache (like Redis or Memcached) — this keeps transients out of the database.
– Use the Crawler carefully — too aggressive a crawler can generate lots of transient data.
– Keep the database clean — LiteSpeed Cache has a Database Optimization tool (under LiteSpeed Cache → Database) that:
Go to WordPress Dashboard → LiteSpeed Cache → Database: Here you’ll see:
= “Clean All”
= “Clean Expired Transients”
= “Optimize Tables”
Click “Clean Expired Transients” to remove old ones.
Enable Object Cache (optional but recommended)
If your hosting supports Redis or Memcached, enable it under:
LiteSpeed Cache → Cache → Object This makes transients (and other objects) live in RAM instead of cluttering your database.
I hope this will help you!