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
HTML files with Statamic Template Tags for pulling in content. This helps separate things from the layout files and make your code cleaner.
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.
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.
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.
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.
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.
Let me know your thoughts on and experiences with Statamic in the comments.
Photo credit: Mountains by Zach Dischner