Get Static
Published 4 years, 8 months pastIf you are in charge of a web site that provides even slightly important information, or important services, it’s time to get static. I’m thinking here of sites for places like health departments (and pretty much all government services), hospitals and clinics, utility services, food delivery and ordering, and I’m sure there are more that haven’t occurred to me. As much as you possibly can, get it down to static HTML and CSS and maybe a tiny bit of enhancing JS, and pare away every byte you can.
Because too many sites are already crashing because their CMSes can’t keep up with the traffic surges. And too many sites are using dynamic frameworks that drain mobile batteries and shut out people with older browsers. That’s annoying and counter-productive in the best of times, but right now, it’s unacceptable. This is not the time for “well, this is as performant as our stack gets, so I guess users will have to live with it”. Performance isn’t just something to aspire to any more. Right now, in some situations, performance could literally be life-saving to a user, or their family.
We’re in this to serve our users. The best service you can render at this moment is to make sure they can use your site or service, not get 502/Bad Gateway or a two-minute 20%-battery-drain page render. Everything should take several back seats to this effort.
I can’t tell you how best to get static — only you can figure that out. Maybe for you, getting static means using very aggressive server caching and a cache-buster approach to updating info. Maybe it means using some kind of static-render plugin for your CMS. Maybe is means accelerating a planned migration to a static-site CMS like Jekyll or Eleventy or Grav. Maybe it means saving pages as HTML from your browser and hand-assembling a static copy of your site for now. There are a lot of ways to do this, but whatever way you choose, do it now.
Addendum: following are a few resources that can help. Please suggest more in the comments!
- Emergency Site Kit: “This project aims to enable people to quickly publish a simple website that can withstand large amounts of traffic and will work even under extreme conditions. It is built on the rule of least power, using simple technologies for maximum resilience.”
- FastCGI Cache for Nginx.
- Sitesauce is offering free accounts for critical sites impacted by the pandemic.