11 Static Site Generators to Watch in 2020
Tags: webdev, gatsby, nextjs, hugo
Published: 2020-04-15 13:28:01

<p>Using a Headless CMS to generate and handle static sites has gained popularity, especially because many of the constraints that made it difficult to develop a static site don&rsquo;t exist anymore.</p>
<p>A static website generator can help you create fast, visually appealing websites without suffering the restraints that plagued marketers and developers in the past. What are the main reasons behind using a Static Site Generator?</p>
<p>Websites are separated into two different categories: static and dynamic.<br /><br />Static websites are fixed and display the same content for every user. They&rsquo;re usually written exclusively in HTML.</p>
<p>On the other hand, a dynamic website can display different content and provide more layers of user interaction.&nbsp;</p>
<p>In essence, although not always, static websites are easier to create than dynamic sites. They both have their advantages and their drawbacks, and serve different purposes.&nbsp;</p>
<p>And you wouldn&rsquo;t imagine the debate behind whether or not you should use a static or dynamic site. We at Agility CMS support both static and dynamic sites because we believe that they&rsquo;re both relevant for a given set of use cases.&nbsp;</p>
<p>In this article, we&rsquo;ll only focus on static site generators, so if you want to build leaner, faster sites, you can&rsquo;t miss this list of the best static sites you need to watch in 2020, with a bit of context.&nbsp;</p>
<h2>What Is A Static Site and How Can It Help Your Business?</h2>
<p>Static site generators enable you to create a static, HTML-based website that doesn&rsquo;t rely on databases or external data sources, avoiding server-side processing when accessing your website.</p>
<p>Static websites are becoming increasingly popular because they&rsquo;re faster and more flexible than dynamic websites.&nbsp;</p>
<p>Also, static website generators are often easier to deploy and host, as your hosting provider doesn&rsquo;t need to cover special requirements.</p>
<h3>The Static Site Generator</h3>
<p>While dynamic sites are used more often than their static counterparts, the alternative of using a headless CMS to generate and handle static sites has gained popularity, especially because many of the constraints that made it difficult to develop a static site don&rsquo;t exist anymore.</p>
<p>That&rsquo;s where the static site generator comes in. A static website generator can help you create fast, visually appealing websites without suffering the restraints that plagued marketers and developers in the past.&nbsp;</p>
<p>Here are some of the reasons why you need to consider static site generators in 2020.</p>
<h2></h2>
<h2>Why Use A Static Site Generator?</h2>
<h3>Fast load times</h3>
<p>Unlike their dynamic counterparts, static sites don&rsquo;t have to pull information from a database on every page because they serve pre-compiled files that cut load times significantly, something your SEO team will love.&nbsp;</p>
<h3>Security&nbsp;</h3>
<p>Dynamic sites are often less secure than static sites. That means that if you&rsquo;re developing a site, you might benefit from a static site with a smaller server-side infrastructure, closing any potential gap that would result in a security breach.&nbsp;&nbsp;</p>
<h3>Flexibility</h3>
<p>Dynamic sites are often limited in how customizable your themes are, and that&rsquo;s great if you want something simple. Static sites offer you more freedom if you want something that&rsquo;s more specific than most sites.</p>
<p>Without further ado, let&rsquo;s jump to the 9 static site generators you need to keep an eye out for in 2020.&nbsp;</p>
<h3>JAMstack Ready</h3>
<p>Many brands are looking to leverage a<a href="https://agilitycms.com/resources/posts/what-is-jamstack-and-why-should-you-care-as-an-editor"> JAMstack approach to content management and delivery</a> for faster, more easily modifiable, and more easily scalable digital experiences. A JavaScript-based static site generator slots into a JAMstack quite nicely.&nbsp;</p>
<h2></h2>
<h2>11 Static Site Generators to watch in 2020</h2>
<p>Here are some of the websites we think you should watch this year, as they represent the best, most flexible options currently available.</p>
<p>Enjoy.</p>
<p></p>
<h2>1 | Gatsby</h2>
<p><a href="https://www.gatsbyjs.org/" target="_blank" rel="noopener"><img width="606" height="297" alt="" src="https://static.agilitycms.com/gatsby2.jpg" /></a></p>
<p>One of the things marketers like the most about <a href="https://www.gatsbyjs.org/" target="_blank" rel="noopener">Gatsby </a>is that it&rsquo;s optimized for speed. It loads the parts of the website you need at that moment and prefetches resources for other pages quickly.&nbsp;</p>
<p>That makes Gatsby a solid choice if you want to access data quickly and consistently.&nbsp;</p>
<p>Another point for Gatsby is that you can use it to pull data from different sources, such as CMS, which enables you to customize your static website further. Similarly, Gatsby comes with a plugin that allows you to manipulate images and customize your robots .txt site.&nbsp;</p>
<p>Check out this <a href="/resources/posts/upgrading-my-website-to-jamstack-1-page-at-a-time" target="_blank" rel="noopener">blog post about how we just moved out Home Page to Gatsby in 6 steps.&nbsp;</a></p>
<p>Here is the recording of a hands-on <a href="ttps://www.youtube.com/watch?v=DO9MylEKRt0" target="_blank" rel="noopener">webinar where we build a website from scratch using Gatsby and Agility CMS</a> in 1 hour.</p>
<p><strong>Recommended reading:</strong><a href="https://help.agilitycms.com/hc/en-us/articles/360037873531-Gatsby-Tutorial"> Gatsby and Agility CMS</a></p>
<h3></h3>
<h2>2 |&nbsp;&nbsp;Hugo</h2>
<h3><a href="https://gohugo.io/" target="_blank" rel="noopener"><img width="600" height="316" alt="" src="https://static.agilitycms.com/hugo.png" /></a></h3>
<p><a href="https://gohugo.io/" target="_self">Hugo </a>is one of the most popular open-source static site generators. It has thousands of ratings on GitHub and a strong community backing it.</p>
<p>Hugo is based on the Go programming language, which makes it super quick in comparison with other static site generators. Another thing that makes Hugo stand out is the number of themes it has on its library, with more than a hundred themes to choose from.</p>
<p></p>
<h2>3 | Nuxt JS</h2>
<p><a href="https://nuxtjs.org/" target="_blank" rel="noopener"><img width="604" height="204" alt="" src="https://static.agilitycms.com/nuxt.png" /></a></p>
<p>One of the best things about<a href="https://nuxtjs.org/" target="_blank" rel="noopener"> NUXT.JS</a> is that it&rsquo;s an open-source, progressive VUE.js framework, which makes it easier to tweak in case you have specific requirements in mind and want to fine-tune your website.</p>
<p>The reason behindNUXT.js&rsquo;s customizability is that it has a modular architecture that enables marketers to choose from more than 50 modules to make your development faster.</p>
<p><strong>Recommended reading:&nbsp;</strong> <a href="https://help.agilitycms.com/hc/en-us/articles/360037500492-NuxtJS-and-Agility-CMS" target="_blank" rel="noopener">NuxtJS and Agility CMS</a>&nbsp;<br /><br /><br /></p>
<h2>4 | Jekyll</h2>
<p><a href="https://jekyllrb.com/" target="_blank" rel="noopener"><img width="562" height="234" alt="" src="https://static.agilitycms.com/jekyll.png" /></a></p>
<p>While it can be said that <a href="https://jekyllrb.com/" target="_blank" rel="noopener">Jekyll </a>has lagged behind some of the site generators on this list, it&rsquo;s still one of the most popular and hosts a large user base and a solid directory of plugins.&nbsp;</p>
<p>One of Jekyll&rsquo;s main selling points is that it enables marketers to import and migrate an existing site to Jekyll easily, so for instance, if your site is on WordPress, switching to Jekyll is simple, enabling you to focus on the content without having to worry about the rest while preserving your links and layouts.&nbsp;&nbsp;</p>
<p></p>
<h2>5 | Elevnety</h2>
<p><a href="https://www.11ty.dev/" target="_blank" rel="noopener"><img width="598" height="310" alt="" src="https://static.agilitycms.com/11ty.jpg" /></a></p>
<p>Sometimes you just want to get some dynamic content into some static HTML files.</p>
<p>If you have a static, hardcoded website that's already built, you don't need to completely rebuild it in order to get dynamic content into it from a Headless CMS.</p>
<p><a href="https://www.11ty.dev/" target="_blank" rel="noopener">Eleventy </a>is a great tool to do this work - even if you only need to work on one file at a time.</p>
<p><strong style="color: #000000; font-family: helvetica,arial,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">Recommended reading:&nbsp;</strong><a href="https://dev.to/agilitycms/using-agility-cms-and-eleventy-for-simple-jamstack-tasks-25b4" target="_blank" rel="noopener">Using Agility CMS and Eleventy for simple JAMStack tasks</a></p>
<p><strong style="color: #000000; font-family: helvetica,arial,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"></strong></p>
<h2>6 | Create React</h2>
<p><a href="https://create-react-app.dev/" target="_blank" rel="noopener"><img width="598" height="231" alt="" src="https://static.agilitycms.com/react.jpg" /></a></p>
<p><a href="https://create-react-app.dev/" target="_self">React Static</a>, as its name implies, is a static site generator for React.js. Since Create is tightly connected to React, it offers a great deal of support for all the related React libraries and tools.</p>
<p>Similarly, Create React is simple to use and to build websites with. It also simplifies the web development experience, enabling marketers to build websites quickly due to its simplicity. Also, the fact that the site generator is documented in GitHub-based documents makes it really appealing.</p>
<p><strong>Recommended reading:</strong> <a href="https://help.agilitycms.com/hc/en-us/articles/360031121692-Using-Agility-CMS-with-Create-React-App">Using Agility CMS with Create React App</a><br /><br /><br /></p>
<h2>7 | Hexo</h2>
<p><a href="https://hexo.io/" target="_blank" rel="noopener"><img alt="" src="https://static.agilitycms.com/hexo.png" /></a></p>
<p><a href="https://hexo.io/" target="_blank" rel="noopener">Hexo </a>is a fast, simple blog framework that&rsquo;s powered by Node.js. One of the features that makes Hexo a popular choice is that it&rsquo;s easy to implement it if you&rsquo;re already using JavaScript and are familiar with the language.&nbsp;</p>
<p>This site generator is often used for general purposes and supports the use of templates from different engines, which makes it a flexible choice for JS developers.&nbsp;</p>
<p></p>
<h2>8 | Nift</h2>
<p><img width="518" height="156" alt="" src="https://static.agilitycms.com/nift.jpg" /></p>
<p><a href="https://nift.cc/" target="_self">Nift </a>is a cross-platform open source framework for managing and generating websites created by <a href="https://n-ham.com/">Nick Ham from Australia </a>.</p>
<p>It's lightning fast (<a href="https://hugo-vs-nift.gitlab.io/">evidence</a>), developed from the ground up in C++, and released for free under the <a href="https://choosealicense.com/licenses/mit/">MIT license</a>. You can&nbsp;use it for any of your personal or commercial projects &ndash; just be sure to preserve copyright and license notices!</p>
<p></p>
<h2>9 | Brunch</h2>
<p><a href="https://brunch.io/" target="_blank" rel="noopener"><img alt="" src="https://static.agilitycms.com/brunch.png" /></a></p>
<p><a href="https://brunch.io/" target="_self">Brunch </a>is a fast, programming language-agnostic HTML5 assembler and build pipeline. Brunch compiles scripts, templates, and style sheets, wrapping them in common.js and AMD modules, giving you a lean result.</p>
<p>Brunch enables you to create a website skeleton to get users up and running quickly. However, it&rsquo;s better suited for users who want to create an app or a blog/app static website.&nbsp;</p>
<p>Brunch is an ultra-fast HTML5 assembler and build pipeline. Brunch compiles scripts, templates and style sheets, links them, wraps them in Common.js or AMD modules, and concatenates the result.</p>
<p></p>
<h2>10 | Octopress</h2>
<p><a href="http://octopress.org/" target="_blank" rel="noopener"><img alt="" src="https://static.agilitycms.com/octo.png" /></a></p>
<p><a href="http://octopress.org/" target="_blank" rel="noopener">Octopress</a> has a clean, responsive theme written in semantic HTML5, which makes it great if you&rsquo;re conscious about readability and mobile-friendliness. Also, Brunch is easy to use and makes development easier.</p>
<p>Octopress integrates seamlessly with third-party software and ships with a handful of strong plugins, both from the Octopress and the Jekyll community, which means that you can do SEO, add GitHub repositories, and hook analytics with ease.&nbsp;</p>
<p></p>
<h2>11 | Pelican</h2>
<p><img alt="" src="https://static.agilitycms.com/pelican.png" /></p>
<p>One of the best things about <a href="https://blog.getpelican.com/" target="_blank" rel="noopener">Pelican </a>is that it&rsquo;s both powered by Python and it supports Markdown and reST syntaxes, which means you can write your website with your editor of choice directly as reStructuredText or Markdown.</p>
<p>Pelican is great if you have a text-heavy website with tons of blog articles and pages full of content, which makes it one of the fastest, easy to use static site generators if you only want to build a blog.</p>
<p></p>
<h2>Static Sites = JAMstack-ready</h2>
<p>What&rsquo;s really interesting is that JAMStack developers are using Static Site Generators build on top of JavaScript frameworks.&nbsp;</p>
<p>If JAMstack is on your mind (<a href="https://agilitycms.com/resources/posts/what-is-jamstack-and-why-should-you-care-as-an-editor" target="_blank" rel="noopener"><span style="font-weight: 400;">and it should be!</span></a><span style="font-weight: 400;">), it&rsquo;s worth understanding how a static site generator can work with an API-first, <a href="https://agilitycms-uat.azurewebsites.net/resources/guide/what-is-a-headless-cms" target="_blank" rel="noopener">headless CMS</a>. Here&rsquo;s why, and how, you can </span><a href="https://agilitycms.com/resources/posts/migrate-to-jamstack-now-no-excuses" target="_blank" rel="noopener"><span style="font-weight: 400;">migrate to JAMstack</span></a><span style="font-weight: 400;">.</span></p>
<p></p>
<p><strong>Keep Reading&nbsp;&nbsp;</strong></p>
<p>Make sure you read these blog posts about JAMstack:</p>
<ul style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #484b4d; font-family: inherit; font-size: inherit; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; letter-spacing: normal; line-height: inherit; list-style-image: none; list-style-position: outside; list-style-type: square; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; vertical-align: baseline; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; padding: 0px; margin: 0px 0px 20px 20px; border: 0px none currentColor;">
<li style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #6d7882; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.5; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;"><a class="_e75a791d-denali-editor-page-rtfLink" style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #5400ca; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8; text-decoration: underline; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;" href="https://agilitycms.com/resources/posts/what-is-jamstack-and-why-should-you-care-as-an-editor" target="_blank" rel="noopener"><span style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; font-family: inherit; font-size: inherit; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;" data-preserver-spaces="true">What is JAMstack and Why Should You Care as an Editor?</span></a></li>
<li style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #6d7882; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.5; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;"><a class="_e75a791d-denali-editor-page-rtfLink" style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #5400ca; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8; text-decoration: underline; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;" href="https://agilitycms.com/resources/posts/how-to-use-gatsby-with-agility-cms-as-a-headless-cms" target="_blank" rel="noopener"><span style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; font-family: inherit; font-size: inherit; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;" data-preserver-spaces="true">How to use Gatsby with Agility CMS as a Headless CMS</span></a></li>
<li style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #6d7882; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.5; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;"><a style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #5400ca; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8; text-decoration: underline; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;" href="https://agilitycms.com/resources/posts/migrate-to-jamstack-now-no-excuses" target="_blank" rel="noopener">Migrate to JAMStack: No Excuses!</a></li>
</ul>
<p><span style="font-weight: 400;"><span style="display: inline !important; float: none; background-color: #ffffff; color: #484b4d; font-family: inherit; font-size: inherit; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; letter-spacing: normal; line-height: inherit; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"> </span></span></p>
<p><strong>Watch our recent webinar on JAMstack and role of Static Site Generators in JAMstack ecosystem:</strong></p>
<p><iframe width="560" height="315" allowfullscreen="allowfullscreen" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" frameborder="0" src="https://www.youtube.com/embed/8vbDWKqt4Eg"></iframe></p>
<p><span style="display: inline !important; float: none; background-color: #ffffff; color: #484b4d; font-family: inherit; font-size: inherit; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; letter-spacing: normal; line-height: inherit; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"> </span></p>
<p style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #6d7882; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; letter-spacing: normal; line-height: 1.8; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; vertical-align: baseline; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; padding: 0px; margin: 0px 0px 20px 0px; border: 0px none currentColor;"><a style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; color: #4600a8; font-family: Muli-Regular,sans-serif; font-size: 16px; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8; text-decoration: none; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;" href="https://agilitycms.com/v3-free-signup-developers" target="_blank" rel="noopener"><img style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; box-sizing: border-box; font-family: inherit; font-size: inherit; font-size-adjust: none; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; height: auto; line-height: inherit; max-width: 100%; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px none currentColor;" alt="" src="https://static.agilitycms.com/websites-cta/ty-agility-cms-for-free-developers.jpg" /></a></p>
<p></p>