Open source · PHP CMS

A CMS that needs no database

WordCore is a lightweight PHP CMS with flat-file storage, an addon system, and a clean admin panel. Upload and go.

No database
PHP 8.1+
Apache / Nginx
Free & open source
What is WordCore?

A full CMS that fits in a folder

WordCore stores everything as JSON files — no MySQL, no migrations, no hosting headaches. Upload the folder, visit your site, and you're running a CMS.

  • Flat-file JSON storage — swap to SQL any time via the driver interface
  • Built-in admin panel at /wc-admin
  • Addon & theme system with one-click install from repositories
  • Hooks and filters so addons can extend each other
  • CSRF protection and session auth baked in
my-addon/addon.php
// Register a nav item & admin route AddonManager::registerNavItem(     'My Addon', '/wc-admin/my-addon', 30 );   Router::get('/wc-admin/my-addon', function() {     Auth::require();     $data = Storage::get('my-addon/items', []);     // render your view... });   // Hook into the lifecycle Hooks::on('wordcore_loaded', function() {     // runs after all addons load });
Platform features

Everything the core provides

WordCore ships with a complete foundation — no addon needed for routing, auth, or persistent storage.

📄

Flat-file JSON storage

Data lives in data/ as plain JSON. No database to configure. Swap to SQL at any time by implementing the StorageDriver interface.

🔌

Addon system

An addon is a folder with addon.json and addon.php. Install from a repo URL in one click, or drop the folder in manually.

🎨

Theme system

Themes override front-end templates via filter hooks. Each page can optionally bypass the active theme and use the default template instead.

🪝

Hooks & filters

A lightweight event system lets addons fire actions, intercept values with filters, and tap into the full page lifecycle without coupling to each other.

🔐

Auth & CSRF

Session-based authentication, CSRF token verification, and a role system are built into the core. No third-party packages required.

🛣️

Router

Pattern-matching routes with named URL parameters. Register GET and POST handlers from any addon in a single line.

Official addon repository

Extend WordCore in one click

Add repo.wordcore.space as a repository in Settings and install any of these addons directly from the admin panel.

repo.wordcore.space →
📄
Pages
Create pages with slug-based routing, a nav menu builder, homepage control, and shortcode support.
✏️
Blog
Full post management with categories, draft/published status, archive at /blog, and pagination.
📬
Contact Form
Drop
into any page. Submissions stored in the admin inbox with optional email notifications.
🖼️
Media Manager
Upload images and files, copy the URL, paste into your content. Drag-and-drop with MIME type validation.
🔍
SEO
Per-page meta title, description, robots directives, and OG image. Global defaults cover all pages.
📈
Analytics
Self-hosted page view tracking with a dashboard showing top pages, daily trends, and sparkline charts.
Installation

Running in three steps

1

Download & upload

Download the latest release from GitHub, upload the wordcore/ folder to your web root, and make data/ writable.

2

Visit your site

WordCore auto-installs on first load. Log in with the default credentials and change your password immediately.

3

Add the repo & install addons

Go to Settings → Repositories, add repo.wordcore.space, then install Pages, Blog, and anything else you need.

Ready to build with WordCore?

Download the latest release and have a site running in minutes.

↓ Download WordCore
Free and open source  ·  Star on GitHub