Title: Atelier &#8211; Automatic Product Sorting for WooCommerce
Author: pluginsatelier
Published: <strong>August 16, 2026</strong>
Last modified: August 16, 2026

---

Search plugins

![](https://ps.w.org/atelier-product-sorting-for-woocommerce/assets/banner-772x250.
png?rev=3650211)

![](https://ps.w.org/atelier-product-sorting-for-woocommerce/assets/icon-256x256.
png?rev=3650211)

# Atelier – Automatic Product Sorting for WooCommerce

 By [pluginsatelier](https://profiles.wordpress.org/pluginsatelier/)

[Download](https://downloads.wordpress.org/plugin/atelier-product-sorting-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/atelier-product-sorting-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/atelier-product-sorting-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/atelier-product-sorting-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/atelier-product-sorting-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/atelier-product-sorting-for-woocommerce/)

## Description

Automatic product sorting ranks category archives using observed net units
 sold,
catalog availability, and which products are new arrivals.

Before the first change, the plugin shows what would move. The first Apply for
 
a category approves the formula and policy and publishes the reviewed order.

Later candidates may publish automatically when only data changes under that
 approval.
A formula or policy change returns to Preview. Pause stops publications; Restore
returns to the native order; Rollback serves a selected earlier order until you 
publish again. The dashboard attributes and timestamps each change.

#### What it measures exactly

 * **Observed net units over 30 days**, adjusted for refunds with an
    attributable
   quantity. It counts every order that WooCommerce exposes as paid and in an eligible
   status and does not automatically exclude test orders. Each run takes a complete
   U30 snapshot, and the population, coverage, and cutoff are visible.
 * **Catalog availability observed during the latest calculation.** This is
    what
   the catalog reported at that moment, not a checkout reservation or a real-time
   promise.
 * **New arrivals**, with a window configurable per category.

#### What it does not do

 * It does not promise to increase sales or improve conversion. It sorts by an
    
   observed signal; what happens afterwards depends on your store.
 * There is no “smart score,” AI, per-visitor personalization, or random
    exploration.
 * It does not know real-time stock or the units actually free at checkout.
 * It does not collect impressions, clicks, or sessions.

#### Privacy

All calculations run on your server. The plugin sends no telemetry or store
 data,
depends on no external service, and makes no network request to sort products. WordPress
itself may still check WordPress.org for updates.

#### Where it sorts and where it does not

The plugin sorts only when it can identify one category unambiguously.

It serves the ranking in:

 * The main category archive of a classic theme when WooCommerce uses its
    default
   or manual order.
 * The Product Collection block in Default/inherit mode inside the category
    template.
 * The Product Collection block in Custom+Manual mode when the category is
    unambiguous
   and no other ordering criterion exists, including editor preview.

It keeps the native order for: an explicit order selected by the visitor,
 search,
the main shop archive, queries spanning several categories, the Store API, external
search engines, and custom SQL queries from other plugins.

Not claimed as supported: shortcodes, page builders, headless setups,
 WPML/Polylang,
and page or CDN caches. The dashboard is ready for translation and supports RTL;
multilingual catalog sorting has not been verified.

**WordPress Multisite is not supported.** The plugin detects it, explains the
 limitation,
and does nothing else: no tables, no scheduled work, and no storefront intervention
on any site in the network.

### Development

Human-readable admin source is included in `admin-ui/src/`; WordPress runs the
 
compiled files in `assets/admin/`. With Node 20+ and npm 10+, rebuild them with 
npm ci && npm run build:assets. `package-lock.json` pins the JavaScript toolchain.`
composer install --no-dev --classmap-authoritative` rebuilds a functional PHP autoloader
from `composer.lock`. The plugin already includes its production assets and autoloader,
so merchants do not run either build tool.

## Screenshots

[⌊The Fleetboard shows every category's sorting status and its next action.⌉⌊The
Fleetboard shows every category's sorting status and its next action.⌉[

The Fleetboard shows every category’s sorting status and its next action.

[⌊Preview explains the proposed order and every movement before the first Apply.⌉⌊
Preview explains the proposed order and every movement before the first Apply.⌉[

Preview explains the proposed order and every movement before the first Apply.

[⌊History previews a safe Rollback before serving a previous published order again.⌉⌊
History previews a safe Rollback before serving a previous published order again
.⌉[

History previews a safe Rollback before serving a previous published order again.

## Installation

 1. Install and activate WooCommerce, which is a required dependency.
 2. Install and activate Atelier – Automatic Product Sorting for WooCommerce.
 3. Go to **WooCommerce  Product sorting** and follow the guided first run.

Requirements: WordPress 6.9 or later, PHP 8.3 or later, WooCommerce 10.8 or later,
MySQL or MariaDB with InnoDB, and a single-site installation.

Administrators and shop managers can view the dashboard. Publishing, restoring, 
or changing settings also requires permission to manage WooCommerce.

## FAQ

### Does activating it change anything in my store?

No. Activation prepares the plugin’s tables; the native order remains until
 you
publish. Calculation is read-only for WooCommerce orders and products.

### Do I have to confirm every update?

No. The first Apply approves the reviewed formula and policy. A complete
 candidate
caused only by later data changes may publish under that contract.

Formula or policy changes return to Preview. Pause keeps the served order;
 Restore
reveals the native baseline; Rollback keeps a selected earlier order. Status and
history show what changed, how, and when.

### What does each category status mean, and what should I do?

The dashboard explains every status and its next action. **Not calculated**,
 **
Calculating**, and **Ready for review** cover the first publication; **Published**
is serving an order; **Outdated**, **Degraded coverage**, and **Blocked** require
a new run or diagnostic review; **Paused** keeps the current order; **Restored**
serves WooCommerce’s native order.

### How do I go back if I do not like the order?

Restore immediately returns the category to WooCommerce’s native order. It
 deletes
nothing; history remains available.

Rollback restores an earlier retained order after showing its diff. An order
 containing
a product that no longer exists is rejected rather than partially published. It 
remains fixed until you publish again.

If calculation is failing, _Run now_ resumes blocked or outdated work instead.

### What is stored, and for how long?

In its own tables, the plugin keeps calculated generations, positions,
 explanations,
pending work, and command log. Per category it retains the served generation, latest
candidate, and five previous published generations; other generations are pruned
after seven days. It neither modifies nor copies orders or products and stores no
per-order demand contribution.

Diagnostics are calculated from live state and have no history in Free.

### What happens with custom order statuses?

The plugin uses WooCommerce’s public APIs. Diagnostics report correctly
 registered
custom statuses as unclassified, with their observed order count.

An incompletely registered status may be invisible, especially under HPOS.
 The 
plugin cannot count or report orders WooCommerce does not return and does not invent
a zero; the dashboard and export declare this limitation.

Fix that integration and recalculate. The plugin does not read internal order
 tables
as a workaround.

### What is removed on uninstall?

Its tables, options, caches, scheduled tasks, and capability. WooCommerce data
 
is not touched.

Deactivation removes storefront ordering and scheduled work but keeps
 configuration
and history. Reactivation starts in native order until another review and publication.

### What information can I send to support?

The downloadable JSON diagnostic contains allowlisted versions, statuses,
 counts,
and category identifiers—not secrets, personal data, order content, category names,
or store URL.

It is generated only on request and never sent automatically.

### How do I get help?

Email support@pluginsatelier.com and attach the exportable diagnostic.

The WordPress.org forum is not a promised support channel. Email is.

Phone, chat, store access, consulting, and custom development are outside Free.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Atelier – Automatic Product Sorting for WooCommerce” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ pluginsatelier ](https://profiles.wordpress.org/pluginsatelier/)

[Translate “Atelier – Automatic Product Sorting for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/atelier-product-sorting-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/atelier-product-sorting-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/atelier-product-sorting-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/atelier-product-sorting-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/atelier-product-sorting-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.9 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 8.3 or higher **
 * Tags
 * [catalog](https://wordpress.org/plugins/tags/catalog/)[categories](https://wordpress.org/plugins/tags/categories/)
   [merchandising](https://wordpress.org/plugins/tags/merchandising/)[product sorting](https://wordpress.org/plugins/tags/product-sorting/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/atelier-product-sorting-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/atelier-product-sorting-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/atelier-product-sorting-for-woocommerce/reviews/)

## Contributors

 *   [ pluginsatelier ](https://profiles.wordpress.org/pluginsatelier/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/atelier-product-sorting-for-woocommerce/)