What is a static site generator?
A static site generator lets you generate a static website using data and templates. A static website is pre-rendered: all the files (HTML, CSS, Javascript and images) exist as is, and do not need to be processed on the server level. Content management systems like WordPress are called “dynamic” which means that the page content is processed (in WordPress’ case using PHP and MySQL) and the results of the processing outputs content on the web page.
Because static sites are pre-rendered and don’t need to process code or query the database, they are generally significantly faster, and more stable than CMSs like WordPress.
One you have generated your static site with a static site generator, you can then transfer the files to your live server. Some static site generator tools deploy your site directly to your server for you.
The most popular static site generators are Hugo and Jekyll which let you create and edit content in text files with a text editor on your computer. One of the biggest drawbacks with systems like Jekyll and Hugo is that they lack a CMS (content management system). CMSs allow users to easily edit content in a WYSIWYG admin area, whereas with static site generators the user generally needs to be comfortable with Markdown, code and version control.
You can read a more in-depth comparison of Jekyll and Hugo here.
In order to get a better sense of whether a static generator tool is right for you, we’ve examined their advantages and disadvantages, especially in comparison to a CMS like WordPress.
Pros
#1 Speedy fast page load
As mentioned above, the pre-rendered static HTML of static sites loads much faster than the pages on a dynamic site. Fast websites are really important for a good user experience, and also for boosting your site in search engine rankings.
#2 Security
Static sites by their very nature do not have databases. This means there’s no database to hack. The vast majority of hacks happen through the website database, so by removing it from the equation this also removes vulnerabilities such as SQL injections (SQLi), and Cross-site Scripting (XSS). Most attackers target websites that are built with the most popular Open Source software – since once they find a vulnerability, they can scale their attack across all the sites running on that software. By having a static site, you are removing 99.999% of your attack surface, thereby majorly limiting the chances of getting hacked.
#3 Performance
Because dynamic websites have to process content and query the database in order to render pages, they use a lot of server resources. As a result, a spike in traffic can overload the server and cause the site to slow to a painful crawl, or crash. Since there are no dynamic scripts running on a static site, and every page is pre-rendered, your site is less likely to go down when there’s a traffic spike.
#4 Host your site anywhere
Since your site is comprised entirely of HTML files, you can basically grab them and upload them wherever you fancy: Dropbox, Amazon, GitHub pages, Google Cloud…basically anywhere.
#5 No maintenance
There are no plugin or software updates that are required for keeping your site up-to-date and secure.
#6 Write offline
Since static site generators don’t need servers to update content, you don’t have to be connected to the internet when updating your site. You can save it offline and then publish later.
#7 Fast content creation
Static site generators don’t have a backend where you edit your content. Instead, you’d need to use a text editor to edit files. Some developers find all that clicking around in a Dashboard inefficient and prefer Markdown to WYSIWYG editors. For others, this could be a major turnoff. However, with Gutenberg, you can now use Markdown in WordPress as well.
Cons
#1 Complicated for Non-programmers
In order to use static site generators, you need to be a somewhat advanced developer and feel comfortable with command line and Markup in order to get everything set up. There isn’t an app with a one-click install like there is for WordPress.
#2 No CMS (Content Management System). No Dashboard.
Jekyll and Hugo are popular static site generators, but they are not Content Management Systems (CMS) like WordPress. They don’t have an admin area where you can adjust role permissions, review other people’s content, etc.
#3 Publishing the site requires tools and code on your computer
If you want to publish new content using a static site generator, you’d need to do it from a computer that has the tools and environment needed for rebuilding and publishing the site. With WordPress, you can work on content from anywhere.
#4 No WYSIWYG Editor + Image Editor
Jekyll or Hugo requires adding content with Markdown in a text editor, and lacks an intuitive WordPress editor. Again, this could be a pro for some, a con for others. WordPress also lets you upload and edit images, which doesn’t exist in Jekyll/Hugo.
#5 Relatively Few Plugins for Added Functionality
WordPress lets you add on tons of extra functionality with its massive library of plugins (55,527 and counting!) making it really easy to manage your SEO and other features. With Jekyll or Hugo, while there are some plugins, many features become very manual and time-consuming.
#6 Relatively Few Themes
WordPress has thousands of beautiful, professionally-developed themes (aka templates) for free, and thousands more paid themes. It’s easy to pick one and get started.
#7 Relatively small community
There is a massive, helpful WordPress community, that can guide you along your website projects. The community for Jekyll or Hugo doesn’t have as big of a following.
#8 No server-side functionality which is needed for contact forms, comments, and search
In order to have contact forms, comments, or search functionality on your site, you’d need to use a third-party solution for each.
Conclusion
Popular site generator tools like Hugo and Jekyll have a good end product – a static site – but they are missing all the benefits of WordPress – which makes it a pleasure to add and edit new content, and an established community to help you along the way.
The advantages of a static site coupled with the benefits of WordPress are what inspired Strattic to offer a solution that does both, letting you have your cake and eat it too :).