(Those who are unfamiliar with the terms please scroll down for explanation.)
Today I tweeted against the use of heavy CMS packages on government websites, where some static pages or custom scripts could have served the purpose, also minimizing vulnerabilities. Partly because of my poor phrasing and partly because of their involvement with Drupal and Joomla, some people started tweeting against me, like I was blindly blaming these CMS packages. I made myself clear that I didn't say these packages by themselves were harmful, but they are often mishandled, and crucial government websites cannot take that risk while many government agencies still don't seem to spend enough time and resource on security research.
But since the discussion took a different direction, I thought I should talk more in favour of static websites. Even I restarted thinking about making most of my web pages static (though I didn't tweet it). This was the response I got from one person:
Not sure many would agree with your opinion. You are talking about technologies that became obsolete nearly at the turn of the century.
I don't like to get into an argument, but still I can't agree with the choice of the word obsolete here.
Static websites are making a comeback, partly because they are more efficient and secure, and partly because it just happens to be the trend. Static CMSs are also very popular, and you can find a whole bunch of articles about the advantages of static sites, their comeback, and tools like these CMSs.
But I don't daresay the trend will last forever. However, that's not my point. What I have to talk about is the choice of the word obsolete. In my opinion, static websites are never obsolete, and they'll never be, unless the Web happens to have some dramatic fundamental change. When it comes to technology, something goes obsolete only if it becomes unsupported, incompatible, unusable, or potentially insecure. Being out-of-fashion is clearly different from being obsolete. As long as your static site is based on latest standards like HTML5, nobody can call it obsolete.
For better understanding, think about phrases like Java Applets are obsolete or Flash is obsolete. True because they are no longer supported. But design a static website fully complying to HTML5 and CSS3, with code to ensure mobile friendliness. How can anyone call it obsolete?
- A static page is a file served by the Web server upon a visitor request, without making any changes to it.
- Dynamic pages are generated upon each visitor request, usually by taking inputs from multiple files and database entries, and may include content specific to the visitor (like your shopping cart).
- A Web CMS (Content Management System) helps you manage the pages of your site very easily, either dynamic of static. WordPress, Drupal, and Joomla are some popular examples.
Update on 10 Oct 2018: Last day I completed the migration of this site from a CGI-bash-based dynamic system to a static system.