Categories
My Opinion WordPress

Will Flat-File Dethrone WordPress? Unlikely.

WordPress is out. Flat-file is the new wine. Or so the developer literati claim. I beg to differ. Rumors of WordPress’ demise are greatly exaggerated.

WordPress is out. Flat-file is the new wine. Or so the developer literati claim. I beg to differ. I also think these claims are an indicator of a serious problem with the open source industry: The people who develop Open Source applications are disconnected from the people who use their applications.

Flat-file vs WordPress: A 1 minute primer

If you’ve never heard of a flat-file before let me give you a quick primer: A flat-file is different from a “normal” CMS (like WordPress) in that it doesn’t use a database to dynamically generate pages. Instead it’s a hybrid model using JavaScript and other clever techniques to serve up individual or combinations of static files or pull content from content repository files (basically a spreadsheet or text file). The key here is flat-file solutions don’t need a database and usually don’t need PHP. (The historically savvy reader will now realize that flat-file CMSes are essentially static DWTs reinvented. That would be correct.)

There are some definite benefits to a flat-file (or what we old fogies call “static sites”) approach: You don’t have to rely on a complex server array for the site to work so your site won’t buckle under the sudden load of thousands of visitors, each page is an individual file so it will (at least in theory) load quicker, and you don’t have to deal with complex server management.

There are many flat-file solutions available and more coming online every day. This is after all the new wine for developers and everyone wants a taste. You have your CMS-style options like Ghost (originally proposed as a “simplified WordPress experience”), KirbyStatamic, and Jekyll – all of which have been lauded as “WordPress Killers“, and you have your externally hosted solutions like Harp (which uses DropBox as the file repository) and even DIY solutions that allow you to use Google Drive as the file repository. And you have services like GitHub Pages which let you use advanced developer tools to publish basic static websites.

And yes, I am aware there are a wide range of options here, that I omitted your favorite solution, and that my explanation is oversimplified. 

Ghost Face Killer?

When Ghost was proposed and then launched it was to much fanfare and celebration. Bold predictions were made of the imminent demise of WordPress due to Ghost’s simplified user experience and obvious appeal to bloggers. It’s safe to say these predictions did not correspond with reality. Why? Because setting up Ghost is not easy. In fact it’s quite complicated and requires a high level of expertise. Same with most if not all the other self-hosted flat-file CMSes. They may have a simplified file structure and user experience, but if people can’t figure out how to make them work, they won’t use them.

To curb this problem Ghost has launched a hosted for-pay service (though my theory is this was the plan all along) where you simply set up and pay for an account and start blogging. Which is no different from what WordPress.com, or Medium, or countless other hosted blogging services are already doing. So when flat-file becomes a hosted service the differentiation disappears.

“Kill your databases” they said. “It’ll be fun” they said…

One of the prime arguments for using flat-file is that you don’t need a database for most sites. It goes something like this:

“For a marketing site with 5 to 8 pages a database is just bloat. You’re better off just writing the code yourself.”

This is true in some cases, and if you are writing the code yourself you don’t need a flat-file solution either! However most sites today are not (or should not be) 5 to 8 pages even if they are marketing sites.

More than anything else the value of the web lies in the limitless potential for publishing. You don’t have to restrict yourself to a set number of pages or articles or images. You can publish as much as you want. And you should. The more quality content you publish, the more likelihood it will be seen, shared, and acted on. So when I see someone talking about a 5 to 8 page marketing site and the lack of need for a database my first question is “what about the attached blog?” There are very few cases I can think of where adding a blog with constant updates to a site would be a bad idea. In most cases adding such a blog can be a tremendous benefit to search and share traffic and the blog can even become the primary marketing tool. And once you have a blog and comments and other things you are moving into database territory. Sure you can use a flat-file CMS for this but it’s not really a good idea.

The Reality Distortion Field

I believe the emergence of the flat-file CMS has less to do with a consumer need than a developer desire to create something new and dethrone the current King of the Open Source Hill. While the argument for these solutions is that proper CMSes like WordPress are too big and too bloated for most users the alternatives they offer are more complex and don’t address the main appeal of WordPress:

