Many researchers looking to share their results gravitate to dynamic websites where readers can enjoy a more customized experience. However, static websites offer a number of advantages that should be considered in your decision making.
For a more detailed explanation keep reading.
So what is a static website and how does that compare with other options? There are two main categories of website - static and dynamic.
On a static website the content is created before someone visits the site and is the same for every visitor. By contrast, the content for a dynamic website is created programmatically when someone visits the website - meaning a program runs on the server to generate the page content from data, usually retrieved from a separate database program also running on the server. There are benefits and drawbacks to each of these two methods. Let’s cover the pros and cons of the dynamic website first.
Dynamic websites allow some pretty cool functionality. For example it can have logins, and depending on the type of account the visitor has on the site, can allow them to edit and contribute to its content, design, and function. Content can be tailored to the specific individual - for example displaying your shopping cart from your last visit, your account balance, or messages sent to you from other visitors of the site.
The advent of dynamic websites allowed the development of a more participatory web, often referred to as Web 2.0, where the viewers of web content are also the generators of web content. Previously, websites were mostly hand crafted static HTML sites. However, there are some drawbacks to this high level of functionality.
Dynamic websites are necessarily more complex than static websites. They do more and so depend on more bits of code to work properly. Often these bits of code are written by many different groups and have become quite complex. As code complexity increases, there is a greater likelihood for problems in the code.
An even larger issue, however, is that these dynamic websites are almost always designed to allow editing through an interface accessible over the web. That often means that anyone anywhere can attempt to access the portions of the dynamic website that allow for the modification of the site, and thus also the server that is serving up the website. Often, attackers do not even care about accessing the content or data on these servers, but instead want to gain control over them to carry out attacks on larger sites using this server as a means to attack another site, or to help mask the attacker's origin by sending the attack through this server.
This means that those maintaining dynamic website content management systems (CMS) software must be very diligent in keeping them secure. In looking at the Critical Vulnerabilities and Exposures site (cvedetails.com) for some of the more popular CMSs (Wordpress, Drupal, Mediawiki, Joomla) we see about one to three CVEs a month. That means you need to be patching these sites somewhere between once a week and once a month to keep them secure. Plus, if you’re using any additional plugins or modules developed by third parties, you must ensure that those continue to function properly with each update. Finally, every few years these dynamic CMSs release a new major version, necessitating a migration of content, accounts, plugins etc. from one major version to another. All of this adds up to quite a bit of work, and stress, to keep dynamic websites secure.
The server hosting your static website still needs updates to its operating system and software, but that is a much simpler task than keeping the CMS, plugins, and modules all up-to-date and properly functioning with each other on dynamic websites.
In addition to these security benefits there are also performance benefits with static websites. Since there are no code or database queries executing on the web server, all that needs to be done is to return the contents of the requested page from a file on the web server. This means that with far fewer hardware resources, the server can accommodate many more site visitors at once.
Backing up static websites is very similar to the migration process - just copy the files somewhere safe! Another nice way to backup static websites is with version control software and a cloud-based repository (e.g. Git + GitHub). With this method, there is an off-site backup that includes all changes to the site. As a bonus, GitHub also provides free static site hosting and supports the Jekyll static website generator directly so you might not even need to manage your own web server.
The Bottom Line
There are clearly some pretty substantial benefits to using static websites as opposed to dynamic websites. There are however, some cases where static websites just can’t provide the functionality needed. But with such great benefits you really need to question how much you need that functionality, or if there are ways to get it with a static website. If it does turn out that you really can’t use a static website, then you need to ensure you have the necessary resources to successfully manage a dynamic site.