Skip to content
Modularcms

■  Features

The whole proof, page by page.

128 capabilities across 18 areas. 116 of them are in version 1.0; the rest are marked with the roadmap phase that brings them.

In 1.0Phase 3 On the roadmap

§ 01

Content modelling

Model content once as reusable pieces, and change the model whenever the business changes.

Content and element types
Document types for pages, element types for blocks, compositions to share field groups, singletons for one-off pages, and allowed-children rules for the tree.
Block List and Block Grid
Assemble pages from element types with separate content and settings, nested layouts in a grid, and presets editors start from.
A full set of field types
Rich text, pickers for content, media, members, and taxonomy terms, repeatable groups, links, embeds, locations, date ranges, tables, tags, and saved-query pickers.
Model changes at any size
Values are JSONB inside a relational shell, so changing a type on a 250,000-page site saves immediately: no server lock, no migration, no reindex.
Filterable fields, indexed
Fields marked filterable or sortable are materialized to indexed columns on save, so list queries stay fast without deep JSON scans.
Taxonomies and saved queries
Hierarchical vocabularies for tagging and navigation, and named queries editors can place in content and the Delivery API serves by alias.
Navigation menus
Menus built from the tree or by hand, per site and language, delivered as a single typed response.
Identity that travels
Every item has a global identifier that survives import and export, an optional unique alias for stable lookups, and optional short codes.
Blueprints and bulk editing
Start items from blueprints, and edit, move, tag, or find and replace across many items at once with a preview of every change.

§ 02

The editing experience

A backoffice designed like a press proof: calm, fast, keyboard-first, and accessible.

The sheet and the track
Each page is a sheet under a Draft → Review → Live track with one main button, a line of checks that opens a drawer, and comments in the margin.
TipTap rich text
Structured rich text stored as a document and delivered as both JSON and rendered HTML, with blocks, links, and media inside it.
Autosave and presence
Nothing is lost between saves, and editors see who else has an item open before they collide.
Comments, mentions, and tasks
Threads on content, media, translations, and approvals, with mentions that notify and tasks that can be assigned and closed.
Jump anywhere
The jump field (/ or Ctrl K) finds any page, place, or setting, and the Index (G) lays out every room of the backoffice.
Six rooms
Today, Content, Library, Audience, Build, and Settings group the work by what people do, with Today as the dashboard's face.
Tree, list, and board views
Browse a tree built for 250,000 items by loading each level on demand, filter it as a list, or move work across a board.
Shareable previews and PDF
Password-protected preview links that expire, preview as a segment or member, and a PDF export of any item for sign-off.
Accessible and multilingual
WCAG 2.2 AA with keyboard-only operation, right-to-left layouts, a night theme, and dates shown in each user's own timezone.

§ 03

Publishing governance

Every change is attributable, reviewable, schedulable, and reversible.

Approval workflows
Multi-stage approvals per content type or section, with users and groups at each stage, and rejection with reasons.
Scheduled publishing
Publish and unpublish items or whole sections at a time in any timezone, correct across daylight-saving changes, and fired exactly once.
Releases
Bundle many items into a release, preview the site as it will be, approve it, publish it atomically, and roll it back as one.
Versions and rollback
Immutable versions of every item, with rollback to any earlier version and retention policies that decide how many to keep.
Audit history
Who changed what and when, for content, media, settings, keys, and plugins, recorded on every mutation.
Locks with expiry
Editors can lock items they are working on; locks expire, and administrators can release them with a record of who did.
Recycle Bin with retention
Deleted items and media wait in a Recycle Bin, restorable with their place in the tree, until a retention policy empties it.
Automation rules
When something happens, if conditions hold, then act: triggers from content, members, schedules, and cron, with a test mode, run log, and versions.
Review dates and stale content
Give content a review date and a report of what is due or stale, so nothing out of date stays live unnoticed.
Notifications everywhere
In-app, email, and digests, plus Slack, Teams, and webhook channels, with subscriptions per node and templates you can override.

§ 04

Media

Cloudinary-style media handling built into the platform, served from your CDN.