What makes WordPress so popular, and the reason a lot of developers hate it so much, is that anyone can do it. You don’t need to understand Git or Markdown or Node.js or even PHP or MySQL to set up, configure, and publish content with your own self-hosted WordPress site. A complete novice with limited web browsing experience and a credit card can get a shared hosting account and publish content on a shiny new WordPress site within half an hour.

WordPress is a tool for everyone.

The flat-CMS tools touted so aggressively by developers on the other hand are developer tools built for developers by developers. Don’t believe me? Pick a random person off the street and ask them when was the last time they did a Git commit or wrote something in Markdown. The real world user of WordPress is not a developer. The real world user is someone wanting to share their thoughts, ideas, images, or art with the world in a simple and easy way.

When a flat-file solution uses Git commits or Markdown or “write your own HTML” as a marketing tactic you know all you have to know: This is not for the people, it’s for the developers who built it.

Rumors of WordPress’ demise are greatly exaggerated

WordPress is not dead or even on the decline. And flat-file solutions are not a threat to its position at the top of the Open Source Hill. The real threat to WordPress is actually WordPress itself, and this is something I’ll write more about in the future. While the flat-filers are wrong in their claim that flat-file is easier or better than WordPress, they are right in that WordPress is getting too complex and too heavy. For WordPress to continue its growth and eventual takeover of the entire published web it needs to slim down and become more modular so it can address the needs of an ever more diversifying user base. And those who build their businesses and reputation on WordPress need to realize kindergarten is over. We are not just playing at this any more. Serious business relies on WordPress and WordPress is serious business.

I would love to hear your thoughts on this topic. Are you running a flat-file solution? Have you abandoned WordPress for something slimmer? Leave a comment and pipe in.

 

By Morten Rand-Hendriksen

Morten Rand-Hendriksen is a staff author at LinkedIn Learning and lynda.com specializing in WordPress and web design and development and an instructor at Emily Carr University of Art and Design. He is a popular speaker and educator on all things design, web standards and open source. As the owner and Web Head at Pink & Yellow Media, a boutique style digital media company in Burnaby, BC, Canada, he has created WordPress-based web solutions for multi-national companies, political parties, banks, and small businesses and bloggers alike. He also contributes to the local WordPress community by organizing Meetups and WordCamps.

24 replies on “Will Flat-File Dethrone WordPress? Unlikely.”

Thanks for the article! I’ve only really heard of devs using static for their own blogs, because they were getting tired of hacker attempts.

I’ve recently suggested we stay with static pages for one customer because he has a nice, professionally designed site that needs about an hour of work per month to maintain and only has a handful of pages, and I thought it would be better to keep him more secure & less likely to mess up the page content with is own attempts to modify. Time will tell how maintainable it stays.

Neither case is against WP, per se, and more about realizing that old-fashioned static pages can sometimes be the best solution, and to keep that “arrow in your quiver” as well.

First of all, Ghost is not a flat-file CMS. It uses SQLite database by default to store the data, but can also work with MySQL and PostgreSQL. Secondly, it is not that much more difficult to set up everything needed to host a Ghost application than in is to set up everything for a PHP app. Moreover, many hosting providers (e.g. Windows Azure and Digital Ocean) offer pre-configured images with all that is needed for Ghost hosting.

Now, that being said, I don’t consider Ghost to be superior than WordPress or a WordPress competitor at all, because they serve two different purposes. I have been working with WordPress for a few years now, and I haven’t used it for a blog even once. It is probably the best CMS for any kind of website, but, if all you need is a blog, there are more appropriate solutions and Ghost is one of them.

I personally use Jekyll for my blog, because this way I can not only host my blog on GitHub, but also use it as a CMS in case I don’t have Git or Ruby installed locally. All I need to do is add a new file in my repository. I find if much easier to use a flat-file solution, but it’s definitely not for everyone.

