Why I Still Choose Craft CMS
After more than two decades of working with content management systems—from the early days of MODx and WordPress to discovering ExpressionEngine and beyond—I keep returning to Craft CMS for my client projects. Here's why Craft continues to be my go-to platform for designers, developers, and the clients who use it every day.
There are a lot of CMS platforms on the market—so many, in fact, that even the sites attempting to list them all are incomplete. I don't claim to know the vast majority of them, but I've been using a CMS for client sites since roughly 2004 or 2005. From MODx and WordPress in those early days to discovering ExpressionEngine in 2007, to brief experiments with other content management systems along the way.
After twenty years of working with CMSes, I can confidently say I know a thing or two about using them for client websites. I've been so consistently happy with it that I wrote about Craft back in 2018, and here we are several years later with even more reasons to appreciate it. When you pair that experience with my commitment to keeping things as easy and usable as possible for clients and their audiences, I simply keep coming back to Craft.
Why I Love Craft CMS as a Designer
I've always said this, but I'm a designer first and foremost. As much as I love to code, I'd much rather be working with colors, typography, and layout in Figma or Affinity Designer. I think it's because of this perspective that I'm so particular about the content management system I choose to work with.
From this viewpoint, Craft makes sense for several reasons, starting with its approach to content structure. Instead of cramming everything into a generic "post" format or a single text editor with some block options, you can create custom entry types that reflect the actual content you're designing for. It's less restrictive and doesn't force you to work backward from database constraints or limitations on field types.
That doesn't mean content authors are stuck with just the page layout types you create. Craft's Matrix field allows you to build modular design components that clients can mix and match to assemble pages in ways that suit their content and messaging while staying on-brand. This gives us designers tremendous freedom—your design work shifts from full page layouts to modular thinking.
Taking this a step further, Craft doesn't lock you into theme-based thinking. Instead of designing around predetermined page types, you design around your actual content and messaging needs. This means you can structure your design work to align with your natural design process, rather than forcing your creative approach to fit within a CMS's rigid assumptions about how websites should be built.
In short, the appeal for designers is that Craft was built by people who understand that content and design need to work together.
Why I Love Craft as a Developer
I have to be upfront here: Craft has a bit of a learning curve. If you're a back-end developer, the learning curve isn't as steep. If you're coming from something like Squarespace or even WordPress, it's more of a climb. But as a front-end developer who keeps JavaScript to a minimum and couldn't PHP my way out of a box (yes, I just used PHP as a verb), Craft makes it much easier and more frequent for me to say "yes" to client requests rather than "no."
Let's start with templates. Craft gives you full control over your HTML and content output through its templating system, Twig. Unlike many CMS platforms that force you into predefined markup structures or require you to know PHP (or Ruby or some other programming language), you can write clean, semantic HTML that matches your exact design requirements without dealing with themes and all their constraints.
Don't worry though—the Twig templating language is logical and well-documented, making it straightforward to build maintainable templates. Unlike proprietary template systems, Twig's syntax is transferable knowledge, and Craft's implementation provides helpful functions and filters specifically designed for CMS needs.
That beautiful, semantic HTML really allows your content to shine through Craft's various fields, Matrix in particular. Its flexible content modeling lets you build complex, structured content without needing to understand database relationships. Repeatable content blocks? Yep. Nested structures? Uh-huh. Custom data types? You betcha. You can build virtually any type of website you need without fighting the CMS. It's glorious.
Then there's the file-based configuration and Craft's version control-friendly structure, which makes collaboration and deployment more straightforward than most content management systems. You don't have to wrestle with the database each time.
If you're more of a back-end developer though, you get to unlock even more capabilities. Craft supports headless/API usage, and if you need something more custom, it's easily extendable via Yii. Or something like that—I'm a front-end developer, remember? 😅
Why Craft is Great for Clients
As much as I love to sing Craft's praises as a developer, the people who are going to use it far more are the ones writing and editing content: clients. For my money, this is the area where Craft outclasses many CMS platforms.
The control panel is well-designed (and accessible!), which is a huge win in and of itself. Because of that, it feels more like using a familiar app than wrestling with complex software that has an overwhelming array of buttons and options that can paralyze users who aren't as technically savvy. Content editors can focus on the content rather than figuring out how to use the system. Crazy, I know.
To make things even easier, Live Preview gives clients the opportunity to see exactly how their changes will look before publishing. This eliminates the anxiety of "Will this break something?" and reduces the back-and-forth of making edits, saving, checking the site, then making more adjustments.
Taking that a step further, when you set up Matrix fields, clients can add, remove, and rearrange content sections while everything stays within the design guardrails that have been established. This reduces support requests about accidentally breaking a page layout.
And all that content you've taken the time to write? It's yours. You're not locked into a platform that might change its terms unexpectedly.
There's a lot more I could say, but the bottom line is this: as a client and/or content manager, you get the power to manage your content confidently without the fear of breaking something important.
Final Thoughts
Clearly I'm a big fan of Craft CMS, and for good reason. For 99% of the work I do for my clients, it works incredibly well on multiple levels—from the design flexibility to the developer experience to the client-friendly interface. That's not to say I wouldn't explore other CMS platforms (having multiple tools is always smart), but Craft consistently delivers what my clients and I need. I choose it not because it's trendy, but because it works.
If you're interested in giving Craft a try, here are some excellent resources: