Web Designers love WordPress
It's a sterotype I know, but one that's deserving of mention. A large chunk of web designers I know actively build small projects in a content management system called WordPress. It comes in many forms (from self-hosted, license-free installs to a subscription-based hosted platform) and designers love it for a its non-technical installation, beautiful user interface and the sheer number of "free" ways WordPress can be extended to make it do all sorts of wonderful things.
A Run for the Money
Our industry is experiencing a shift away from hiring web help to build small business sites to a very DIY "hands on" approach. Subscription services like Wix and Squarespace have tried to eliminate the technical hurdles that site owners may have experienced in the past trying to do it themeselves by offering a generic set of pre-designed websites and features that allow for visual "page builder" customization of page layout and content.
Is there an impact of cheaply available services like these? I feel the days of a web designer moonlighting as a web developer are gone.
There is little value to hiring out a project that can be comfortably replicated by anyone comfortable enough to use Gmail, and it's the thinning of the herd - "drag and drop" posers should feel threatend.
Back to Basics
In the early days, WordPress showed up as a phenomenal blogging platform. It's incredible popularity spawned a huge community that supported and extended it into the content management system it is today. That popularity has also hurt more often than helped. Today's WordPress is a bloated, slow, tough to develop web content management system that rivals Drupal in its complexity. Its vulnerability to attacks keep site owners spending way too much time monitoring updates to its various bits instead of doing what matters - creating phenomenal content and services online.
I recently had to parachute in to fix a WordPress powered site for an organization I volunteer for. The day-to-day site maintenance had been largely ignored and a series of plugins exposed security holes that compromised the website, having it serve spam to site visitors and leverage the hosting provider as a spam service (it seems the server's uptime was largey spent serving Cialis advertisements, the irony isn't lost on me).
It was this period of 6 hours spent troubleshooting and removing a hack that WordPress and I fell out of love. I was sick of creative design choices limited by the predetermined layouts of a WYSIWYG layout plugin, bored of vetting and customizing yet another developer's conflicting plugin CSS, and downright upset with the limitations of what WordPress had become.
If the traditional method of hiring web help to customize WordPress is dead in the water, how can designers adapt without bailing on an unprofitable sector and moving on to print or video? Do you happily install page builders to give your clients a private page builder experience? I recently found out the answer is simple. Dead simple.
New Boss? Same as the Old Boss
While I was busy following the hand-holding world of WordPress, web designers and developers were busy rethinking front-end development. New tools and techniques like task runners, package managers, CSS compilers and pattern libraries were quietly creeping up and replacing the old ways of doing things and I was out of the loop.
I made it my mission to get back in the game and get up to speed - happily knocking out responsive web layouts with the help of a few battle-tested frameworks as a fresh start - with the new methods of creating and customizing web projects well in hand. Web design had become fun again, and generating static interfaces and learning new template languages like TWIG and Mustache had me hopeful that I wasn't out of the game, I had simply become complacent by following a product instaed of an industry.
I had replaced MAMP with Docker, CSS with SASS and made new friends with names like Yeoman, Grunt, Node and a tonne of others. I had my new front-end skills up to code but was still stuck on a way to build and deliver pages without the bloat, overhead and security holes of WordPress.
Flatten those files!
And then I (Re)discovered the Flat File
At a recent event in Nashville I had the opportunity to talk to other web teams about my WordPress woes. As a Drupal-centered event, developers were quick to slam WordPress - but rather than extole the virtues of Drupal as an alternative - they dug deeper into what type of site I was building, and why WordPress and Drupal both poor choices. The conversation moved from "tool wars" to tools fit for purpose. Drupal is a great content management system for large websites with many users and a tonne of content to manage. WordPress is definitley prettier, but doesn't scale in the same way. The type of websites I was after were small in scale, more of what a small business owener would be after with tools like Wix or Squarespace - but with all the creative freedom of original web design and development vs. shoehorning specifications into predetermined themes and layout tools.
Enter Grav CMS
Gravity CMS or "Grav" is a simple, file-based content updating tool that allows users to edit content without a database and with very simple technical requirements. Using modern web technologies, its primary purpose is performance (and wow is it fast). Freed from its reliance on a database to generate its pages, Grav is a little more secure when compared to WordPress as SQL-injection attacks aren't a thing. My favourite part about Grav CMS is its templating and content type creation - everything is a mix of YAML and TWIG, relying on markdown for content formatting, stuff that's really easy for a web designer to grasp and extend, and it doesn't lock you into a series of templates or themes to work within, you can happily port your static HTML to Grav super easily - so if its Bootstrap you're working with, Foundation, or Grav's own framework, getting up to speed is quick, simple and painless.
If your project is based around a single-page website with managed sections, a small site without heavy search requirements or reliance on constantly changing content - Grav is a simple solution that gives you the freedom of full customization, simple content management for your users, and a platform that simplifies the hard stuff while making the easy stuff a joy to use again.
Grav's community plugin support, excellent documentation and lack of an install process. Does it replace WordPress for small websites? For me, the answer is "Yup!" and what about Drupal - for the big stuff? "Nope, don't be silly."
Will every project I created choose Grav in the future? I think I've learned my lesson by getting caught up in the mania of brand-loyalty around tools, I'm much more concerned about exploring the right tools for the job - which is why this blog is being served with Ghost, but I'll save that one for a future post :-)