ERuvelo Editorialfor WordPress, by ruvelo.
Free, open source, no upsells

Nothing goes live unreviewed.

Ask for a review, see who still owes a decision, send changes back as notes, and hold publishing until enough people approve. Plain WordPress, no new workflow to learn.

Runs entirely in your browser, with Halyard's marketing team and posts in every review state already in place. Nothing to install.

The review queue: posts waiting for a decision, with approvals, reviewers, open notes and due dates

Review where the work happens

Built on core Notes and WordPress's own statuses, so it fits the editor your team already uses.

The Review panel in the editor
Reviews, where you already write. State, reviewers, approvals and open notes in the editor sidebar.
Requesting changes from the editor
Send it back with a reason, and optionally leave it as a note on the selected block.
The publish gate in the editor
A gate that explains itself. Publish waits for approvals; administrators can go past it with a logged reason.
The review screen
The whole story on one page. The change request, the gate, asking again and the full history, without JavaScript.
The Review column on the posts list
Visible from the posts list, with a review state filter.
The review queue in dark mode
Light, dark and small screens. Every action is a plain link or form first.

Our promises

Install it on a hundred client sites without wondering what it will show or become.

For developers

A REST API, WP-CLI commands, Abilities API registrations, overridable email templates, and actions and filters.

Who can review

add_filter('ruvelo_editorial_reviewer_roles',
    fn (array $roles) => [...$roles, 'author']);

From the command line

wp ruvelo-editorial request 42 --reviewers=maya,ines
wp ruvelo-editorial status 42
wp ruvelo-editorial queue