URL-based transformations
Width, height, crop, focal point, format, and quality set from the URL, with automatic AVIF or WebP and signed URLs for anything unusual.
Named presets and responsive sets
Define renditions per site once, and deliver srcset-ready responsive images with the focal point and crops editors chose.
Video and audio
Transcoding to adaptive streams, poster frames, caption tracks per language, and renditions generated in the background.
Direct-to-storage uploads
Large files go straight to storage in resumable parts, with metadata extraction and malware scanning before anything is published.
Storage you choose
A local volume, S3-compatible, Azure Blob, or Google Cloud Storage per instance, with site and folder overrides and migration without changing a URL.
In-browser image editing
Straighten, rotate, flip, crop, and set the focal point in the backoffice, saved as a new version of the asset.
Rights management
Licence, credit line, releases, allowed uses, regions, sites, and expiry on every asset, checked when a page using it is published.
Bulk import and bucket sync
Import zip archives with a report, or keep a bucket or mounted folder in sync with the library by hand or on a schedule.
Usage and bandwidth
See where every asset is used before you replace or delete it, and bandwidth and cache hit rates per site.
AI-assisted mediaPhase 3
Automatic tags, alt text, subject detection for crops, background removal, and transcription.

§ 05

Delivery and performance

A versioned, cache-first Delivery API that stays fast on the busiest day.

The Delivery API
Content, media, search, menus, taxonomies, dictionary, redirects, sitemaps, feeds, forms, and widget configuration, in one consistent envelope.
Three cache layers
Edge cache keyed on the publish version, a tag-evicted output cache on every node, and Redis for coordination: each with one job and one way to invalidate.
Publish in under a second
Measured at 555 ms at the 95th percentile from publish to visible at the origin, against a 5-second target.
Degrades safely
If Redis goes away, nodes serve from local caches; if search goes away, PostgreSQL answers; if the origin goes away, the CDN serves stale.
Preview and staging hostnames
Preview tokens scoped to a subtree, draft mode for your frontend, and staging hostnames that show approved drafts.
Keys with scopes and limits
Public site keys bound to domain lists for the browser, and server keys with capability scopes and tiered rate limits for builds.
Signed webhooks
Per-site webhooks signed with rotating secrets, retried from a durable queue, logged, and redeliverable.
Usage reporting
Requests per key, hour, and outcome, plus the paths that returned not found, so you can fix links before visitors notice.

§ 06

Sites, domains, and URLs

Many sites and languages from one tree, with URLs that never break.

Hostnames per start node
Any number of hostnames per site with language prefixes, primary and alias roles, and a platform hostname for every site.
Visibility by hostname
Show or hide a branch on specific hostnames, and limit which sites each editor can work on in the backoffice.
Geofencing
Restrict content by country from the CDN's country header. No IP database, and location is never resolved beyond country.
Redirects and URL patterns
Moves and renames record redirects automatically; manage the rest by hand, with patterns that shape URLs per content type.
Short links and QR codes
Short codes that follow an item wherever it moves, with QR codes, expiry, and click counts by day, referrer, and country.
Sitemaps and robots
Sharded page, image, and video sitemaps maintained on publish and tested to 200,000 entries, with robots.txt per site.
Feeds
RSS, Atom, and JSON Feed for any section or saved query, with the right alternate links in every page's head.

§ 07

Translation and localization

Every language a first-class citizen, including right-to-left and CJK scripts.

Translation families
Translations are children of their master item, so structure and shared blocks stay in step while each language has its own state.
Status and outdated flags
When the master changes, its translations are flagged outdated field by field, and a translation can publish with its master.
Proofing and review
Translations go through their own review units, with comments in the margin and approval before they go live.
XLIFF round trip
Export to your translation agency as XLIFF and import the result, with memory from earlier translations applied.
Language fallback
Up to 50 languages per site with fallback chains, per-language hostnames or prefixes, and a translated dictionary.
AI translationPhase 3
Machine translation with a glossary and translation memory that editors proof before publishing.

§ 08

SEO, search, and site health

Findable pages, fast search, and a site that tells you when something breaks.

