If you're considering starting a blog or renovating an existing one, you'll probably find many frameworks or technologies to build your blog with. The process of choosing the best one can be confusing, especially as you branch out in finding the best choice.
One way to create your blog is using Jamstack. Jamstack uses a set of tools and commands to serve your blog statically. By doing so, you're separating the frontend from the backend, leading to a faster website, better security, and more flexibility.
We'll go over what Jamstack is, briefly how you can create a blog with Jamstack, and whether you should or shouldn't use Jamstack to create your blog.
What is Jamstack?
Jamstack can be used to build many kinds of websites, including blogs built with Gatsby, Hugo, or other similar frameworks. This works by decoupling the frontend from the backend and using tools in the framework or technologies used in the backend to generate the static site.
By doing this, your static website will be much faster, as it is separated from the backend's logic. Furthermore, this provides better security for your backend, as it would typically be hosted separately from the frontend. In addition, separating the backend from the frontend makes your stack more flexible. This means that you can optimize your backend, make changes, undergo maintenance, and more without affecting the frontend. This also means you can focus on improving the UI and the design as a whole of the frontend without worrying about the architecture of the backend.
How Can You Create a Jamstack Blog?
We'll go over this briefly, as it depends on the stack you'll use and how you'll link the frontend to it. There are many tutorials for each of the different frameworks that you can use as the backend to your Jamstack Blog and how you can deploy them.
Let's take Ghost as an example. You can create a Jamstack blog that is linked to your Ghost backend using Gatsby. There are already a lot of ready themes that you can use to get started, or you create a theme on your own.
What you would do is you'll host Ghost, which will be the backend, on one server. Then, you'll create a GitHub repository of the Gatsby project that will get the data from the backend and generate the static site, which will be the frontend. Then, you can deploy this GitHub repository on Netlify. This way, you'll have your Jamstack blog hosted on Netlify, completely separate from the Ghost backend. You can also add an integration for Netlify in Ghost to trigger a build whenever a change happens or a new article is posted.
This is a general overview of how it works. There are a lot of different frameworks and tools that can be used to create a Jamstack blog.
Why Should You Create a Blog Using Jamstack?
Faster Blog and Better SEO
Static sites are served to your users faster than websites that use frameworks to generate their pages and content. Users love fast websites, as they can be impatient. If they find a website is faster than another while still providing the content or information they need, they'll visit the faster website.
Google's ranking system for its search engine relies a lot on the experience you provide your users and your website's performance. As your Jamstack blog will be fast with a good performance, it will get more traffic and rank higher on search engines.
By decoupling the backend and the frontend, you have more flexibility in your choice of implementing the frontend as fitting your needs. You don't have to worry about the entire architecture of the CMS framework you are using. If you're interested in customizing your website in great detail, then using Jamstack would be a good choice for you.
Better Security and Availability
With the backend and frontend hosted separately, the backend is kept secure away from the users visiting the blog. There is no direct connection between the blog and the backend and there are no requests performed from the blog to the backend and its APIs. Furthermore, the website is static which means it relies on read-only files. So, both the frontend and the backend are less vulnerable to attacks.
In addition, due to the separation, your blog will always be available, even if the backend is down. As the blog is already generated ahead of time and is served statically, the backend is never accessed when users are visiting your blog. Any issues in your backend or maintenance will not affect the availability of the blog.
You'll actually find that when you create a Jamstack blog you have a better chance at using affordable hosting plans, even free ones. If you're looking for a way to host your blog for free, you'll find that most free hostings are a hassle to use, as there are a lot of limitations, especially as your website grows. However, separating the frontend from the backend, makes things easier.
For example, Netlify offers a generous free plan, so you can run your blog for free for a long time before feeling the need to upgrade. As for the backend, there are a few options like Heroku that offer free hosting. Even if they are limited and the server shuts down, for example, due to the amounts of requests performed exceeding the limit, the frontend will still be up and running. So, your blog technically will not be affected by these limitations.
Why Shouldn't You Create a Blog Using Jamstack?
Lack of Development Knowledge
You probably have realized this while reading through this article, but you'll need some intermediate development experience to set up your Jamstack blog. It's not hard to learn, but it is something you'll need to consider before starting.
If you're not a developer, you can still create a Jamstack blog with some friendly interfaces and one-click deploys like Netlify CMS. However, that does not completely eliminate the need to do some coding, especially as your blog grows. Adding some features will require you to use code at certain points.
Less Interactive Features
Blogs are not just about posting your thoughts and opinions but also about interacting with your readers. One form of interacting with them is through comments. In Jamstack blogs, it's not natively possible to have comments functionality, as the blog does not connect to any database or endpoints and it only reads from static files. However, you can still have comments using services like Disqus. The problem with these services is that either you need a paid plan, or opt for the free plan which will place ads on your blog.
Costly Build Times
As Jamstack blogs are static pages generated from dynamic content using frameworks and tools, the process of generating them takes time. So, if you want to publish a blog post you'll probably have to wait maybe 10 minutes for the build to be done and your website to be deployed with the new blog post. This can be annoying when you want to make edits, as you'll have to wait that same amount of time again even if the change is small. However, this does not affect your website's availability, as it will still be up and running for visitors during the build.
Before making your choice, it's always important to check the pros and cons, and whether the option fits your need regardless of their cons. Jamstack is a great option for developers who want to build their blog on their own terms, while also providing a fast user experience and maintaining their blog's security.