Concrete CMS

Concrete CMS

Concrete CMS, known as concrete5 until 2021, is an open-source PHP CMS built around in-context editing: you edit a page by clicking on it, not through a separate admin form. The rename came with version 9, released in October 2021. It runs on PHP and MySQL and is released under the MIT licence.

How it models content

  • Pages are arranged in a sitemap tree, and each has a page type and a page template
  • Areas are editable regions on a page, and blocks are the content placed in them (content, image, form, page list, and so on)
  • Attributes add custom fields to pages, users, and files
  • Express objects hold structured data, such as a staff directory or a product list
  • File manager stores uploads centrally, with sets and attributes
  • Packages add themes, blocks, and features

Concrete CMS and WordPress compared

Concrete CMS Closest in WordPress
Pages in the sitemap tree Hierarchical pages
Blog built from page types Posts
Areas and blocks Block editor blocks
Attributes Custom fields
Express objects Custom post types
File manager Media library
Packages Plugins and themes

What moving involves

  1. Back up the database and the files directory before anything else.
  2. Decide how to extract content. There is no built-in export to WordPress, so the usual routes are a database-level script, a third-party migration tool, or copying pages by hand on small sites.
  3. Rebuild page types and templates as a WordPress theme. Block layouts do not transfer as-is.
  4. Recreate Express data as custom post types if you used it.
  5. Map the old page paths and set up 301 redirects. See 301 redirects in WordPress.

Text and images move without much trouble. Layouts and any custom block types are the bulk of the work. For the target platform, see the WordPress notes.

Current status

Actively maintained under the Concrete CMS name, with version 9 as the current major line. Sites still on 5.x or 8.x should upgrade or move, since older versions no longer get security fixes.