Grav
No database anywhere in the stack: Grav, the leading flat-file CMS, builds every page from a folder of Markdown and YAML on PHP, Symfony components, Twig templating, and Doctrine caching. That architecture is the whole argument: content is Git-versionable, rsync-able, and lock-in-free; pages render in well under 100ms without database round-trips; and backup means copying a directory. Content authors write Markdown (or plain HTML), configure with readable YAML, and define custom page structures via blueprint files that generate editing forms automatically. The optional Admin panel adds a polished editing layer: dashboard with site activity, page management with a syntax-highlighted editor and live preview, drag-and-drop media uploads, one-click plugin/theme updates, and normal/expert modes for form-based or raw YAML editing. The ecosystem runs deep - hundreds of open-source plugins and themes installed through the GPM package manager, with an event-hook architecture that gives plugins full control over the request lifecycle, and downloadable skeletons providing entire pre-built sites. Grav 2.0 modernizes the stack (PHP 8.3+, Symfony 7, Twig 3) and adds a first-party REST API, an MCP server for AI agents, and a SvelteKit single-page admin with real-time collaborative editing. Ideal for docs, blogs, and marketing sites. MIT-licensed.
Wordpress
Roughly 43% of all websites and over 60% of the CMS market run on WordPress - the GPL-licensed platform that scales from a personal blog to publishing operations and WooCommerce stores. The Gutenberg block editor composes pages from reusable blocks, and full site editing extends block control to headers, footers, and templates; tens of thousands of plugins and themes cover essentially every capability a site might need, from SEO and caching to membership and e-commerce. WordPress 7.0 "Armstrong" marks the platform's biggest structural update since Gutenberg itself: a React-based DataViews admin replaces the legacy list tables with instant filtering, a provider-agnostic AI Client API ships with connectors for OpenAI, Anthropic, and Google, media processing moves into the browser via WebAssembly, and a universal Font Library manages typography across block, hybrid, and classic themes with local hosting for GDPR compliance. New Breadcrumbs, Icons, and lightbox Gallery blocks reduce plugin dependence, and server-side PHP block registration simplifies development. The REST API and WP-CLI make it automatable end to end. Self-hosting is what WordPress was designed for: your content, database, plugin choices, and upgrade schedule stay entirely under your control, free of wordpress.com plan limits.
ClassicPress
WordPress without Gutenberg: ClassicPress, the community-led fork, keeps the TinyMCE classic editor as the default and strips the block editor and Full Site Editing out of core entirely. The result is roughly half WordPress's size - obsolete libraries like jQueryUI, Thickbox, and Flash support are gone, replaced by native HTML5 elements and modern alternatives like SortableJS - which translates to a measurably faster admin and a leaner attack surface. Forked from WordPress 6.2, it remains compatible with the vast plugin and theme ecosystem targeting that lineage (anything not requiring blocks generally works, helped by a blocks-compatibility mode), and the PHP-first WordPress API developers have used for over a decade works unchanged - no React required to extend your CMS. The fork adds its own improvements: built-in media categories and tags with bulk editing, revision management that lets you prune database bloat, native HTML5 dialogs for accessible touch-friendly menus, and recent releases bring APCu object-cache support, vanilla-JS core widgets, and performant translations. Governance is democratic and community-driven rather than corporate. For content sites, business sites, and blogs where the classic editing workflow is the feature, ClassicPress is stability as a philosophy.
WriteFreely
With over 5,100 GitHub stars and a proven track record powering more than 550,000 blogs on the Write.as hosted platform since 2018, WriteFreely strips blogging down to its essential purpose — writing — by removing news feeds, notifications, likes, and engagement metrics that distract from the creative process. The Go binary deploys on any platform as a single executable with SQLite for zero-dependency setups or MySQL and MariaDB for larger installations, consuming minimal system resources and running comfortably on hardware as small as a Raspberry Pi. The auto-saving Markdown editor provides a clean writing environment with instant draft preservation, while published posts render with typography-focused CSS that puts content front and center for readers. ActivityPub federation connects every blog to the fediverse, allowing Mastodon, Pleroma, and other ActivityPub platform users to follow blogs directly, receive new posts in their timelines, and boost or favorite content to their followers. Multi-blog support lets writers maintain separate blogs with distinct pen names from a single account without revealing their association, while OAuth 2.0 integration enables single sign-on onboarding from existing identity providers. Hashtag categorization organizes posts by topic, pinned posts create static pages for permanent content, and draft mode lets writers compose privately before publishing. Blog elements are localized in over 20 languages with first-class right-to-left script support for Arabic, Hebrew, and other RTL languages. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. AGPL-3.0 licensed.
Halo
Halo is a modern CMS that handles blogs, knowledge bases, corporate sites, and full e-commerce storefronts from a single installation, distinguished by a polyglot plugin architecture that runs both Java and JavaScript extensions on a GraalVM runtime. Built on Spring Boot 3 with a Vue.js admin console, the platform delivers a clean content management experience with Markdown and rich-text editing, live preview, scheduled publishing, draft management, media uploads, and granular multi-user role-based access controls. Plugins can be enabled or disabled at runtime without restarting the server, and the official marketplace offers over 100 free themes plus a growing library of extensions covering SEO optimization, search integration, paid content access, AI writing assistance, and Q&A chatbots. Storage backends are configurable through plugins, supporting local disk, S3-compatible object storage, and other providers. The fully documented RESTful API enables headless CMS usage for decoupled frontend architectures. Database support includes embedded H2 for quick starts, with production deployments on PostgreSQL or MySQL. Nearly 40,000 GitHub stars and over 2.5 million Docker pulls reflect the project's maturity and active development pace. A single Docker command gets a functional instance running on port 8090. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-3.0 licensed.