The SEO tab
Title, description, canonical, robots, Open Graph, and social cards on every item, filled automatically from the content by rules you set.
Structured data
Schema.org templates per content type, delivered as JSON-LD with breadcrumbs and language alternates.
Checks that can block a publish
SEO and accessibility checks on every item, shown on the track, with the option to stop a page going live until they pass.
Site monitoring
A scheduled crawl for broken links and missing metadata, uptime checks, and Core Web Vitals from real visitors with alerts.
Search you can tune
PostgreSQL full-text search out of the box or OpenSearch and Elasticsearch at scale, with synonyms, stopwords, weights, pins, and a report.
AI recommendationsPhase 3
Suggested titles and descriptions, and semantic, hybrid, and image similarity search.

§ 09

Personalization

Tailored pages without giving up the cache, and never without a default.

Segments
Audiences built from roles, profile fields, interests, country, language, device, referrer, campaign, time, and consent, combined with all, any, and not.
Block and field variants
Alternative content per segment on a block or a short field, kept in one item instead of duplicated pages.
Recommendation slots
Content-based, interest-based, trending, collaborative, and editorially pinned recommendations, blended by weight, with a fallback.
Promotions and restricted content
Promotion slots and items limited to a segment, alongside public access, hostname visibility, and geofencing.
Cache-safe by design
Decisions come from a separate uncached endpoint and are applied client-side by the loader, so content responses are identical for every visitor.
Anonymous first, consent-gated
Anonymous interest profiles live in the browser, behaviour-based personalization needs consent, and signed-in profiles merge on sign-in.
Preview as and reporting
Preview any page as a segment, a member, a country, or a future date, and report on which variants were shown.
ExperimentsPhase 3
A/B and multivariate tests, auto-optimization, AI-generated variants, and segment suggestions.

§ 10

Analytics

A first-party analytics store, the providers you already use, and your data warehouse.

First-party collector
Page views, clicks, downloads, scroll depth, and searches collected by the loader, consent-aware, into a store you run.
Provider plugins
Matomo, Google Analytics 4, and Microsoft Clarity bundled as plugins, configured per site without touching the frontend.
Content and editorial analytics
Performance per item and content type next to the content itself, and reports on the editorial process: throughput, time to publish, and approval turnaround.
Alerts
Thresholds on traffic and Core Web Vitals that notify the right people through the channel they chose.
Data warehouse export
Daily Parquet exports of analytics and, when you allow it, form data, for your warehouse or lake.

§ 11

Frontend users and forms

Accounts, sign-in, and forms for your visitors, without another identity product.

User pools
Pools per site, instance, or organization, so a visitor registers once and signs in everywhere in the pool with single sign-on across domains.
Registration and sign-in
Hosted registration, email verification, password reset, magic links, invitations, social and enterprise identity providers, and approval queues.
Profiles and self-service
Profile fields you define, an account widget for visitors, sign-in history, and explicit preferences that feed personalization.
Roles, groups, and public access
Frontend roles and groups with expiry dates, and member-only content that the Delivery API never leaks to anonymous callers.
Export and erasure
Data export and erasure on request, with a 30-day undo window and coverage checked for every table that holds a member's data.
Form builder
Versioned forms with sections, steps, conditional logic, validation, and file uploads, and a submissions view with assignment and states.
Encrypted submissions
Answers are encrypted with AES-256-GCM under a per-instance key and deleted on a retention schedule.
Spam protection and actions
Honeypots, timing, rate limits, and optional proof of work, plus notifications and webhook actions per form.

§ 13

Widgets

Functionality you maintain once and inject into every site with one script tag.

One loader
A single script tag with the site's public key registers the site's widgets as custom elements and loads each lazily.
Pinned, immutable versions
Each widget version is immutable on the CDN, pinned per site, and upgraded or rolled back with an audit record.
Built-in widgets
Consent banner, cookie declaration, account, and personalization come with the platform and share the loader.
Widget BuilderPhase 4
Author widgets in the backoffice with a code editor, live preview, server-side builds, tests, and a low-code mode.
Component CatalogPhase 4
A Storybook-style catalog inside the app that tracks component versions and variations per site.
Visual editingPhase 4
Edit on the live site through content source attributes and a backoffice overlay.

