KakapoWP KakapoWP
Roles

PublishPress Capabilities vs. Kakapo Roles

July 1, 2026·5 min read

Permissions plugins look alike on the surface: a matrix with roles in columns and capabilities in rows. It gets interesting to the left and right of it — in what you can control beyond the capabilities themselves, and in whether a rule still applies when nobody is clicking around in the backend.

The short answer

PublishPress Capabilities is a solid tool for roles and capabilities that's free to start with, with good handling of custom post types and a clear matrix. Additional features come via other plugins from the same family.

Kakapo Roles also covers the matrix and additionally includes what add-ons otherwise take care of: admin menu, Media Library, widgets, navigation menus, shortcodes, redirect after login — plus a change log, a trash for roles, and export/import.

Where the two differ

QuestionPublishPress CapabilitiesKakapo Roles
Pricefree, with a Pro tierpaid plugin, one license for nine
Capability matrixyesyes
Effect in the REST APIcheckexplicitly enforced
Admin menu per rolevia another pluginbuilt in
Media Library limited to own filesvia another pluginbuilt in
Widgets and navigation menus—built in
Shortcodes per role—built in
Trash for roles—with restore
Change logdepends on planbuilt in
Export and importdepends on planbuilt in, merge or replace
Protection against privilege escalationcheckget_editable_roles respected, in networks too

The test that takes one minute

Protect a post for a specific role. Log out. Open /wp-json/wp/v2/posts?search= with a word from the post. If the content shows up in the response, the rule only changes the view — the data is out in the open.

This test works for any plugin of this kind, including the one you're using right now. Kakapo Roles enforces the rule in the REST API as well; with other tools it's worth asking, because “hiding” and “locking” are two different things.

Also check your page builder. Some deliver content via their own endpoints, which bypass the role plugin's capability check.

What matters besides capabilities

The capability matrix answers what someone may do. For a backend that a client uses every day, the second question is just as important: what do they see? An editor with twelve menu items, ten of which are locked, doesn't have a secure backend — just a confusing one.

With Kakapo Roles, that's included. With most tools of this kind, it takes separate add-on plugins or code snippets in functions.php — which works, but turns into an open question again at the next theme change.

Document capabilities, don't just set them

Capabilities are changed rarely and usually under time pressure: someone joins the team, someone leaves, a client briefly needs more. Six months later, the question comes up of why a role is allowed to do something — and without a log, every answer is a guess.

Kakapo Roles keeps a change log and a trash for deleted roles. Both sound like minor details until the first time someone deletes a role that twenty users depend on.

Export your capability structure as soon as it's in place. Then it's a file — back it up, version it, import it on the next website. Without export, you build the same structure for the fifth time on your fifth project, a little differently each time.

When PublishPress Capabilities is the better choice

When Kakapo Roles is the better choice

Frequently asked questions

Can I use both in parallel?
Briefly for comparison, yes; permanently, no. Both write the same roles; the last save wins, and capabilities then seem to change on their own.
Will my roles be preserved?
Yes. Roles are a WordPress setting, not the property of any plugin.
How do I test whether a role is set up correctly?
With a test user for each role. Nothing replaces logging in as that person — the matrix shows the intent, the test user shows the result.
What happens without a valid license?
Roles and capabilities stay unchanged. The management functions pause.

Kakapo Roles — pay once, use forever.

All nine plugins for €149 once instead of €13 a month. Secure payment via Stripe. For the first 14 days: problem fixed or money back.

Get Lifetime All Features
Read more

You might also be interested in this.

All Posts