How We Build CMS-Free Websites

Dave Cole | Development Seed | July 27, 2012 and Jekyll enable building simple, flexible, and reliable without the overhead of dynamic CMSs

It's been almost two years since Development Seed deliberately stopped building websites with Drupal and moved away from CMS-driven applications altogether. Since then, our recent blog posts about investing in, rebuilding our own websites with Jekyll, creating the MapBox Map Site templates, and launching new client-sponsored projects like MIX Maps indicate the new approach we're taking. Informed by both the lessons learned by Development Seed over four years of leadership in the Drupal community and my own experience of going through two redesigns of and migrating it to a Drupal backend, what follows is my reflection on the evolution of our process and how it leads to simple, flexible, and reliable websites that allow for a renewed focus on design and strategy.

The old way

In the past, building websites with features like consistent templates and lists of aggregated content meant setting up complex content management systems. These CMSs consisted of templating logic, application code, and content databases so they could assemble webpages each time they were requested by site visitors. They were complicated systems that depend on many separate applications working together, like a web server to route page requests to a PHP application that uses pre-defined page layout templates to format content that's stored in a MySQL database. Serving a page request required at least three separate applications all working together — any one failing would bring down the system.