If you have a professional freelance writer website, you likely used a content management system — or CMS — to build it. The most popular CMS today is WordPress. But you have another option you might not have heard of yet — the flat-file CMS.
I mentioned flat-file content management systems in my recent post on revenue sharing schemes over at All Freelance Writing. More specifically, I noted that my plan over the next couple of years is to move my smaller sites off WordPress and onto a flat-file CMS.
If you aren’t familiar with them yet, let’s look at what a flat-file CMS is, what some of the pros and cons are, and why you might opt to move in this direction.
What is a Flat-File CMS?
Before we get into what a flat-file content management system is, you need to understand two other terms.
- Static Websites — A static website is one that doesn’t rely on a database to pull content together when someone loads a page.
- Content Management Systems (CMS) — A CMS is an interface that allows you to manage your website without having to write code directly.
WordPress is an example of a CMS, but it doesn’t create static websites. It creates dynamic websites. When visitors load a non-cached page, multiple database queries will pull in the content (your header, your footer, your post content, your comments, etc.) to create the resulting page the visitor sees.
A static website would be more like a hand-coded HTML site where you upload your CSS (stylesheets) and HTML pages into a folder structure on your server. If you want to change a post, you update it on the server or update a local copy and re-upload the changed content.
A flat-file CMS gives you something more akin to that static HTML website, but with the convenience of a content management system so you don’t have to code everything or work heavily within the server’s file system.
Benefits of Flat-File Content Management Systems
Why, and when, might you want to use a flat-file CMS? Is there any benefit to you as a freelance writer?
That depends on the kind of website(s) you want to run. If you’re running extensive niche blogs with hundreds or thousands of posts, it might not be the best system. But if you’re managing a professional website, it could be a good fit.
Some benefits of working with a flat-file content management system are:
- no database queries;
- no database management;
- simple backups (just compress and download your site’s file structure);
- simple migrations between hosts (just download your files from the old host and upload them to new one);
- fast-loading pages (important because website speed factors into SEO, and slow pages drive visitors away);
- fewer server resources are needed (which could be important if you use shared hosting);
- easy content management with an admin interface;
- the ability to write in markdown or with a WYSIWYG editor (depending on the platform);
- access to site templates to help you with design;
- greater security (no database to hack to steal information easily, and no way to inject malicious content sitewide via a database).
Flat-file content management systems are also pretty easy to understand.
If you’ve ever used a file system on your computer, and if you’ve ever used something like WordPress’ admin interface, you already get the basic gist of how they work.
You’re simply using an interface to create content that then gets saved in the file system you choose.
Downsides to Using a Flat-File CMS
That’s not to say a flat-file CMS is the right call for every freelance writer. There are downsides, as with any option.
But most problems would only affect you if you run a very large or complex site where you need to manage user accounts for a membership site or where there’s so much content and traffic you would need multiple servers (such as one for the database and another for basic site files and static resources).
Focusing on a typical freelance writer website though, possible downsides would be:
- difficulty later changing file structures (like moving a lot of posts to different categories);
- not having a simple way to add advanced site search (though there are workarounds like plugins and adding a custom Google search engine to your site);
- learning the template engine your flat-file CMS uses, such as Twig (this is how your CMS’ templates are built, much like the .php files you get in a WordPress theme);
- not being able to add as many custom features (like an interactive client booking calendar) to your site unless a plugin exists for your CMS (and there will be far fewer plugins than you might be used to with WordPress).
In general, these shouldn’t be big factors for most freelance writers’ professional websites. These are often just a collection of pages, maybe a contact form, and a blog.
Running a Blog on a Flat-File CMS
I can hear it now:
“Hold on Jenn. Don’t you always recommend freelancers add a blog to their professional sites?”
Why, yes. Yes I do.
“Then how would I do that if a flat-file CMS creates a static website?”
Good news! You can run a blog through a flat-file CMS.
At this point, I wouldn’t recommend it for very large, complex blogs that require membership settings or have a lot of custom features. I wont be moving All Freelance Writing over to one any time soon for instance.
But you can absolutely set up a blog with your professional site using these tools.
In extremely basic terms, when setting up your folder structure, you would simply create a folder called “blog.”
Then, when you write blog content in the admin interface of your flat-file CMS, each post’s content would be saved as its own file in that “blog” folder.
How comments are handled will depend on the CMS you choose, and that might require a plug-in. But whether or not you want to allow them is up to you. I recommend it, but you do you.
Intrigued by the idea of using a flat-file CMS in your next site redesign? Looking for a way to speed up your site or use fewer server resources? Hacked in the past and looking for a more secure option?
In coming weeks, I’ll set up a test site using either Pico or Grav, both open-source (free) flat-file CMS options. And I’ll publish a follow-up here giving you a walkthrough as an example of how you can set up a website of your own using one of these tools. (I might do both if there’s enough interest after the first.)
On a related note, a flat-file content management system would be a great option to set up a “quiet site” of your own for passive income.
In the meantime, you can visit the sites for either CMS option linked above to browse their documentation, themes, and plugin options to get a better feel for which might work for you. If you have a preference as to which you’d like me to use in the coming demo post, leave a comment to let me know.