I work with CMS’s every day, and have for several years. But today Statamic CMS launched to the public and I’m giddy not unlike a school girl.
So why am I so excited about Statamic? Why should you consider it for your next client project?
What Is Statamic?
At its most basic, Statamic is a flat-file CMS. This means there’s no database, unlike 99% of the CMS’s out there.
CMS’s like WordPress and ExpressionEngine store information and content in a database. The downside to this approach is that while you can do a lot with the information stored in a database, having to consult the database each time a page loads slows things down. Caching plugins and server tweaks can help, but when content changes, it must consult the database again. Databases also need a good cleaning every once in a while to keep things running smoothly.
Because Statamic doesn’t use a database, it can load pages faster than even a fully cached/optimized database-driven site.
How Does Statamic Work?
Statamic uses static/flat files instead of a database. It uses a simple tags system (similar to ExpressionEngine) to pull in content from other files.
Your site content can be formatted in:
Templates and Themes
- Layout files
Contains global code like HTML header, CSS, javascript. Think template files in WordPress. - Templates
HTML files with Statamic Template Tags for pulling in content. This helps separate things from the layout files and make your code cleaner. - Partials
Reusable template files. Think sidebars, footers, headers, and such. But could also be used for callouts or other content. You can use Theme Helper tags in your templates, which is similar to how WordPress functions like stylesheet_url will return the URL of the site’s CSS.
Statamic Server Requirements
Statamic has only 1 requirement: PHP 5.3+
I’m on BlueHost which has not automatically upgraded to PHP 5.3. But you can upgrade to 5.3 yourself by just changing the PHP Configuration settings in cPanel. I selected the PHP 5.3 (single.ini) option and a minute later I was running Statamic.
If you don’t currently run PHP 5.3+ on your hosting, I recommend Googling your host and PHP 5.3 for instructions on how to upgrade.
A second highly recommended (but optional) requirement is Mod_rewrite (.htaccess) support. Otherwise you get ugly URL’s.
Super Fast “Install”
Statamic can be installed in about a minute. Actually, you don’t really have to “install” Statamic since there’s no database to setup.
How fast is super fast? Unzip the files, change the contents of 1 file to match your domain details, drag into your favorite FTP program, and refresh your browser. You’re done.
If you want to use Statamic in a sub-directory, you do have to make a couple changes to the settings file (/_config/settings.yaml), but still–very fast.
You can read more about how to setup Statamic on their Requirements & Setup page.
Easy Upgrading
Upgrades are easy as well; requiring you to replace just 2 directories (/admin and /app).
You don’t have to touch any of your main site files. Again, since there’s no database, there’s no risk of hosing your site due to database-related issues during the upgrade.
Simple, Responsive Control Panel
Statamic’s control panel can be summed up in 2 words: simple and responsive.
The control panel in Statamic is very uncluttered and focuses just on managing pages and content.
The control panel is also fully responsive and works just as well on mobile devices as it does on the desktop.
- Statamic control panel (desktop)
- Statamic control panel (mobile portrait)
- Statamic control panel (mobile landscape)
- Statamic control panel (desktop)
- Statamic control panel (mobile portrait)
- Statamic control panel (mobile landscape)
Who Can Benefit From Statamic?
I believe in using the right tool for the job. Using Statamic benefits both our clients as well as us as web designers.
Clients
WordPress and ExpressionEngine fit a certain client/site need. However, they don’t always fit every site’s needs and can be overkill and overly complicated for clients to use due to the fact you have control over practically every setting from the control panel.
Statamic works for clients who just need a simple way to add/edit their content. Since site settings are controlled via editing the config files, Statamic’s control panel lets clients actually manage content.
Statamic leaves changing the looks and behavior of the site to the web designer; letting clients focus on their content.
Since content can be in Markdown or Textile formats, clients don’t have to learn HTML. They can also use the simple formatting tools in the control panel to add/edit pages and blog posts.
Designers
Statamic is much like ExpressionEngine (minus the learning curve and complexity) in that you can focus on building the site without thinking much about the limitations of the CMS. Code and structure the site as you want in HTML/CSS and then use Statamic tags to pull in content and make it dynamic.
Since you don’t have to worry about connecting to a database, you can do most of your coding and design without an internet connection and just using your favorite editor.
With no database, this speeds up development even when you’re testing tags and dynamic content.
You can also easily version control your site since your site’s made up of just regular files.
Learn More About Statamic
I’ve just touched the surface of what Statamic can do.
I recommend you give Statamic a try and look through the excellent documentation on their site.
Let me know your thoughts on and experiences with Statamic in the comments.
Photo credit: Mountains by Zach Dischner









4 Comments to 'Statamic – Fast and Powerful CMS Without the Database'
June 19th, 2012
Fantastic article, Shawn. Very thorough, and a great use of WordPress and ExpressionEngine to help give context in a way we really can’t on the site :) Keep it up! Can’t wait to see what you build next.
June 20th, 2012
I sprung for Statamic this morning, and have found it’s really easy to jump right into building a site. I’m still trying to get my head around how to implement a multilanguage site, and would appreciate any thoughts on the topic. One side of me says just build an alternate directory tree; however, that could quickly present a real problem keeping multiple language versions synched with each other. Could we manage different language versions of the same content in the same entry? This is going to take some thinking.
Honestly speaking, though, I can see how Statamic could work just as well for very large sites where the admin is comfortable with flat files and a text editor.
January 14th, 2013
Oh my goodness! Impressive article dude! Thank you, However I am going through troubles with your RSS.
I don’t know the reason why I cannot join it. Is there anyone else getting the same RSS problems? Anyone who knows the solution can you kindly respond? Thanks!!
January 14th, 2013
Thanks. I haven’t heard of any issues with the RSS feed. I just checked and it all seems to be working. May have just been a temporary hiccup.