Twenty dollars a month, and you get a beautiful website almost instantly. Sounds amazing. And in a lot of ways it is. Just look at all the other companies who did the same and whose websites look sort of similar to yours. Heck, I even use those online website builders when I need a quick, rock-solid web presence for one reason or another. Then why should companies ever consider building a website with a custom content management system (CMS) built on a framework such as Django? To answer that question, it’s important to ask a few questions …
How important is it to position yourself uniquely on the web?
We lump a bunch of platforms into what could be classified as “starter kit CMSs.” They’re quick to set up because they’ve been structured with the assumption that one system can be built generic enough to account for a wide variety of use cases. They include a large set of generic templates and tools that aren’t specifically suited to doing one thing perfectly well, but can do some of what’s needed reasonably well for the largest amount of use cases. In other words, these sites can be set up fast because the structure of the website is dictated by how the CMS wants to structure the website.
At GS, we work with many different CMS platforms, including popular ones such as WordPress and Drupal. However, our preferred platform for custom CMS development is Django. Django is an open source framework that allows developers to build the CMS software that powers a website without having to start with a pre-defined structure and set of unnecessary tools. The benefits are many …
A custom CMS allows us to start with the content and not the technology. We look at all of the website content and make models that map relationships, structures, and hierarchies. Those models guide how the CMS gets built. The website is structured properly based on the content right from the start, providing a clean platform for enhancements without having to worry about how the CMS “wants” things structured. The structures and relationships we develop at that point enable an incredible amount of flexibility when displaying or maintaining content on the website. The need to manually maintain links, cross-promotions, and related content across many different pages of a site is removed, ensuring a great user experience as content changes.
Starting with a clean platform allows for the creation of an experience that’s completely unique and perfectly suited to the business’s brand and position. No two sites will be the same because the uniqueness of the business – not the technology – will dictate the website structure and design.
How important to your business is optimizing customer engagement and your user experience on the web?
To accommodate the greatest number of use cases, a starter kit CMS has a defined underlying structure for accepting and displaying content. Any deviation from this underlying structure essentially requires modifying the way it’s supposed to work in order for it to work a different way. Any good developer can modify a starter kit CMS to do something. To a certain point, this works just fine. But over time these modifications start to add up. The way the system was designed to run starts to get overrun by the way it has been modified to run.
As a starter kit CMS becomes heavily customized, it starts to become more unpredictable. Future enhancements start to take longer, the system becomes more complex to manage, and CMS security upgrades become increasingly difficult, resulting in a system more open to attacks and failures. As your CMS becomes more difficult to manage, the feasibility of essential new customer engagement features could start to be affected. These things have a real impact on the experience your customer has with your company.
By building a custom CMS with only the features needed, we start with a clean, solid platform to layer new functionality on. Instead of “hacking” the CMS to work a certain way, a custom CMS allows us to enhance an already optimized system to do what’s needed. Instead of the CMS dictating what can be done based on the way it was designed to work, we dictate what we would like it to do based on what’s right for the situation.
Another big factor in customer engagement on a website is how often content is refreshed. If it’s too difficult or time consuming to make changes on a website, then the site’s content will start to get old. With a custom CMS, the admin is built with the business’s processes in mind. The interface is designed around how the business works and how often updates need to be made, and optimized to ensure those things can happen quickly.
How seamlessly do you expect your website to integrate with other systems and processes you have in place?
Another benefit of a starter kit CMS is that there are a lot of plugins that make integrations possible with no coding. These plugs are great as long as they do what you’re looking for. If they don’t do exactly what’s needed, there’s the option to start with the plugin and make modifications, or develop the integration feature from scratch in the CMS. No matter which route you decide to go, you’re still working with the limitations of the existing CMS.
In a custom CMS, there generally still exists the option to start with a plugin or build from scratch. And the limitations of working with a pre-existing CMS have been removed. The result is a system that can be tightly integrated with other systems in a way that works best for your business. Instead of the CMS being an add-on to business systems, it can feel more like an integrated part of those systems.
A custom CMS isn’t the right solution for everyone. The scope of the websites that we build at GS varies considerably from very basic to highly complex, but in the end we believe that your business needs should ultimately guide the solution rather than be dictated by the technology the solution runs on. So while our preferred platform for custom CMS development is Django, all platforms have their place and are worthy of consideration. What are your answers to the questions above?