WonderCMS - small flat file CMS
5 files • 48KB zip - 1 step install

WonderCMS is an extremely small flat file CMS. It's fast, responsive and doesn't require any configuration.

It provides a simple way for creating and editing websites.
Includes features such as: 1-step install, 1-click updates, 1-click backups, theme/plugin installer and much more.

Demo • Download • Community • News • Donate • Buy merch

Small and simple flat file CMS

No configuration needed - unzip and upload. 5 files: database.js (JSON format), index.php, theme.php, style.css and htaccess. Transferring your website to a new host/server is done by only copy/pasting all files (no additional configuration/migration) Privacy oriented: no cookies, tracking or "powered by" links. Includes plugins (via hooks/listeners), themes/plugins installer, backups, 1 click updates. Supports most server types (Apache, NGINX, IIS, Caddy). Project goal: keep it simple, tiny, hassle free (infrequent-ish 1 click updates).

1 step install

Unzip and upload latest version to your server.

Other install options

Option 2: Clone from GitHub: git clone https://github.com/WonderCMS/wondercms.git Option 3: Get hosting with WonderCMS pre-installed Option 4: Docker image Option 5: Install with cPanel (and Softaculous) - video tutorial

Requirements

PHP 7.4 or greater cURL extension mbstring extension Zip extension mod_rewrite module any type of server (Apache, NGINX, IIS, Caddy)

For setting up WonderCMS on NGINX or IIS servers, there is one additional step required. Read more: NGINX setup or IIS setup.

WonderCMS works on most Apache servers/hosts (even free ones) by default.


Libraries used (3)

3 libraries located in index.php, included only when admin is logged in: wcms-admin.min.js, autosize.min.js (4.0.2), taboverride.min.js (4.0.3).

Note: Some plugins also include other libraries such as jQuery, default WonderCMS out-of-the box includes only the above libraries through CDNs.


Security features

Track free and transparent - WonderCMS doesn't track users or store any personal cookies, there is only one session state cookie. Your WonderCMS installation is completely detached from WonderCMS servers. One click updates are pushed through GitHub. Supports HTTPS out of the box. Check how to further improve security. All CSS and JS libraries include SubResource Integrity (SRI) tags. This prevents any changes to the libraries being loaded. If any changes are made, the libraries won't load for your and your visitors protection. Check how to add SRI tags to your custom theme. This step isn't necessary if you're using a theme from the official website. WonderCMS encourages you to change your default login URL. Consider your custom login URL as your private username. Choosing a good login URL can prevent brute force attacks. Your login page will always return a 404 header response. Search engines do not (and should not) cache your login URL. The admin password is hashed using PHP's password_hash and password_verify. Choosing a strong password will prevent malicious actors from gaining any further admin access (if they would have guessed your login URL). WonderCMS includes CSRF verification tokens for each user action and additionally uses the hash_equals function to prevent CSRF token timing attacks. No known vulnerabilities. Special thanks to yassineaddi, hypnito and other security researchers.

Other features

no configuration required, unzip and upload extremely fast subpages simple inline click and edit functionality theme and plugin installer/updater 1 click updates 1 click backups easy to theme custom editable blocks custom theme and plugin repositories log of last 5 logged in IPs file uploader lightweight responsive clean URLs custom homepage menu reordering and visibility note: hiding a page from the menu only hides it from the actual menu (and not from search engines) highlighted current page in menu custom 404 page basic SEO support custom title, keywords and description for each page [optional] functions.php file for loading your custom code note 1: functions.php file includes itself when you create it note 2: the location of functions.php file should be inside the current active theme folder (same location as theme.php)

List of donors

Also listed on the official WonderCMS website. Thank you for supporting WonderCMS!

Håkon Wium Lie (also the creator of CSS) Tjaša Jelačič (BigSheep) Otis Schmakel Mohamad Hegazy Ulf Bro Kim Fajdiga John Greene Sara Stojanovski Peter Černuta Jasmina Fabiani Primož Cankar Andraž Zvonar Martin Jablonka Martin King Ben Gilbey Darley Wilson Josef Kmínek Mikula Beutl David Bojanovič Kenneth Rasmussen Victor Onofrei Matthev Veselin Kamenarov James Campbell Kirsten Hogan Denis Volin Jonathan Jacks Bizibul Bikespain Aleksandr Impavid Pty Ltd Mohamad Hegazy Happy Monsters Studios Derek (Random Fandom Media Group) Paweł Krużel Netroid Fabian Winder Václav Piták

What to (or not to) expect from WonderCMS

WonderCMS is meant to be a small gift to the internet and a simple alternative to website creating. It's 100% free and doesn't not include any "powered by" links. WonderCMS doesn't track users and is not interested in any user data. WonderCMS is not a fast-pace development project. Unless there is a critical vulnerability, updates will not be rushed. WonderCMS is meant to be extremely simple and will not be over-bloated with features. Specific features are added only if the majority of the WonderCMS community signals a wanted change. Pull requests are welcome and appreciated. To make WonderCMS sustainable and compact, a maximum number of 20 plugins and 50 themes will be supported. Once this limit is reached in each category, a simple voting system will be established. Users will be free to vote for their favorite plugins and themes to ensure they stay in the top 20 and top 50 pool. Votes will be held on a 6-month basis/twice per year (subject to change). The voting system comes in handy when users feel one of the top plugins or themes can be replaced by better ones with similar functionality or when a plugin/theme is no longer actively maintained. This is a good way to ensure a small but good quality set of themes/plugins. The "top 10 and top 25" of each category will be easier to maintain and watch over by the whole community. WonderCMS doesn't include an "auto-update" feature. In the unlikely event of this GitHub account being compromised, malicious actors would be able to deploy updates to all sites. These type of malicious attacks are currently prevented with the built in one click updater. This minimizes possible damage as users are encouraged to review code before using the 1 click update, so no damage is done automatically. There is a possibility of an auto-update if/when WonderCMS establishes its own hosting platform. If you run into any issues when using WonderCMS, you can always expect someone to try to help you in the WonderCMS community. Since WonderCMS is completely free and no one is paid to provide support, it's important to remain patient and respectful while asking for help.

Links

Website

Official website News/Changelog Donate Get merch Donors Hall of Fame List of contributors All WonderCMS related links

Community

Community

Social

Discord Twitter Reddit

Github

Docs/Wiki Common questions List of common errors How to create a theme How to create a plugin

Hosting and install tutorial

Hosting with WonderCMS pre-installed Install via cPanel - video tutorial

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。