Why We Like Craft CMS

A brief high level overview of what we like about Craft CMS and why we prefer it over similar PHP content management systems.

Aug 23, 2021

For years now the bulk of our work has been in Word­Press or Dru­pal.

Dru­pal is spec­tac­u­lar when it comes to man­ag­ing thou­sands upon thou­sands of assets and users. The per­mis­sions are incred­i­bly fine-grained and if I want to dis­play a sub­set of tens of thou­sands of nodes based on a users loca­tion, I’m all over Dru­pal but this does­n’t come up often.

Word­Press is tru­ly best of class blog soft­ware and there is a darn good rea­son it pow­ers some­thing like 35% of the web. The UI is remark­ably intu­itive and any com­pe­tent (or half-com­pe­tent, more on this lat­er) devel­op­er can get a ful­ly fea­tured blog up and run­ning in a mat­ter of hours.

That said, Dru­pal is overkill for for most sites and let’s face it, the learn­ing curve can be rough. Word­Press, on the oth­er hand, isn’t real­ly enough. At least not with­out a slew of plu­g­ins to extend it beyond the built in core capa­bil­i­ties. These plu­g­ins not only add expense but increase com­plex­i­ty while reduc­ing security.

We have pri­mar­i­ly moved to Craft CMS when look­ing for a PHP con­tent man­age­ment sys­tem. Craft strikes the per­fect bal­ance allow­ing com­plete devel­op­er con­trol on both the front and back ends while still pro­vid­ing a com­pre­hen­sive set of tools.

So, What’s Dif­fer­ent About Craft?

It allows me to do every­thing I want and does­n’t force me to do any­thing at all.

The field layout screen in Craft.

The default instal­la­tion of Craft does­n’t pro­vide any HTML, CSS, Javascript, fields or con­tent types.

It is blank slate allow­ing devel­op­ers to imple­ment any frame­work or design.

But that’s good.

Craft uses the Twig tem­plat­ing engine on top of the Yii PHP frame­work. Both are sol­id, mature, secure and well doc­u­ment­ed. This foun­da­tion helps assure longevi­ty while avoid­ing tech­ni­cal debt and break­ing changes with updates — Dru­pal breaks every­thing with each major update and Word­Press breaks noth­ing while pil­ing up lega­cy code.

The Craft CMS editing screen showing Live Preview. Image © Craft CMS.

Want to use Bul­ma or Tail­wind CSS? Not a prob­lem, link it in the head like any oth­er web­site. No use for jQuery — and there real­ly is no need, ever — don’t add it.

Don’t want to use any­thing at all? Rock on. Craft gen­er­ates struc­tured data ready to use with your new­fan­gled fan­cy JAM stack.

Not all good.

This does come at a cost. Casu­al devel­op­ers are not like­ly to use Craft, and the lack of canned themes and serv­er require­ments rule out many devel­op­ers’.

This can make a Craft site some­what more expen­sive than a typ­i­cal Word­Press build. At least in the short term. In the long term doing it right, once, offers a far bet­ter return than the con­stant incre­men­tal changes and updates Word­Press and Dru­pal require.

Pro Tip: ask your dev team, or poten­tial dev team, about their famil­iar­i­ty with Com­pos­er, Ver­sion Control/​GIT and Envi­ron­men­tal Con­fig­u­ra­tion. If they are vague or eva­sive, maybe look around more.

Good again.

The bar to entry dis­cour­ages fly-by-night site builders and assumes a lev­el of exper­tise. A Craft devel­op­er is like­ly to dis­play more atten­tion to detail and be more famil­iar with the code base of a project than most WP-cen­tric shops. Because there are no pre-built themes’ every site is guar­an­teed to be unique.

By using just the fea­tures we need in a mod­u­lar way we avoid the kitchen sink approach and use the tool­ing we need. Noth­ing more. This results in a sim­pler eas­i­er to update code base dras­ti­cal­ly enhanc­ing per­for­mance and security.

This atten­tion to detail assures that best prac­tices are uti­lized through­out with an eye towards SEO and accessibility.

We’ll be talk­ing more, a lot more, about Craft.