Free CMS software for websites that are secure and fastThere are a plethora of different CMS software platforms (Content Management System) out there and it is not easy to pick the one that is right for you. As always if you know what type of website you want to build, your budget and how much time you want to spend it is easier to narrow down the list of options.
Even if a CMS software is free it does not mean that hosting it will be free. If you don't have the technical skills or don't have time to manage a server you want to use managed hosting or a SaaS solution (Software as a Service). With an increasing number of denial of service attacks, hacker attacks, viruses, trojans and rootkit etc you need to know what to do or have someone manage it for you even if it is not an e-commerce site you have in mind and are going to handle credit card information or personal user information. Your reputation and credibility are at stake when you have a public website.
This is the main categories of CMS software:
- Open source software (that can be installed and managed on a web server).
- Software as a service (that includes software, hosting, and support with a single vendor).
- Proprietary software (that includes software to be installed and managed on a user's own server).
All CMS has their strengths and weaknesses. Do you need to collaborate with other in your company before publishing? Do you need a workflow where you can approve content and get notifications? Do you need different user roles: guest, author, superuser etc? Do you need an overwhelming number of plugins for SEO, member registration, form building, e-commerce and email marketing? Do you need a CMS that you can grow with, that can handle lots of pages and many visitors without grinding to a halt? Do you need a large community to get help from? Or do you just want a landing page where you can collect email addresses for your list, but still be able to tweak it's content now and then?
All these questions are not easy to get answered. A good approach is to first check which CMS is most popular. At w3techs.com you can get an overview of the percentages of websites using various content management systems.
As of today 17 October 2016 these are the 30 most popular content management systems (W3techs overview):
- WordPress 58,9%
- Joomla 6,2%
- Drupal 4,8%
- Magento 2,7%
- Blogger 2,5%
- TYPO3 1,5%
- Bitrix 1,4%
- PrestaShop 1,3
- Shopify 1,3%
- Adobe Dreamweaver 1,3%
- Squarespace 1,0%
- OpenCart 0,9%
- FrontPage 0,9%
- DataLife Engine 0,7%
- vBulletin 0,6%
- DotNetNuke 0,5%
- Wix 0,5%
- ExpressionEngine 0,5%
- phpBB 0,4%
- BigCommerce 0,4%
- Discuz! 0,4%
- Weebly 0,4%
- Telerik Sitefinity 0,3%
- osCommerce 0,3%
- GitHub Pages 0,3%
- SharePoint 0,3%
- uCoz 0,3%
- XenForo 0,2%
- IPS Community Suite 0,2%
- Concrete5 0,2%
You can see that WordPress is by far the most popular CMS.
There is a number of reasons why WordPress is so popular. A breakdown of advantages and disadvantages can be useful.
- Easy to install
- A massive user and developer community
- Lots of plugins and extensions
- Lots of templates and themes
- Configuration (This can be a pain when you have a lot of plugin and different extensions to manage all over the admin interface)
- Security (you have to secure and look down your site, database and also be sure that your plugins are secure)
- Language translation of the admin area (translations in other languages than English can lack a lot of quality)
- Scaling and Performance (Non-optimized plugins that slow your site down and expensive scaling and web caching solutions)
- Support (even if the community is very active, and you will find answers to most of your questions, there are cases when you have to figure out things by yourself.)
A majority of the WordPress websites are personal websites and blogs where the user has not thought about security, reliability or have no need to scale it up to meet burst of many visitors. All this is possible to achieve with WordPress but it comes at a cost and then you need both resources and money to manage and keep it going. Some of the costs are visible on your bill other will be hidden as massive time sinks.
This is true for most of the content management systems on this list that is dependent on server side dynamic scripting languages and databases such as WordPress, Joomla, Drupal and Magento. In the list only Adobe Dreamweaver, FrontPage and GitHub Pages create static pages for your website, which is an ancient technique from the very birth of the world wide web which we will look at a little bit closer.
The problem with a CMS that use a server-side scripting language (PHP, Phyton, .NET, Java, SQL etc) is that they introduce security flaws which can be exploited.
Dynamic websites versus static websites
In the beginning of the world wide web around 1994, all websites were a pile of static HTML files and now there is an emerging trend to go back and build static websites again. There are a number of converging reasons for that: rising number of website attacks, the cost of management, bloated CMS software and the rise of the programmable web and improvements of client browsers and client scripting languages.
A static website is as you can imagine static, there is no way you can change it's content before it hits your browser.
Diagram with overview how a static website serves pages. (created with yEd).
There are advantages to this approach:
- Speed - web servers are very good at delivering static pages quickly.
- Version control - having a repository where people can collaboratively work on a project is a win-win situation.
- Security - with no database and no processing of server-side scripts, there's nothing to mess up.
- Maintenance - there's no plugins, extensions, modules and frameworks to maintain.
- Traffic surges - unexpected traffic peaks is less of a problem as static HTML pages utilizes a very small amount of server resources.
There is also disadvantages such as:
- No admin UI - most static website generators do not have a WYSIWYG editor. (Appernetic has one built in wich you also can use on your mobile device)
Most of the static website generators that exist today have no WYSIWYG interface and you have to be a developer to manage the complicated workflow to create a website.
At MolnSys we recognized an opportunity to build an easy to use frontend where you can edit pages just like in a dynamic CMS and also manage the workflow to have the site published without knowing a single line of terminal commands. By using the popular static site generator Hugo, Git and GitHub Pages we built a SaaS platform to manage websites without the cost and troubles that are normally associated with CMS systems. For appernetic.io we use a freemium model where you can publish 14 times in a period of seven days. If you don't like the restriction you can pay what you think it is worth or pay as much as possible to support our micropreneural pipe dream.
These are the steps to have a static website or blog published to GitHub Pages with Appernetic.io:
- Login to your GitHub, Facebook or create a new User account. Generate a GitHub token and enter it in the user settings.
- Set up your free account. You can also Pay what you think it is worth, from $0.5 to $20.95 a month.
- Clone your Hugo project repository or start by creating a skeleton site.
- Select a theme from the list of 114 themes.
- Add the cloudname and uploadpreset from your Cloudinary (image asset management) account.
- Add, edit and preview markdown files in the tree viewer and the WYSIWYG-PageDown editor.
- Add dynamic content with external services such as Disqus, SumoMe, Zapier, Moltin etc.
- Preview your site.
- Publish your site to GitHub Pages, by pressing the Publish button