Coldstash archives old WooCommerce orders without deleting them. Completed orders from years ago move out of the live order tables into archive tables in the same database. You can still search them, open them read-only, and restore any of them with its original order number.
Orders are the fastest-growing data in a WooCommerce store. Every sale adds order rows, line items, item meta and order notes, and years of history make the live order tables large, which is what every order query, order screen and migration has to work through. Deleting old orders is the usual cleanup advice, but it loses history your accounting, customers and support may still need. Coldstash is the middle ground: a smaller set of live orders, and the old ones safely kept. If you came here looking for a way to bulk delete old WooCommerce orders, archiving gets you the cleanup without the risk.
Who it is for
What makes it safe
What it skips, on purpose
Orders that are still in progress, orders newer than your age threshold (24 months by default, at least 12), orders with refunds, orders with active download permissions, and anything attached to WooCommerce Subscriptions, Bookings or Memberships. Every exclusion is shown with its reason before you run anything.
WP-CLI
wp coldstash preview, `run`, `status`, `restore <id>` / `restore --all` and `verify` give you full control from the command line.
Requirements
Requires High-Performance Order Storage (HPOS) with compatibility-mode sync turned off. Stores on legacy post-based order storage are not supported; the plugin stays idle and tells you why.
Coldstash stores archived orders, including the customer’s personal data in them (name, email, addresses, phone, IP address), in your site’s own database. It sends no data to any external service and contains no tracking or analytics.