MO

MODX Revolution

CMS and application framework with creative freedom

Content Management Systems ★ 1.4k stars Medium setup GPL-2.0

MODX Revolution is an open-source content management system and web application framework that imposes no constraints on markup or design. It is used to build custom websites and applications.

Key features

  • Complete design freedom
  • Flexible templating
  • Extensible with packages
  • Granular permissions

Pros & cons

Strengths

  • No markup constraints
  • Good for custom builds

Trade-offs

  • Steeper learning curve
  • Smaller community

MODX Revolution replaces

Last reviewed Sep 13, 2026 · 817 words

MODX is the CMS you choose when the site's HTML already exists and you refuse to bend it to a theme. A template in MODX is your markup with placeholders such as [[*pagetitle]] and [[$header]] dropped in; there is no theme system to fight, no block editor imposing its own divs, and the output is exactly what you wrote. That freedom is the reason agencies have used it since 2005 and the reason the catalogue calls the learning curve steep: nothing is decided for you, so you decide everything.

Who runs it

The MODX user is a developer or a small studio building a bespoke site for a client who then needs a sane editing interface. The client sees a resource tree, edits fields the developer defined, and cannot break the layout. That split is the product. A hobbyist with no HTML skills who wants a blog is not the audience, and the project does not pretend otherwise. Among self-hosters the same profile applies: if you have designed your site in a static generator and now want a non-technical editor to update it, MODX is a natural next step; if you want a site by tonight, it is not.

The five element types are the whole mental model

Everything in MODX is a resource (a page) rendered through elements:

  • Templates: full HTML documents with tags.
  • Chunks: reusable HTML fragments, called with [[$chunkname]].
  • Snippets: PHP functions, called with [[snippetname? &param=value]], that return output.
  • Template Variables: custom fields attached to templates, from a date picker to an image upload.
  • Plugins: PHP hooked to system events.

Learn those five and you can read any MODX site. Caching is a tag prefix: [[$chunk]] is cached, and prefixing the inner name with an exclamation mark makes the call uncached; getting that wrong is the classic "why does the login state show the wrong user" bug. Compared with the loop-and-hook conventions of WordPress, it is a smaller, more explicit system, but the explicitness is what takes the first week.

The extras you will install on day one

The package manager pulls from the MODX extras catalogue, and a handful of packages are de facto core: pdoTools for fast listing and templating, getResources for the older equivalent, FormIt for forms, MIGX for repeatable field groups, Collections for managing hundreds of child resources, and Tagger for taxonomies. Each is a snippet or set of snippets you call from your templates with parameters. With these installed, a blog listing is one [[pdoResources]] call with a chunk for the row layout; no theme, no shortcodes.

The catalogue is smaller than WordPress's plugin directory by orders of magnitude, and some extras lag the current MODX major version. Check that a package you depend on has been updated recently before building around it.

Requirements and operation

A current PHP release with the usual extensions, MySQL or MariaDB, and Apache or Nginx with rewrite rules for friendly URLs. Community Docker images exist and work; the official path is a zip installer that writes a config.inc.php and walks you through the database in a browser. 512 MB is enough for the manager and a busy public site with the cache doing its job. Backups are the database plus the core/ directory and your assets; the advanced installer lets you rename the manager and core paths, which is also the main security hardening step, since scanners look for /manager/ and /core/ by name. Granular permissions are a highlight for a reason: resource groups, user groups and access policies can give an editor exactly one section of the tree.

Craft is the modern rival, Drupal the heavy one

Craft CMS makes the same promise of markup freedom with Twig templates, a nicer content-modelling interface and a paid Pro tier; it is the safer pick for a new agency build with a budget. Drupal offers the same power with a vastly larger community and a correspondingly heavier learning curve and hosting footprint. MODX sits between them: free, GPL-2.0, lighter than Drupal, older and with a smaller community than Craft. In the CMS category it is the choice of people who already know it, which is a comfortable place for a mature project and a risky one for a new adopter.

What I'd do

Build with MODX if you have working HTML, a client or family member who will edit content, and an afternoon to learn the five element types. Install pdoTools, FormIt and MIGX first, rename the manager path, and keep the database in your nightly backup. For a brand-new project with a designer on the team, look at Craft first and pick MODX if the price or the licence matters more. For a blog with no developer involved, use WordPress and save the freedom for a site that needs it.

Compare MODX Revolution

21 head-to-head comparisons.

Similar content management systems apps