WonderCMS is a free and open source flat file CMS, aimed to be extremely small, light and simple. It's built with PHP, jQuery, HTML/CSS and developed since 2008.
No initial configuration required. The installation process is pretty straightforward - unzip and upload 5 files.
All files can be easily moved, backed up and restored by copy/pasting all files to another location. Moving them to another host does not require any re-configuration.
WonderCMS also doesn't require a traditional/relational database like MySQL. The flat file technology enables WonderCMS to save all data to a text file (flat file) called database.js which is structured in JSON format .
I (a guy called Robert) started this project as simple CMS for maintaining my websites in college (about 10 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 possibly enjoy using for years to come.
After using it for a while and loving the simplicity of it, it seems 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.
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've been also incredibly lucky to have awesome supporters and contributors along the way and 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 it with a donation.
First version released.
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.
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 server signature
- [themes folder]
- [default theme folder]
- theme.php // default theme file
- [css folder]
- style.css // default styles
NOTE: WonderCMS one click update feature rewrites the index.php. Any changes made the index.php file will be lost after each update.
Privacy, future, updates
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 25 themes and 25 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 "25" on a monthly basis.
The voting comes in handy in situations where users feel one of the 25 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 "25 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, hackers 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 page, products listing, portfolio).
Simple websites (CV, info website, product showcase, one page websites).
WonderCMS supports and encourages all open source software and doesn't see them as competition. Every user has different needs and it's easy to realise WonderCMS isn't a perfect solution for every situation. The purpose of WonderCMS is to provide a simple alternative to website crafting.