Wordpress is the world’s most popular content management system (CMS). It’s estimated that it runs approximately 35% of the entire internet, close to 20 million websites in total. As soon as I got my domain vimarsh.info , I knew I wanted to make a website - and Wordpress it was. I had previous experience using it and also had made several Wordpress websites for others. So that is what I did.
Fired up a Virtual Machine and installed Wordpress using Easyengine, also wrote a tutorial on how to do same, and it worked. I was satisfied for almost 3 months, but in the back of my head, I always wanted to do something new. But, my friend convinced myself that wordpress was good enough as it satisfied all my needs to blog and it wasn’t like it was hampering my progress in writing. That’s when I started to want something better.
I always got notified for new plugins or theme updates almost everyday. Along with that, I had to make sure to take regular backups so that in event of anything going wrong, it would be easy to restore. All that time wordpress would show, website under maintenance, and I seriously did not like that. With all that, I still had to think about SEO and lighthouse scores. I wanted a full score, but would never get. Until now!
How did this happen? Well, I killed Wordpress and moved to static site.
Wordpress v/s Static Sites
Wordpress is a content management system, based on PhP. Whenever you visit a wordpress website, based on your client screen and resources, the server would render the page and serve it to you. The content for the webpage is stored in a database and hence CMS(es) need to query Database for every request. You could add some caching plugins and a CDN but that added more complexity, which I was trying to avoid. Ghost is another new cool CMS but I beleive it works on same fundnamental principle.
What is a static site generator?
A static site generator is a tool that generates a full static HTML website based on raw data and a set of templates. Essentially, a static site generator automates the task of coding individual HTML pages and gets those pages ready to serve to users ahead of time. Because these HTML pages are pre-built, they can load very quickly in users' browsers.
When you get static HTML files, it also gives flexibility to host it anywhere you wish to. Also the time to render the webpage is extremely less as the server does not need to render or prefetch any content. There are technologies like Next.js and Frontify that prerender the webpage even from a database but that is another layer I wanted to avoid. Also, for my use case Wordpress was pretty much an overkill, and also I wanted to play with new developing tech, so that is what I did.
Why not website builders
A lot of website builders are becoming extremely famous like Squarespace, Wix and Weebly. These are drag and drop super easy to use website builders. Along with that there are platforms like Medium and Substack which are amazing platforms to focus on writing. But my biggest concern with all of the platforms was their future scope. There is nothing stoppping these platforms from increasing prices in the future or downright being bankrupt or changing Terms of Service you might not agree with. For all these reasons, I used and recomended Wordpress, because atleast you could migrate to other hosting platform without fear of Wordpress going anywhere. And SSG are another alternative which bypass such vendor lock-ins.
I also had that weird feeling that what if my blog suddenly blows up, and the server cannot handle the incoming requests. Hence, wanted a solution that could truly scale.
My choice for SSG
According to their homepage -
The world’s fastest framework for building websites
But for me, the reasons were simple, it was super fast, extremely easy to use and get started with, and had a massive collection of themes with a super friendly community. Along with that, the number of famous websites using it was large and substantial enough for me to not worry that it will vanish the next day.
Fora basic minimalist theme, I really enjoyed using the PaperMod Theme .
With Static Site Generators you have to write in Markdown, which further allows you to easily migrate to any other framework as most of them are based on Markdown. They also allow massive amounts of customisability - from how your page looks to even how links should open in new tab and more.
I start by writing in notion and then move to forestry where I add metadata and images. After evrything is ready in the preview build I click on Save which creates a commit in Github. If there are any new changes Vercel then deploys and updates the live website.
The con that is being actively solved
The biggest downside and even the barrier to entry for adoption is the lack of any interface. Wordpress, Squarespace, Ghost, and others provide a really good WYSIWYG interface. Although, this downside is addressed by headless CMS like Netlify CMS , Forestry etc. I personally use Forestry and enjoy doing so. It provides a clean interface which is responsive and super easy to get started with. You don’t even need to know any coding to get started with Forestry which is super cool for new users.
This is how easy it is to create a JAMStack site with forestry.io