The very first website on the internet was actually static, built with pure HTML. But as we all know, keeping a website static without new content doesn’t help much. So why not modify the static site each time? Yeah, this was what’s happening in the past. People modified the raw HTML to add new content. With time, people developed new tools with visual previews to assist the modification of HTML. This made the whole process easier.
One of the main challenges at that time was to define a clear boundary between content and the remaining parts of the website. Only the content needs frequent modifications.
At these times, web server technologies evolved, introducing new possibilities to generate HTML at the server. This made it possible to store the content and the remaining parts separately and combine them on the fly to create HTML.
Then people started to realize, why not built these HTML editing tools right into the website. This simple idea gave birth to Content Management Systems(CMS’s). We all know what happened since then. CMS like Wordpress, Joomla dominated the world for decades and still ranked at the top.
Today, when we look at Content Management, tools like Wordpress, Joomla set the industry standard. These tools provide the entire lifecycle of content management. They are doing too many things. This has also made these applications to become complex over the years. Using them, as is or with standard templates and plugins is easy. But if you dig a bit deeper to customize on your own, the learning curve is steep. This is one of the reasons why people are moving away from these CMS’s.
This is one of the reasons more focus tools are starting to emerge. For example, headless CMS’s like Contentful provides support for content modeling, storage, and publishing. Services like Cloudinary provides dam capabilities with digital media automation for large websites. Static site generation tools like Gatsby, Jerkyll focuses on static site generation allowing to plugin content from different sources and generate the website.
So you made a point that CMS like Wordpress and Joomla are difficult for customization. Isn’t it sound too naive for people to move to static site generation?
There are more factors that drive the rise of static site generators. Let’s look at several reasons why Static Site Generators stands out. In addition, why CMS’s are overkill for most of the websites out there.
This is quite the opposite of CMS solutions like Wordpress or Joomla. You don’t need to modify the generation tool, rather need to provide the structure and content as inputs to the generator. This simplifies how we should define the structure and placeholders for content. With these separations, it becomes much easier to customize a website without the added complexity of the generator code.
Static sites are generally faster compared to dynamic web sites. This is due to the reason that the HTML is already available to be retrieved to the browser. When using a Content Delivery Network (CDN), static sites could be further accelerated caching the web site closer to the end users around the globe.
Note: With proper caching and using CDN, CMS like Wordpress could also match up to the speed but adds further complexity.
If we take a website, it is much more frequently viewed by users than the intensity of creating new content. This is another reason why static site generation is resource efficient. We can generate the web pages upon changes to the content and return the stored files for viewing.
Though this sounds a bit odd, it is actually possible to do this. Content management tools are efficient in content management and if we can source the content from there to the generator, it is possible to generate the website extracting or referring data and assets from the content management system or from a dam solution.
Note: Even we can use CMS like Wordpress for static site generation by using plugins. There are few plugins that allow generating static websites from WordPress pages where we could host them separately
If we look back the continued popularity of Wordpress in the past was driven by the ecosystem of having thousands of plugins and templates allowing users to fast track their website project. The good news is that this is happening to Static Site Generators now. The ecosystem is growing with more static site generators, plugins and sample template.
In addition, there are several platforms for automated web site generation builds. Mostly there are tools out of the box to support the integration (e.g; source control) to trigger website generation automatically upon modification of content or templates. There are even integrated hosting solutions like Netlify which greatly simplifies the overall ecosystem for static site generation.
As you already read, CMS is not dying anytime soon. In fact, some CMS tools might integrate with static site generation solutions to fetch content before generating the sites. One such closely related tools are the Headless CMS which produces an integration point for content.
On the other hand, if you are already having a working CMS solution I feel it’s not worth to move to static site generation in at once. This is because it might take lots of time and energy to bring a static site up to that level.
On the other hand, if you are starting with a fresh project, I give it a try with static site generation tools. My main preference goes to Gatsby static site generator and Netlify hosting with the basic CMS admin functionality. But there are dozens of tools available out there which you can find the best fit for your purpose.