§ 14

Developer experience

Typed from the API down, scriptable from the pipeline up.

Consumer SDK
@modularcms/delivery, generated from the same OpenAPI document as the API, for any JavaScript runtime.
Next.js adapter
@modularcms/next: draft mode, revalidation, images, rich text, blocks, SEO metadata, menus, sitemaps, feeds, member sign-in, and personalization.
The modularcms CLI
Structure, packages, staging promotion, snapshots, migrations, keys, webhooks, jobs, and type generation, as a Node package, a single binary, or an image.
Structure as code
Keep content types and settings in files, plan and apply changes, and detect drift between the files and an instance.
API explorer
The Management and Delivery references inside the backoffice, with Try it and curl, fetch, and SDK snippets using your own keys.
Reference site and demo content
A Next.js consumer site and installable demo sites to start from and test against.

§ 15

Integrations and extensibility

Plug the platform into what you already run, and extend it without forking.

Git sync
Mirror content and structure to Git, two-way for structure, with plain Git or GitHub, release branches, and pull requests merged on publish.
External data
Reference records from commerce and other systems with an External Reference field that shows their current state in the picker.
Scheduled ingestion
Pull records from feeds and connectors into content on a schedule, with cursors, reports, and a named actor in the audit trail.
Marketing platforms
Brevo and Mailchimp plugins turn content into campaign drafts and sync member contacts and engagement.
Plugin packages
Install signed plugins per instance from publishers on a platform allow list, loaded in-process with rolling restarts.
Backoffice extensions
Plugins add screens, field types, and endpoints to the backoffice as custom elements, loaded with subresource integrity.
The ModularCMS StorePhase 5
Publish, discover, license, and sell packages in a public marketplace.

§ 16

Operations and data

The tools to run many sites calmly: back up, stage, promote, restore.

Snapshots and restore
Encrypted snapshots of an instance with its media, restorable to the same instance, a staging instance, or a new one.
Two kinds of staging
A separate instance for structural changes you promote with a plan, and staging hostnames for approved drafts.
Packages
Export and import content or structure as packages with a plan before apply and rollback after.
Umbraco migration
Import an Umbraco 13 to 17 site, Umbraco Cloud included, with a reviewable mapping, a rehearsal, and a report.
Maintenance mode and publish freeze
Pause editing or publishing per instance during upgrades, migrations, and restores.
Background jobs you can see
Every long task is a job with progress, cancellation, and fairness across instances, visible in an operations strip.
Upgrades
Semantic versions, rolling zero-downtime upgrades, a snapshot before every upgrade, and an opt-in update check.

§ 17

Security and tenancy

Isolation enforced by the database, and a supply chain you can audit.

Row-level security
Every tenant table leads with the instance identifier and is enforced by PostgreSQL row-level security, tested on every repository and endpoint.
Keycloak sign-in
OpenID Connect for backoffice users with MFA, and roles, grants, and per-node permissions held by the CMS.
Granular access
Grants limited to sites and languages, node permissions, and Management API keys whose rights never exceed their owner's.
Hardened by default
A strict hash-based Content Security Policy, security headers everywhere, rate limits on expensive operations, and controlled egress.
Verified supply chain
SBOMs for every image, Trivy scans with zero critical or high findings, and ZAP scans of the backoffice and both APIs.
Observability
OpenTelemetry traces, metrics, and structured logs with instance and request identifiers, and no personal data.

§ 18

AI content workflows

Coming in Phase 3: AI with your own keys, a budget, and an audit trail.

Bring your own keysPhase 3
Organization keys or platform-managed keys with metered billing, budgets, and cost reporting, through a provider abstraction.
Prompt managementPhase 3
Versioned prompts and prompt sets, shared across instances and packaged for reuse.
Editor assistancePhase 3
Drafting, rewriting, summarizing, and SEO suggestions inside the editor, with every call metered.
Agentic workflowsPhase 3
Multi-step content processes that draft, check, translate, and route to review.

■  Ready for press

See your content set in modules.

We’ll walk through the backoffice with your own site in mind, or import a copy of your Umbraco site and show you the result.