This year at DrupalCon, we heard a lot about Gatsby.JS and static site generators. A hot topic, even DrupalCamp Atlanta is taking this topic into consideration with their keynote speaker, Gatsby.JS founder Kyle Mathews. Gatsby.JS is among the most popular static site generators, along with Hugo and Hexo. The difference between a dynamic and static CMS comes with how you create and present content to your user. Both come with their own benefits and challenges.
Dynamic CMS
These types of CMSs are what we’re most familiar with, like WordPress and Drupal. When a user visits a website with a dynamic CMS, a request is sent to the server, which is then forwarded to the CMS. The CMS takes this request and builds a webpage based on various templates. The database supplies the necessary content in order to fulfill the user’s request. Dynamic CMSs make it easy to edit and review content on the backend, thanks to WYSIWYG modules and global functionality. One change to the main menu will appear on all pages with one update.
Static CMS
In contrast, a static CMS is simpler in the way that you only have to contribute the architecture and content, making maintenance hassle-free. In addition, performance and caching are much more efficient since HTML is already accessible to the browser. A static CMS uses HTML files and organized folders to form templates. Using markdown, you can add content and taxonomies to said templates. Taxonomies are useful in categorizing and tagging your content. These files are created using HTML, CSS, and Javascript along with graphics and data formats. The static site delivers content from the server directly to the user, therefore, all content is the same for each user. There is no need for a database to generate webpages and fulfill requests.
Static CMSs can be slightly more complex for backend users. Basic knowledge of HTML and CSS are required to create content, making editing and reviewing content a challenge. In addition, making global changes to pages has to be done on an individual level. For example, if you want to change a menu item’s name, you must change it for each page that the menu appears on.
Which is better?
It really depends on the project. A static CMS isn’t always necessary or efficient; sometimes they can be a bit complicated out of the box. And while a bit of coding is required for static CMSs, there are many benefits to this approach for creating an application. WordPress and Drupal are very popular CMSs. These types of CMSs build web pages by assembling data from a database and processing the content through a template engine. Before starting a project, consider these questions:
How often does your content change?
With a static CMS, content stays consistent for all users. Adding and revising content will require a change in the HTML. A static CMS would be a good option for a marketing website that has few pages and minimal functionality. On the other hand, a dynamic CMS makes it easy for you to change content on the fly, thanks to its modular approach.
How will users interact with your site?
If you expect a low level of user traffic, a static CMS may be more efficient. With a simple site that gets a particular message across, users will most likely visit a few times. If you create content daily and users regularly visit to see updates, a dynamic CMS may be the better option.
Who manages the backend?
If you have an IT department or a website manager that knows a bit about code, managing a static CMS shouldn’t be too difficult. However, if you have multiple teams that update certain sections of the site with particular content, a dynamic CMS will allow you to set user permissions, and little to no coding experience is required (take it from me, a non-coder).
Do you plan on leveraging a template?
WordPress and Drupal are always appealing because they have fancy templates that allow you to just plug in content and go. If you’re looking to use a particular template, a dynamic CMS will be more useful. However, it’s important to note that using a template restricts you from changing your website’s design to a certain degree. A static CMS doesn’t offer set templates to choose from, thus it requires a bit of design consultation, but it does offer a bit more flexibility.
Sevaa Group has worked with both static and dynamic CMSs (Drupal and WordPress obviously among our favorites). Still, we know that each project has different needs. Whether you want to use a cool WordPress template or you want something more custom built, we can help you decide which approach is right for you.