6 apps Blogging
Grav screenshot thumbnail

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.

Deploy
Isso screenshot thumbnail

Isso

Named from the German "Ich schrei sonst" - roughly "or I'll scream" - Isso is a lightweight Python/JavaScript commenting server, a drop-in Disqus replacement for people who noticed what Disqus does to reader privacy and page load times. The design premise is printed right in the docs: comments are not Big Data. So the backend is a single SQLite file rather than a database cluster, and the entire client is one embeddable JavaScript file - 65 kB, 20 kB gzipped - that you drop into any static site, blog, or CMS. Commenters write in Markdown, need no account, and can edit or delete their own comments within a configurable window (15 minutes by default). Spam control comes from an optional moderation queue: held comments stay invisible until you activate them via an admin interface or email notification links. Migration is a first-class feature, with importers for Disqus and WordPress exports, so years of existing threads move over intact. Because everything is server-rendered from your own instance, no third party tracks your readers, and real-world switchers report smaller pages and faster loads than the Disqus embed. MIT-licensed, running since 2012.

Deploy
Wordpress screenshot thumbnail

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.

Deploy
ClassicPress screenshot thumbnail

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.

Deploy
Cusdis screenshot thumbnail

Cusdis

Comments for small sites without Disqus's baggage: Cusdis is a lightweight, privacy-first, open-source comment system for embedding under blog posts and articles. The embedded JavaScript SDK is about 5 KB gzipped (Disqus is roughly 24 KB), sets no cookies, runs no tracking, and does not require readers to create an account or sign in before commenting. Integration is two lines: a container div with your app ID and an async script tag, with ready-made adapters for common frameworks and static site generators. Moderation is approval-based - new comments stay hidden until you approve them from the dashboard, and email notifications include a Quick Approve link that approves or replies to a comment from your phone without logging in. A webhook fires on every new comment for integrations like Telegram notifications. The widget ships with built-in i18n and dark mode. The stack is TypeScript and Next.js with a Prisma data layer, deployable via Docker with PostgreSQL. Deliberately minimalist: no ads, no reader profiling, and your comment data lives in your own database.

Deploy
Commento++ screenshot thumbnail

Commento++

When Commento's original maintainer went quiet, Commento++ bundled the community's bug fixes and stalled merge requests into a batteries-included release of the beloved Go-based Disqus alternative - and kept building. The core promise is unchanged: an embeddable comments box that is orders of magnitude lighter and faster than Disqus, with no ads, tracking, or data sales - two lines of HTML and a PostgreSQL database. On top of Markdown comments, voting, Disqus import, OAuth login (Google, GitHub, Twitter) plus SSO, sticky comments, thread locking, and email notifications, the fork's additions are substantial: WebSocket-powered live comment updates with permalinks and highlight animations for new arrivals, guest commenting with a name, a cross-domain moderation dashboard for approving and deleting comments in one place, MathJax rendering support, wildcard domain matching, a reInit hook that makes single-page-application integration clean, and Perspective API spam scoring alongside the existing Akismet integration. Optional page-view logging graphs traffic on the dashboard, native SSL termination works without a proxy, and script-tag data attributes control fonts, CSS overrides, deleted-comment visibility, and polling-versus-WebSocket behavior.

Deploy