Should you switch to a Flat File CMS in 2015?

You may have already heard it said: “This is the year of the flat file CMS.” You may have even looked at a few and wondered why someone would use a system like that instead of WordPress or Drupal.

Before we go any further, let’s define what a Flat File CMS (FFCMS) is. The name itself gives a big hint of how they differ from traditional CMSs. A traditional CMS like WordPress or Drupal has page templates that are connected to a database where all the content from your posts and pages are stored. When you go to a page on the website, the template makes a call to the database for the content it needs, and then displays it on the page for the end-user to read.

In contrast, an FFCMS doesn’t have a database; it just has files. There are no database calls being made every time a page is loaded. This doesn’t mean that you have your page templates mixed in with your content, it just means that your content is stored in folders and files, rather than a database.

Why use a FFCMS?

Speed

Because you don’t have to wait for database calls, FFCMSs are usually faster than their traditional counterparts.

Also with a FFCMS, since you are dealing with just files, it is super easy to setup your site with Amazon’s blazing fast S3 servers for just pennies a month. So not only do you get more speed, but you also get it for cheaper! It’s the best of both worlds.

Version control

A big problem for traditional websites is that your content is stored in a database and you have to make regular site backups to make sure you don’t lose information should your site ever go down (or get hacked).

The beauty of a FFCMS is that all your sites files are just files, and they can be put under version control. So every time you edit a page or blog post in your site, you simply make a commit to Github, or whatever your favorite version control tool you use, and voilà, you have a site backup. The same goes for making template edits or style changes. Everything you do can be saved and archived, to be returned to later if need be.

If you make a change and for some reason something breaks, no problem. Simply roll back that commit and you are back on track. Or say you make a style change and your client doesn’t like it for some reason – no worries, simply roll back a commit or two and you are back to the old look.

Client is happy, developer is happy!

Easier setup

While WordPress does have its famous 5 minute install, sometimes it does take a while to get the server environment just right before everything is ready to go. This is especially true when you are developing on your local machine. On my computer I have tons of different WordPress installs and accompanying databases for all the different client sites I’ve built.

Every time I want to make a site edit, I have to load up my development environment server, and test out the changes to make sure everything looks good before uploading the changes to the server.

The beauty of a FFCMS is that there is no database setup. You don’t have to waste time setting up your database or even copying tables of content back and forth from the server for testing.

Easy site migration

Having a FFCMS makes it very easy to move your site from one hosting provider to another. Since your site consists of only files, all you have to do is copy your root folder from one server to another.

Contrast that with a traditional CMS system where you have to grab all your site templates, make a copy of the database, upload the templates to the new host, and drop in all your tables to the new database. Because of this, you can easily see why many developers are excited about FFCMSs.

The downsides of FFCMS

So now that we have looked at a bunch of positive reasons to use a FFCMS, what are the downsides to it? After all, if it was all rainbows and roses, why isn’t everyone using them?

You have to learn a new system

Just as if you switched from using WordPress to Drupal, with a new system comes new templating tags and different things to learn. One of the exciting but new things about many FFCMSs is that they use standard templating languages like twig or liquid to build out the logic of their templates. Templating languages are definitely the future of the web, but not many big name CMSs are currently using them. This means that many developers will have to learn a new “language” before they can start using a flat file system.

(Templating languages are definitely becoming more widespread, and even Drupal 8 will be using twig for its templates. So as a developer looking to keep your skillset current, you should definitely start learning Liquid and/or Twig.)

The community may not be there yet

One of the downsides of many of the FFCMSs is that they don’t have a large community behind them to help troubleshoot errors that come up, or to add new features that you request. This is not really a problem with software, it’s just that many of these CMSs are brand new and so the community is not there yet to support them.

Also, just like any new product that comes out, it may not have all the features you are used to in traditional systems. So you may have to build a few things out from scratch. Eventually though, FFCMS’s will catch up in features and may be stronger than existing tools.

So keep that in mind as you look to start using a new CMS, that you may be on your own a little when first starting out. Thankfully though, most FFCMS systems have excellent documentation.

What FFCMS options are there?

There are an ever growing number of FFCMSs entering the market. That alone should indicate it’s an area worth investigating. Here are a handful of my favourites:

Statamic

Statamic beautifully blends static and dynamic content. Unfortunately it costs $99 for a single site commercial license.

statamic

Kirby

Kirby is a great FFCMS, with markdown support and superb flexibility. Unfortunately it costs also $99 for a single site commercial license.

kirby

Pico

Pico uses markdown for content, just like your favourite writing apps, and the Twig templating language.

pico

Jekyll

Jekyll is a great static site generator that takes content in a variety of formats, runs it through Liquid and produces a site ready to publish.

jekyll

Should you switch to an FFCMS?

Developers and even lots of designers are excited about using them because it makes their lives easier to setup most small-to-medium-sized websites.

In reality, your clients are probably not going to care if you are using WordPress, Drupal, or the latest and greatest FFCMS. What they care about is a system that makes it easy for them to edit their pages and make simple changes to the website. Make sure you choose one that has a nice, user-friendly admin panel for them to edit pages.

