Most Websites Can Be Static

By Cory LaViska on May 2, 2019

Static websites are becoming more and more popular these days. Here's why you should consider going static for your next project.

Two computers on a deskStatic websites are all the rage these days. I've been championing them for over a decade, so I guess I was ahead of the trend. Evidence of this is in my service, Surreal CMS, which has been publishing static websites since 2008.

I just like to keep things simple. The fact is, for most websites, you just don't need a database-driven CMS running on your server. It's overkill. Most websites are informational, so why not make them static and move the processing away from your website?

Here are the top arguments I use to convince people to go static.


Static websites are fast

Static websites tend to be faster than those running on database-driven apps such as WordPress. That's because the web server has to execute a bunch of PHP files, fetch info from a database, process it, render a template, and generate a response — for every single request.

With a static website, things work differently. When you publish changes, everything gets built once and uploaded to your server. Static files don't have to be processed, so your server can send them out immediately when they're requested. The result is obvious: a faster website.

That's exactly how I manage this website and it's blazing fast. In fact, I'm not even using a traditional web host, I'm using Amazon S3 + CloudFront to make it as fast as possible for users all over the world. The cost is negligible and the results are amazing.

I enjoy using Amazon S3 + CloudFront, but you don't need a CDN to run a static website. You'll still get pretty good performance using a traditional host!

(In case you're wondering, yes I do manage surrealcms.com with Surreal CMS. How meta.)


You're less likely to get hacked

Security is a huge benefit of going static. Websites get hacked in different ways, but one of the most common is — you guessed it! — the server is running vulnerable software that hasn't been updated. When you have a lot of websites to manage, updates takes a lot of time. (That's probably why they don't get done that often.)

Hackers quite literally run automated scripts around the clock looking for known vulnerabilities in random websites, so if your software is out of date, you're a sitting duck. This has become such a problem with installed apps that the world's most popular CMS has a page dedicated to getting hacked and an entire industry of plugins and services has spawned around it.

Static websites significantly reduce this risk because there's no software on the server to exploit. For example, website generators such as Jekyll and Hugo run locally and publish changes to a number of locations (git repos, web servers, S3 buckets, etc.). Similarly, Surreal CMS publishes content to your web server using FTP, SFTP, or S3.

In any case, the software doesn't reside on your web server, and that eliminates one of the most common reasons websites get hacked.


You'll save on hosting

Since we're on the topic of hosting, let's talk about saving money. Static websites don't require a lot of resources, so hosting tends to be cheaper than what you'd pay for a traditional web host. In fact, you can find free hosting at GitHub, GitLab, Netlify, Surge, and a number of other providers.

If you use Amazon Web Services (S3 + CloudFront, like I did) you'll pay as you go. Unless your website has a lot of traffic, the costs are negligible and the SSL is free.

Again, you don't need a special host to run a static website. Any ol' web host will do, but if you can save some money in the process it's worth considering!


You can do a lot!

Static websites used to be strictly informational, but these days there are endless services that let you do dynamic things with static websites. I believe Netlify pioneered the term JAMstack for static websites that take advantage of JavaScript and APIs to make them more dynamic.

 

JAMstack: noun \’jam-stak’\
Modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup.

JAMstack.org

All this means is that we're taking advantage of JavaScript (in the browser) and APIs (first- or third-party) to make static websites act like dynamic ones.

For example, you'll find a contact form on just about every website out there, right? But how do you handle forms on a static website? Turns out it's pretty easy. Just post them to one of the many form services out there such as FormKeep, FormBucket, or formcarry — many of which offer free plans.

What about analytics? Most are JavaScript-based, like Google Analytics, Fathom Analytics, and Simple Analytics. No need to worry about losing important visitor data.

In fact, many of the dynamic things you'll need to do can be handled with similar services.


Of course, going static isn't appropriate for every website. There are plenty of scenarios where a dynamic website still makes sense. It all depends on what you're building and the features you need.

My point is, static websites aren't nearly as "static" as they used to be. You can easily host a faster, safer, and cheaper website these days. They may or may not work for everyone, but don't be so quick to discount going static for your next project!