Though Ghost is not technically a flat-file system it falls into the same category as the flat-file systems for other reasons – primarily that it doesn’t approach the data the same way “proper” CMSes do. As for setting up Ghost you hit it on the nose: It is as easy as setting up a PHP environment if you know how to do that. The thing is setting up a PHP environment is not normally necessary – it’s already done or can be done by installing a single app. The environment for Ghost on the other hand is not standard and requires know-how and skill on the user end – something that is a bit much to ask for someone just wanting to get a site up and running.

I think we agree in principle.

“Though Ghost is not technically a flat-file system it falls into the same category as the flat-file systems for other reasons – primarily that it doesn’t approach the data the same way “proper” CMSes do…”

Right – so you row back from your mistake, just to cover it up with some nebulous claim. So much for ruining your article.

Mistakes were made, but not by me as they say. I think you forgot that an article is a single meaning baring device. Taken individually any sentence can come off as absurd. Like “So much for ruining your article”.

The one argument I have as far as the validity of a short format site 5-20 pages static is this. Some clients, no matter how much you sing the praises of continual updates, just flat out aren’t going to do it. A ‘blog’ that looks abandoned will do more harm to the site, overall, than not having one at all.

I have a few of these clients, and I learned this lesson the hard way, by evangelizing blogs to clients who then promptly ignored them.

True, and there is a market for the flat-file approach in small design and dev houses that build small scale sites. However, these tools are marketed to the general public as the be-all-end-all-this-is-the-future solution. In reality they are highly specialized and not for the regular user or site.

My very first client, back in 07 practically certified me insane after I told her about blogging and how fresh content can help her SEO status, and bolster her reputation in her respective field. The website failed within a year and I know she blamed me for it…

Hey Morten, those are great points for backing up WordPress. I agree there’s a lot of that fan mentality, but that’s on both sides.

I was a WordPress dev for over 3 years. I wrote an article a while ago with my reasons to move away from WordPress:

1) Getting hacked: This caused so many headaches for me, including getting all my client sites shot down by my hosting company because I was distributing malware!

2) Painful migration: Moving to another server is a big PITA. You have to make sure the Apache, PHP, MySQL and OS versions are correct and correctly configured.

3) Scary updates: Every time I had to do an update was scary. My hosting service is doing a mandatory PHP update soon and I’m sure half of my WordPress sites are gonna go down.

4) Spam comments: I still get this in my inbox. Akismet makes it better, but it’s not installed by default.

5) Slow: You have to be a WordPress guru to be able to configure it to perform at a decent speed.

6) No version control: Your website content is a bunch of entries in the database, they’re not actual documents that you can move around or track changes with version control tools (unless you go out of your way).

7) Clients don’t use it: No matter how much work I put into making the WP admin section easy to use, the clients would never use it (except for 1 or 2 of them).

Those are some of my reasons to stay away from WordPress and why I think there are better way of doing things now. These new tools are still in a very young stage, but the important thing is that they’re moving on and trying to figure out better ways of doing things.

Here’s the blog post I mentioned, if you want more details http://jorgepedret.com/posts/redesign

I was waiting for you to pipe in on this Jorge. Here is my response:

1) No
2) Yes
3) No
4) No
5) Yes and no
6) No
7) No

But (and there’s a big but) I think the reason I disagree with your points is that you and I have worked with very different clients. My clients generally go to WordPress because they need the ability to create and publish new content all the time and they end up using the admin a lot. They also require vast customization and use “proper” hosts to do so.

I love this discussion and I’m going to take the time to read your post carefully and write a proper counterpoint so we can keep the conversation going.

WordPress loyalists are quick to dismiss Ghost for it’s relative complexity, as far as setup is concerned, at least for beginners. And that’s fair, for today.

I love WordPress and make a living from it, so I’m allegiant as well. And PHP is pretty easy to learn, and I know all the reasons WP is awesome. Today. But Ghost is only on version .4.1, whereas we’re getting near 3.9 for WP. That’s a huge head-start, and considering that, the distance between the two for comparison’s sake is closing rapidly.

