SynaptikCMS 1.0 — The first stable release
SynaptikCMS 1.0 is out. It's the first version I consider production-ready, and the milestone where the feature set finally matches the original vision: a flat-file CMS that's genuinely usable for real sites, not just a toy project.
With all the features it contains, SynaptikCMS doesn't pale in comparison to any flat-file CMS on the market. Not to mention its absolutely crazy page load speed.
No database. No composer install. No build pipeline. Drop the files on any PHP 7.4+ host with Apache, run install.php, and you have a working site.
What you get in 1.0
Content, the way it should be. Articles, Pages, and Projects, each stored as individual JSON files under /data/. A lightweight _index.json per type means list pages stay fast even as the catalogue grows — single-item views load exactly one file from disk.
A real editor. WYSIWYG by default, with a per-post toggle to switch to a CodeMirror-based Markdown editor. Autosave runs at a configurable interval (1, 3, 5 or 10 minutes) and keeps JSON drafts across sessions. A shortcode builder modal lets you insert galleries, callouts, buttons or recent-content blocks without typing the syntax.
Custom Fields. Define additional fields per content type — text, textarea, number, URL, checkbox, dropdown — directly from Settings. They show up as a third tab in the editor sidebar alongside Content and SEO, and are available in themes via $item['custom_fields'].
Related Content. Per-post manual curation or automatic suggestions scored by shared tags (+1 each) and matching category (+2). Auto mode reads only the index, so it stays cheap regardless of catalogue size.
Scheduled publication. Set a future date and time. No cron job needed — promotion runs on the next front-end request after the scheduled time.
SEO that actually helps. Per-item meta title, description, keywords, Open Graph image, and canonical URL. Plus an SEO Overview audit table that shows completion status across every article, page and project, with inline editing.
Themes done right. A theme manager listing every installed theme with preview screenshot, one-click activation, ZIP upload with theme.json validation, and a live preview that lets you browse the entire site under any installed theme without touching the active configuration — via a signed HMAC token with a 2-hour TTL.
An integrated CSS editor. Edit the active theme's stylesheet from the admin with automatic timestamped backups before every save, and one-click restore from any prior version.
A Menu Builder. Drag-and-drop navigation with nested items up to two levels, external links, and "open in new tab" toggles.
Backups and updates. Full ZIP backup of /data/, /files/, and settings.json, restorable with an automatic pre-restore safety snapshot. And an update notification banner in the dashboard with one-click updates that download the release ZIP, validate it, back up your installation, and replace core files — without ever touching your content, settings, or uploads.
The rest of the toolkit: RSS feed auto-injected in <head>, hCaptcha-protected contact form, email-based password reset with one-time tokens, batch image optimizer with WebP conversion, Alt Text Assistant for bulk gallery accessibility audits, robots.txt editor, configurable timezone, full i18n (EN / FR / ES) on both front-end and admin.
Under the hood
The monolithic template-functions.php is gone, split into focused modules: tf-cards.php, tf-markdown.php, tf-navigation.php, tf-page.php, tf-shortcodes.php. The data layer is split between a read-only side (sl_* functions with request-scoped caching) and a write side (sl_admin_* with atomic operations and automatic cache invalidation).
Get it
SynaptikCMS 1.0 is MIT-licensed and available on GitHub. Extract, upload, visit install.php. That's the install.
