Since WordPress v6.1 the Site Health check has started recommending if you should be using a “Persistent Object Cache” without actually explaining why but on our site the reason is because …
We have more than 1,000 rows in wp_comments (11,152)
We have more than 1,000 rows in wp_posts (4,437)
Both of these are being caused by WooCommerce orders. The rows in wp_posts are mainly made up of the following post types …
shop_order: 4383
shop_order_refund: 31
… and the rows in wp_comments are attached to those posts.
We would like a feature to archive old (older than an year) orders to custom database tables so that they can still be viewed as normal but are no longer residing in the wp_posts and wp_comments table which is un-necessarily adding load to SQL queries to those tables in the database.
Ideally this would be undertaken by WP cron and would be silently undertaken in the background so that users are non-the-wiser.
We don’t believe that our shop is particularly busy and I’m sure there are sites with way more orders that would do well to have less rows in their wp_posts and wp_comments tables.
Open
Last updated: October 14, 2025
Log in to comment on this feature request.
Also ich muss sagen das geht mir genauso. Ich frage mich wie Shops das machen die noch viel mehr Bestellungen haben als ich. Aktuell liegen ca. 400 abgeschlossene Bestellungen rum und es dauert ewig einen Auftrag zu suchen.
Bitte sorgt für bessere Ladezeiten bei Woocommerce Aufträgen.
Been trying to search for an official way to do this exact thing.
The whole of our dashboard loads fine, but everytime we open up an order its takes a lot of time to load, after doing everything in our power, we realized that we have to reduce the number the size of the postmeta and post tabes.
There are plugins out there that claim to do this, but they are very old and have not been updated for years. I wish this feature request picks up so there is an official option to archive orders.