I sort of feel like there’s going to be a lot of scrambling and “experiments” in WP core to eventually compete when Ghost comes into it’s own, which it will. Ghost has a LOT of forward advantages going for it that WP simply is going to have a hard time competing with, without enormous changes. I don’t think it was a coincidence that the ability to use markdown (in JetPack) seemed to suddenly become a priority.

The Ghost set-up will become easy and intuitive with time, and the overall design will plane out so that the current handful of arguments of why it can’t knock WP off it’s perch will be invalid. Or at the very least, give it a serious run for its money. I’m not saying it’s going to happen tomorrow or next month by any means, but in due time I do see it happening. We already see some high-profile bloggers like Jeff Atwood and entities, such as Envato, going to Ghost. It’ll trickle down as things get easier and better with time, and I think we’re going to be able to see a great battle. That’s just my 2 cents.

Morten,

I just want to say thank you. This post is largely objective and you”give it to ’em” straight regardless of the current industry “trends.”

As somebody whose main focus is on bridging the divide between business owners and digital strategy, it just can’t be stressed enough how much of a bubble the dev/design world seems to live in sometimes.

I hope nobody takes offense to that. It’s a necessary evil because only trying out new things will set a trajectory for where we are going. So kudos to all who help. Just try to remember what’s for the digital industry and what’s for everybody else. One things for sure – simplicity and user friendliness aren’t going anywhere.

Grant me the serenity to accept what’s not for devs,
The courage to try out the things that are,
And wisdom to know the difference.

I develop my own flat file blog engine and I completely agree from the start that flat file cms or engines is not a replacement for database based ones. I write my engine just for fun, because I need a new room to breathe, away from those complex database setups and maintenance. And yes, I’m aware that my engine is purposedly written for my fellow developers.

It’s just orgasmic to build something fresh like flat file cms/blog engine, that’s all. At least for me.

Hi, interesting article,

