Group Strapi Content Manager collection types into collapsible sidebar sections
released June 30, 2026
npm install strapi-plugin-content-manager-organizerA Strapi v5 plugin that lets you organize the Content Manager sidebar into collapsible, labeled groups ā configured entirely through a brand new visual Settings UI with Drag & Drop.
We've completely overhauled the plugin with a ton of new features and quality-of-life improvements:
When your Strapi project grows to 20, 30, or 50+ content types, the default sidebar becomes a long, unmanageable list. Content Manager Organizer solves this by letting you:
| Problem | Solution |
|---|---|
| 50+ content types in one list | Group into logical sections |
| Alphabetical order not useful | Custom drag-and-drop ordering within groups |
| Can't find content types fast | Collapse irrelevant groups |
| Single types cluttering sidebar | Group them separately |
| Config lost on redeploy | Saved safely to the database |



npm install strapi-plugin-content-manager-organizeryarn add strapi-plugin-content-manager-organizerpnpm add strapi-plugin-content-manager-organizerāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā First launch (no config in DB) ā
ā ā Shows default Strapi sidebar order ā
āāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā User configures via Settings > Content Manager Organizer ā
ā ā Config saved to database ā
āāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Every subsequent visit ā
ā ā DB config loaded ā grouped sidebar shown ā
ā ā Survives redeploys ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāThe plugin creates a hidden content type content-manager-configuration
that stores your config as JSON. It's hidden from the Content Manager
and Content-Type Builder ā you'll never accidentally see it.
plugin::content-manager-organizer.content-manager-configuration
āāā key: "main" (always "main", one record)
āāā config: { ... } (your full group config as JSON)| Database | Supported |
|---|---|
| SQLite | ā Yes |
| PostgreSQL | ā Yes |
| MySQL | ā Yes |
| MariaDB | ā Yes |
Switch between Collection Types and Single Types to manage them independently.
The plugin registers two permissions under Plugins ā Content Manager Organizer:
| Permission | Description |
|---|---|
settings.read | View the settings page |
settings.update | Save configuration changes |
Assign these in Settings ā Roles to control who can configure the plugin.
If you want to ship a default config for your team (without UI configuration), you can seed the database on bootstrap:
// src/index.ts (your Strapi project, not the plugin)
export default {
async bootstrap({ strapi }) {
// Only seed if no config exists
const existing = await strapi.db
.query('plugin::content-manager-organizer.content-manager-configuration')
.findOne({ where: { key: 'main' } });
if (!existing) {
await strapi.db
.query('plugin::content-manager-organizer.content-manager-configuration')
.create({
data: {
key: 'main',
config: {
stripNumericPrefix: true,
sortBy: 'alphabetical',
groups: [
{
id: 'products',
label: 'Products',
defaultExpanded: true,
kind: 'collectionType',
items: ['product', 'category'],
},
{
id: 'blog',
label: 'Blog',
defaultExpanded: false,
kind: 'collectionType',
items: ['article', 'tag', 'author'],
},
{
id: 'settings',
label: 'Global Settings',
defaultExpanded: true,
kind: 'singleType',
items: ['site-config', 'footer'],
}
],
},
},
});
}
},
};MIT Ā© Chetan Hasarmani
Built with Strapi Plugin SDK and Strapi Design System.
Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.
Submit