As a site designer, if a FFCMS makes it easier to build a site, simpler to maintain, cheaper to host, and more worry-free to back up, these are the things that you can sell to a client because you are saving them precious time, frustration and money.

Flat File CMSs are definitely a new and exciting way to quickly build a usable, maintainable website.

Caleb Mellas is an entrepreneur and the founder of Webinsation – a web consulting and design firm that works with a large range of clients who want to improve/grow their business. When building websites he approaches projects from a business perspective to see what a clients true needs are. Growing revenue, increasing engagement, and building better brands are his passion. HTML5, Sass, Js, Git, Wordpress, SublimeText, Sketch and a 27" iMac are some of his favorite tools. More articles by Caleb Mellas
  • Absolutely agree with you that “This is the year of the flat file CMS”. We did a move from WordPress to Jekyll recently for our site http://superdevresources.com/ and the biggest reasons for our move were “Speed” & “Version Control”. Of course the switch had bit of learning curve for our Authors, but they adapted to the new system and now love writing in “markdown” instead of the familiar WYSIWYG editor of WordPress.

    • jazz

      its slowly catching …but its catching. not looking back and Im on Pico. most other have too steep requirements or lengthly installs like ruby rails. shared hosting just wont allow it.

  • AK.

    Maybe something between database and flat file: abstraction layer. Just imagine, good known WordPress and all its plugins but txt files instead od MySQL. But what about sites with thousands of posts? Will that be still so fast?

    • Adam Taylor

      The more posts you have the larger the file size of the site will be. So for example, taking a backup would take longer. However the speed in accessing a single page shouldn’t decrease, at least not noticeably, because it will still be opening a single file and reading it’s content.

      If you mean an archive page, which lists all the posts, that would obviously suffer the more posts were shown. But with simple pagination and a clear structure, the speed decrease becomes almost non-existent.

  • Adam Taylor

    I’d heard about these type of CMSs but hadn’t had a chance to look into them before, so thanks for the excellent write up. I like the benefits of speed, version control and easily migratable; these are massive things for me, which will probably push me to switch in the near future.

    Seems like all we really need now is a well featured CMS, with a helpful community to help drive the change.

  • Statamic apparently now also includes a static site generator feature. I haven’t tried that yet.

  • rhukster

    Check out Grav, a new crazy-fast modern flat-file open source CMS that is built on PHP 5.4+, Markdown, Twig, and Symfony components. It has great features including a built in CLI, package manager, and a powerful plugin system, plus much more. It already has 14 themes, and 32 plugins available. http://www.getgrav.org

    • jazz

      the diff between this and pico? if you cant code, sorry charlie… your mom probly cant neither. go back to wordpress. most IT people know how.

  • Why is it unfortunate that Kirby and Statamic cost $99? That means there are dedicated individuals with a vested interest in your success as a developer, in building new features, and responding to support requests quickly and professionally. It’s a reasonable, one-time cost.

  • Caleb, just thought you might like to take a look at Hyperframe !CMS. This is a FFCMS that uses standard HTML as its markup. We developed it inhouse over a few years as an easier way to convert static sites to dynamic content than the mainstream products, and have recently released it as a Sourceforge project. Hence it is not widely known, although it is quite mature code.

    The key advantage of HTML as the page description language, as opposed to the wiki-like text markup of most other FFCMS, is that content can be very easily imported or exported, plus there is a minimal learning curve for the experienced developer.

    SF page: http://sf.net/projects/hyperframe

    Live site : http://hyperframe.iwrconsultancy.co.uk

    • I have a current html site that I’d just like to add a few commands to so that a client can easily update the sections. Is your CMS the right tool for this?

      • Yes, in most cases it would be ideal for this kind of task. Import of existing HTML pages is one of its strong points, and getting the site running in Hyperframe might only take an hour or less.

        The online editor is designed to be sufficiently intuitive for end-users with little website experience. It includes options for easy image uploading, etc. The config options are aimed at the more experienced person, being mostly in the form of .ini files or php syntax, but that area would be mainly your concern.

  • There is still a big usability step to take for all those (flat-file) cms developers. They should all stop thinking in “code” and start thing in “could my mom use this” terms. For companies and individuals with a reasonable computer knowledge there is more then enough CMS power out there but for your average “Joe the Tennis-Teacher” or “Mary-Ann the hairstylist” WordPress, Joomla and all the Flat-File Systems above and that I have tried are way to complicated.

    2015 should be the year of the “Mega Simple” CMS no matter what file system or database it is riding on.

    And I agree with Than that a certain price tag is then surely allowed but please guys…Start thinking outside the coders-box.

  • guruurug

    Should you switch to caveman style taking baths once a year and writing on stone tablets. It’s 2016 for crying out loud. Nobody in their right mind uses flat file anymore.

    • Bas

      That’s not an argument, that’s not even true.

Home CSS Deals HTML HTML5 Java JavaScript jQuery Miscellaneous Mobile MySQL News PHP Resources Security Snippet Tools Tutorial Web Development Web Services WordPress