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.
In Progress
Last updated: October 15, 2024
Log in to comment on this feature request.
Our client’s WooCommerce store had 30k+ orders and was painfully slow. With no working solution to archive them, we built ArchiveMaster to automatically move old orders to AWS RDS. Later we added Local & Google Drive archiving and released it for everyone. Might save you the same headache: https://wordpress.org/plugins/archive-master/
Funny enough, I helped my aunt set up an online bake sale once, it was a total mess of broken links and confusing payment options. It reminded me of trying to navigate an especially tricky level in Slope Game. I swear, getting those cookies sold was more challenging than avoiding those red blocks. Luckily, we got there in the end.
https://slopegamerun.com
Concerning that this remains a live request, having been requested back in June 2023. Over 2 years later and it doesn’t seem to have been actioned by WooCommerce 🙁
We just launched Flexi Archiver tool for archiving old WooCommerce orders. The best part is that It automatically moves old orders out of your main WordPress database and archives them in our secure cloud storage. Your customers are still able to access the archived orders at all times from their My Account page.
Check it out at: https://flexiarchiver.com/ .
Hey! We saw this request and made a plugin to help address the issue. https://woocommerce.com/products/order-archive/ Let us know if you have any feedback!
It seems there is now a paid plugin for this: https://woocommerce.com/products/archiva/. But it does not have any reviews yet.
We also have this issue, currently have 95k orders and admin is definitely struggling even with a decent dedicated server with plenty of resource.
Really need this feature. I’m getting to the point where I’m going to create a duplicate of the live site to store old orders. The site has 125,000 orders going as far back as 2014. Some way to auto archive orders that are X years old would be ideal.
Same issue.
Another vote for this feature, it would be good to understand when it may be released
There are over 900,000 orders on my site, and this issue has now noticeably increased. When is this feature planned to be released?
This update is absolutely essential! My online store has over 15,000 orders, and I also use custom order statuses (https://wordpress.org/plugins/bp-custom-order-status-for-woocommerce/), as it’s impossible to manage orders efficiently without them.
However, all of this is causing a significant slowdown in the system, impacting both the frontend and backend performance. This issue needs to be addressed urgently.
00
This feature is absolutely and urgently necessary. Successful WooCommerce shops are currently forced to replatform due to too many orders in the database, causing performance degradation. Archiving orders is a must to enable continued business success.
I couldn’t agree more. Woocommerce does not scale well. We have around 100.000 orders in the database. I wouldn’t call this a really large shop. The postmeta table has more than 8 million rows which results in a database of more than 3,5 GB. Some features can’t be enabled without ruining the performance. The dashboard is miserably slow. No, our installation is not bloated at all. Each and every plugin is meticulously chosen. The theme is super lightweight. Of course, we don’t use a page builder. Tests have clearly shown that the issue is Woocommerce.
This is a great feature and it is a must! Also it will be great to be able to delete old Woocommerce tables after migrating to HPOS, since they stay there.
I believe this feature is absolutely necessary for WooCommerce.
Our site has almost 300,000 orders. I am trying to convince the owners to stay with woo because of the customization capabilities, but the lack of this function is killing us.
This would be an excellent feature.
Yes this would be a good feature. Please integrate and also you should add a partially shipped option too.
This has been killing us also, especially on sites with the subscription addon.
Got the same problem – too many orders and using order back edn to find and view orders is painfully slow…
Hell yes! I have spent weeks (on an off) looking at how to fix this for my damn website. We currently have 141,817 orders and no need to keep even 120,000 of those. Well, the problem is that we DO have a legal obligation to keep them for 7 years. But, right now, all they’re doing is massively slowing down the load time of our website – to the point that sometime when I try to load the WooCommerce > Orders page – Cloudflare times out entirely. (I’d say about 40% of the time)
As far as I know, there’s no reliable nor stable way to actually archive the orders – This should 100% have been implemented by now. There’s no way it hasn’t come before now.
Managing a site with a huge number of orders, the ability to archive orders and thus speed up the admin would be excellent.
DEFINITELY want the ability to archive past orders. I have a seasonal business, and this would be incredibly helpful. I would like it to be able to automatically show archived orders from current customers when they order in the current season.