Concrete CMS

cms

PHP CMS with in-context page editing, a block-based content system, and built-in versioning. Editors update pages directly in the browser without switching to an admin panel — a long-standing alternative to WordPress for institutional and government sites

#cms#php#in-context-editing#blocks#self-hosted
Alternative to WordPressDrupalJoomla

Quick Start

docker run -d -p 8080:80 -e DB_SERVER=db -e DB_USERNAME=concrete -e DB_PASSWORD=secret -e DB_DATABASE=concrete concretecms/concretecms:latest

Overview

Concrete CMS is a PHP content management system where editing happens directly on the page. Rather than navigating to a backend editor and previewing changes separately, editors click on a content block in the browser, make their edits inline, and publish from the same view. For organisations with non-technical content teams, this eliminates the disconnect between the admin panel and what visitors actually see.

The block system is the building unit for pages. Text blocks, image blocks, video embeds, forms, and custom block types are placed and arranged within layout areas. Each page has a version history, so any change can be reviewed, rolled back, or routed through an approval workflow before it reaches visitors. For regulated industries, government agencies, and universities with compliance requirements around content changes, this is a core feature rather than a nice-to-have.

Multi-language support is built in, not an add-on. A site tree can have language variants, and editors manage translations through the same in-context interface. Multi-site configurations allow a single Concrete CMS installation to serve multiple domains with separate content and separate user permissions.

The community edition is MIT licensed with no feature restrictions. The commercial platform adds cloud hosting and support, but for self-hosted use, there is no paywall on core functionality.

The limitation is ecosystem size. With 837 GitHub stars and a smaller developer community than WordPress or Drupal, the add-on marketplace is narrower and less actively maintained. Custom development is the answer for integrations that do not have a ready-made add-on, which raises the technical barrier for teams without a PHP developer.

Concrete CMS: Pros & Cons

Pros (The Wins)Cons (The Friction)
In-context editing:
Edit directly on the page;
no admin panel switching.
Small ecosystem:
Fewer add-ons and developers
than WordPress or Drupal.
Versioning + approval:
Changes require sign-off
before going live.
Complex install:
Composer-based setup is more
involved than WordPress.
Multi-language built in:
Internationalisation without
a plugin.
Block clutter risk:
Complex pages need
editorial discipline.
MIT, no feature limits:
Community edition has
full functionality.
Major version upgrades:
Add-ons and custom blocks
require testing before updating.

Use Cases

Specific ways to use Concrete CMS for your workflow.

01
Give non-technical editors the ability to update page content by clicking directly on it in the browser without admin panel training
02
Build a university or government site where content versioning and approval workflows are required before publishing changes
03
Manage a multi-language site with built-in localisation support without adding a separate plugin
04
Run a site with complex permission requirements where different editors control different sections independently

Deployment Strategy

Recommended ways to host Concrete CMS in your own environment.

docker
self-hosted