I came across it while doing some research, as I am developing a flat CMS of my own out of lots of built up frustration administrating wordpress, drupal, and joomla sites, not to mention talking others through that process.
You categorized ghost as a flat CMS, which it isn’t, but I agree, I’d put it in the ‘flat category’ simple for it’s design approach.
I think really when deciding if a CMS is ‘flat or not’, you have to asses the goals of its flat design. Is it flat to avoid using a database, or to make the data more portable, or is it part of a simple install strategy? Each could qualify as a flat CMS, but still be hard to generalise all those approaches with one article.
For me a main reason to make a flat CMS is to help make something as super simple as possible to use and administer. As an end user, when you click save/update/publish in your CMS, it shouldn’t effect what happens in the background (DB operation or local file write). So maybe the goal of a flat CMS is about site maintenance and administration? My main point: for now I think ‘flat CMS’ it still a bit of a buzzword, and not too telling of a CMS. Anyway, fell free to keep on eye on my project (http://flot.io) if you’re interested in flat CMSs, should have a stable release within four weeks, maybe a beta in two.

Great article!

I agree with some of these points but I would tend to agree more with Jorge’s point of view. I’ve developed WP, Drupal sites for the past 8 years or so. They have come a long way and I really appreciate what they have to offer. With that said, I have been moving to ‘flat-file’systems based on my experience with my particular clients. Here is a few points why I went this route.

1. A whole lot of queries: Drupal really bogged down a site I had. Updating was a painful experience oh and lets not talk about the cache issues

2. I always end up doing the updates: No matter how I sell it to my clients – they inevitably always bring it back to me. I don’t know what it is- maybe they see it as, “well he knows what he is doing….i dont want to break something.” 🙂

I guess to-each-is-own. I have developed two sites with getSimple and have been pleased so far. Teaching our intern the procedures to create content has never been easier.

I haven’t tried Ghost, the closest I have gotten to using flat files is an XML – PHP based CMS I used for a client three years ago. It’s lightweight and fast, but is a one trick pony to say the least. You can hook a DB to it, but why bother when you can use WP or Drupal. BTW it’s http://get-simple.info/

Nice read.
Before discovering the wonders of WordPress, years ago, I had built a few static sites for a few clients, some of which are still active. Those clients still wanted to be able to edit the content of their pages without the need to learn a ‘complicated’ CMS. I set them up with CushyCMS, which was dead simple, and the clients were happy with that. Of course, some of the content did get messed up by the client, but they were still happy. I don’t use, nor will I use CushyCMS again, but it served its purpose.
I’ve tried the other popular CMSs – Joomla and Drupal – and found both of those to be much too confusing for clients to use.
For me WordPress is the way to go. My clients are comfortable with the back-end, and the learning curve is much less steep. Cheers.

Oh my, sometimes I really think that devs and designers are living in a separate world from users. I’m a UX/CRO person, and believe me when I say, end users don’t care which technology you are using as long as you’re delivering the results – great user experience + money for the business.

WordPress is extremely flexible, and with Frameworks like Headway (you should check it out and maybe make a Lynda tutorial on it Morten), even non technical people can design custom solutions without writing or knowing too much code. And when I say custom, I really mean it.

Take into account speed optimization tools such as W3 Total Cache (which has to be configured properly, but the learning process is nowhere near to be called steep), and you can generally make your pages load below 1 second, even if they are fairly complicated.

The issue is that in real world you need to find a solution that is both quick, and yet effective, which means that you also have to have a vibrant community. You have to be able to find solutions quickly, and you have to be able to have a massive amount of brain power which is at your service almost 24/7. You don’t have that with other CMS-es, you really don’t. I don’t see WordPress getting dethroned in the next 10 years. I can only see it getting better.

The only issue is a bit of an identity crisis, and like Morten, I think that branching out is the way to go.

I’m aware of a number of individuals who’ve abandoned their WordPress blogs in favour of Facebook, Twitter, and even Flickr.

I currently run two longstanding WordPress sites. Both have had their databases hacked at one time or another. My personal website was WordPress from 2005 until earlier this year when I dropped it and switched to a textfile-based system I have developed myself. To answer your question: yes, I have abandoned WordPress for something slimmer – much much slimmer. It’s like breathing fresh air after the sheer overload of WP: spending hours, sometimes days, to work out how to change something then months or years later, forgetting how it was done. At least with Kubrick you could work things out; not with the current default theme.

I believe things will continue to fragment as users/publishers get more savvy and discover different ways to meet their particular needs. Some might want ‘vibrant communities’ and others just a simple way to publish their ideas regardless of how many others “Like” it. I doubt very much that WordPress is going to be challenged by dev-oriented flat file systems – it’s professionally safe, easy (at least superficially), reliable, and makes design firms look more clever than they really are. “Wow,” says the client but behind the scenes, after you’ve developed a template, there needn’t be much actual work. Money for old rope, and that’s part of its success.

My personal system is just one of dozens/hundreds of ‘flat file’ systems coming on the scene. Perhaps a one-trick-pony but it suits my needs for simplicity and control, and crucially, I understand how it works. I looked at Kirby for instance, and concluded it was too technical. What happens if/when the lead developer gives up and does something else? (which happened with the Mint self-hosted web site analytics program)

For the record I am not a trained developer but a retired architect and my system is known as la.plume Micro CMS. I am aware of a number of other users over the years but don’t get much feedback.

Those are my thoughts anyway.

I have created (another) Flat File CMS – BootPress that is at least a WordPress killer for me. I will never use or recommend WordPress again. My clients love how easy it is to edit their sites, which I suppose is a two-edged sword since they never call on me for billable hours after the initial setup. Why do the flat-file evangelists hate databases so much? I suppose it is the setup and backups? My solution at BootPress is to use flat-file databases (SQLite) that require no setup and no backups. You could delete every one of them, and they will just go about quietly rebuilding themselves over time. I agree with you that WordPress is not going away anytime soon, but we used to say that about a lot of things. BootPress definitely fits the bill in every way for me.

Comments are closed.