About WonderCMS

WonderCMS is a small and simple flat file CMS. Aimed to be extremely light and easy to install.
Perfect for simple websites, landing pages or blogs.

It's an open source flat file CMS (Content Management System), built with PHP and developed since 2008.

  • No initial configuration required. The installation process is straightforward - unzip and upload 5 files.
  • All files can be moved, backed up and restored by copy/pasting all files to another location. Moving them anywhere does not require any re-configuration.
  • WonderCMS doesn't use a traditional/relational database like MySQL, which requires configuration. Instead, it uses a called flat file database, which saves all data to text file (flat file). Text file example: » database.js which is structured in » JSON format.


Short history

Who, why?

The idea of WonderCMS was born in 2008, open sourced in 2010 and been a growing idea ever since.

A growing idea of small but functional pieces of code that enables establishing web projects quickly and efficiently. The mission is to keep it small, simple, secure and hassle free.

» I (someone called Robert) started this project as simple CMS for maintaining my websites in college (about 15 years ago).

Being tired of all the over-bloated solutions that included too many unneeded features and required initial configurations, my goal was to create something simple and something that I would enjoy using for years to come.

After using it for a while and loving the simplicity, it seemed this project could be a way of me saying thanks and giving back to the internet, since I've been amazed by it since my childhood years. I decided to share it with the world and been maintaining it for free ever since.

I've also been incredibly lucky to have » awesome supporters and contributors along the way, as they've made this an absolutely EPIC journey. This project would not be the same without these individuals.

If you like what WonderCMS stands for, consider supporting us with a » donation or by » getting merch.


Releases timeline


First beta version released.


Open sourced.


Various different beta versions released.
Partially rewritten by Luka Mrovlje.


Partially rewritten by Yassine Addi.
Version 1.1.0 beta released with one click update functionality.


Version 1.2.0 beta released. WonderCMS now automatically includes functions.php if it's created inside your theme folder.
Version 2.0.0 released. First non-beta version after 9 years.
Version 2.0.1 released.
Version 2.0.2 released.
Version 2.0.3 released.
Version 2.0.4 released.
Version 2.0.5 released.
Version 2.0.6 released.
Version 2.1.0 released.
Version 2.2.0 released.
Version 2.2.1 released.
Version 2.3.0 released.
Version 2.3.1 released.
Version 2.3.2 released.


Version 2.4.0 released.
Version 2.4.1 released.
Version 2.4.2 released.
Version 2.5.0 released.
Version 2.5.1 released.
Version 2.5.2 released.


Version 2.6.0 released.
Version 2.7.0 released.
Version 3.0.0 beta released.
Version 3.0.1 beta released.
Version 3.0.2 beta released.
Version 3.0.3 beta released.


Version 3.0.4 released.
Version 3.0.5 released.
Version 3.0.6 released.
Version 3.0.7 released.
Version 3.1.0 released.
Version 3.1.1 released.
Version 3.1.2 released.
Version 3.1.3 released.
Version 3.1.4 released.


Version 3.2.0 released.
Version 3.3.0 released.
Version 3.3.1 released.
Version 3.3.2 released.
Version 3.3.3 released.
Version 3.3.4 released.


Version 3.4.0 released.
Version 3.4.1 released.
Version 3.4.2 released.

» See release notes


WonderCMS 5 file structure

 - index.php // WonderCMS core file, contains most of the functionality
 - database.js // default database, is created the first time you visit your website
 - htaccess // creates clean URL's, denies access to database.js, disables directory/file listing and server signature
 - [themes folder]
    - [default theme folder]
        - theme.php // default theme file
    	- [css folder]
            - style.css // default styles

NOTE: The one click update rewrites the index.php. Any changes made the index.php file will be lost after each update.


Privacy, future, updates

WonderCMS is not interested in any user data. It's completely track-free, cookie-less and without any obligations since it's creation. Check our short Privacy Policy.

One of the WonderCMS goals is to provide a "perfect" core and push as little updates as necessary. This provides WonderCMS users with a hassle free experience. When a new update is available, updating is easy with the built in one click update feature which can be also important for delivering critical security updates. Every update comes from the WonderCMS GitHub repository .

To keep this project within it's nature, which is sustainable and tiny, WonderCMS will support a maximum of 50 themes and 20 plugins. Once this limit is reached in each category, a simple voting system will be established. Users will be able to vote for their favorite plugins and themes to ensure they stay in the chosen top tier on a monthly basis.

The voting comes in handy in situations where users feel one of the plugins or themes can be replaced by a better one with similar functionality, or when a plugin/theme is no longer actively maintained. This is a good way to ensure we have a small and quality set of themes/plugins. The "chosen ones" of each category will be easier to maintain and watched over by the whole WonderCMS community.


Features that won't be included in WonderCMS

WonderCMS is meant to be a truly simple, tiny and light environment. Here's a short list of features WonderCMS doesn't support.

  • WonderCMS doesn't support multiple users. There is only one administrator and one password.
  • WonderCMS doesn't have permissions or user roles as it supports only one user (with super powers).
  • WonderCMS will not include an "auto update" feature. In the unlikely event of the official WonderCMS GitHub account being compromised, malicious actors would be able to deploy updates to all sites simultaneously. These type of malicious attacks are currently halted with the built in one click updater. This minimizes possible damage as users are encouraged to review code changes before using the 1 click update.


What can WonderCMS be used for?

  • Skeleton for almost any small to medium web project.
  • Landing pages.
  • Simple blog.
  • Websites such as CV, informational, product showcase, one page website, ...
  • Personal notes website.


Is WonderCMS better or worse than ____?

WonderCMS supports and encourages all open source software and doesn't see them as competition. Every user has different needs and WonderCMS isn't a perfect solution for every situation. The purpose of WonderCMS is to provide a simple alternative to website crafting.


Share your website

Proud of your WonderCMS website?

Share it with the community