There has been a lot of talk recently about the rise of static websites. People, and companies, seem to ditching their CMS’ for a faster, leaner static site. Static sites deliver content exactly as it is stored, without requiring users to interact with the website. The content on the site is the same for everyone who views the site. For instance, you won’t see a static site with a login panel or anything that requires the storage of information. There’s no database for the site to speak to. Since the site’s content is displayed just as it’s stored, static sites load faster and are generally leaner than contemporary dynamic websites.
“But wait!”, I hear you shout, “Is this really a new concept? Weren’t sites created in the 90s basically static to begin with?????” To that I say, yes and you don’t need that many question marks, calm down. While this is a similar concept, the execution is different and much more efficient. Using plain HTML is still an option, but it comes with maintenance hiccups. Your repeated elements (document header, nav, footer, etc) would traditionally have to be typed out on every page of your website. That can quickly become a nightmare to maintain. That’s the difference in static site generators, they allow for modular code blocks to be placed in templates for easy maintenance. They then compile, or generate, static HTML to display the content of your site.
Speed – Since the site doesn’t have a database, content management system, various server-side libraries, etc to speak to, static sites have the benefit of loading quickly.
Security – If there is no database/no user input to be used on the site, there is a less likely chance of the site being hacked. This is not to say that they are impervious to attacks, but compare it to a platform like WordPress where the average person could miss some important security updates, plugins and options that are available for WordPress which would allow for the potential security exploits.
Traffic Surges – Traffic peaks can be an issue for sites that rely heavily on database calls or heavy processing. Static sites have an advantage here as their HTML files are usually small in size and take up very little server resources.
Real Time Content – Since the site is made up of flat HTML pages, having recommend posts or real-time data (i.e. which stories have been trending) is not an option for your website. Static pages displays the same content for every person who visits your site with no way to customize content for particular users.
Need Developers/No UIs – Another drawback is you need to be familiar and comfortable with editing your own HTML files to make updates and changes to content or even to add new pages. If this doesn’t sound like you, then you might need a developer to create/edit/maintain your static site. There is no user interface (UI) for a person to interact with. This ties back into the fact that static sites don’t use a database, so there’s nothing to store things like login credentials or user profiles.
No User Input – Having things like a comment system or profiles might be another barrier of entry for some. As I have beat into your heads 50+ times by now, there is no database to store information. That means anything requiring processing and appending to the site, like the aforementioned blog commenting system, is hard to accomplish.
Ultimately, static site generators don’t feel like a flash in the pan concept. There are a lot of generators out there that are widely used and are constantly being updated. In addition to the generators themselves, there are plugins available for the more popular ones (Jekyll, Middleman, Wintersmith, Roots, etc.) that extend functionality to give you more control of what your site can do.
There are a lot of benefits to switching over to a static site. It can save you money and time in the long run since it requires less maintenance to keep up to date and won’t eat up all your server resources by just existing. However, it may not be for everyone. If you want or need a way for your users to interact and contribute to your site, this is not the option for you but if you have an informational website with content that stays fairly constant, then it is an option to seriously consider moving forward.