Web site maintenance

Unless a site is a simple page with links (e.g.. your résumé or the info brochure for a product or campaign), some maintenance is required on a regular basis to keep it working and secure. 

Webserver / Certificate / Domain / DNS 

Build

Decide on hosting needs (service level, location, price) and either build or purchase hosting. 

Register a domain name and configure DNS. 

Maintain

Depending on the hosting selected, there is an ongoing cost to maintain the server hardware, operating system and basic services (HTTP, PHP, MySQL) either included in your hosting cost or as additional monitoring and services.

A domain name (from a reputable registrar) will usually just need to be kept registered (annual or longer terms). 

DNS may be just "turned on" with a registrar, or may involve proxy or other services, depending on security requirements and the complexity of the environment (multiple subdomains, other services).

Code and content

Build

Content management systems (like Drupal or WordPress) consist of a few different parts -- the core software, additional code (modules or plugins) that provide additional functionality, themes (templates) that control the display, and a database that holds the content and controls the configuration.   Some sub-systems may have separate databases (e.g.. CiviCRM data can be set up to store in the same or a separate database).

A site builder also has to be aware of where to create storage for content files (images, documents).

Maintain

While it is possible to rebuild most of the core and additional code, configuration settings and any modifications made to the code need to be backed up.  

In a Drupal site you will see a structure that looks like this:

 

The sites folder contains folders called All and Default that hold the installed modules and themes and files uploaded to support the text in the content (like that image of the file structure).  So to recreate the site on another server (or my laptop when I'm trying something out, or not on the internet) I have to have a backup of the sites folder, and the most appropriate copy of the Drupal core software (if I'm trying out an upgrade, I'd need the current installed version and the newest).

WordPress can be set up to auto update when there are security or functional updates.  A site administrator still needs to check in and ensure that automatic updates don't adversely affect the content or functions.

The Drupal Security Team https://www.drupal.org/drupal-security-team/general-information releases update notices for any core or contributed modules that have discovered security problems.  Security notices are sent out Wednesday, with instructions on whether to upgrade or replace the problem code.

Content backups

The Drupal sites folder contains the main configuration file (default/settings.php) and files included in your content (files).  If you've got custom modules or themes, they will be stored in sites/all/ or sites/default (or if you're running multiple sites in a single Drupal installation, you may have a folder sites/[mydomain]/ for each site instead of storing it's files in default).  There is a module called Backup and Migrate that can be used to create scheduled or on-demand backups without having to access the server database directly. The backups (files and database) should be run before any changes, and regularly to capture content.

Likewise, WordPress has a wp-config.php file and wp-content folder.  There are also backup plugins that can automate copying the database and files.

If automated backups are saved on the same server, they should be regularly copied offsite in case of server or hosting problems.

Add new features and maintain

There are always new requirements and technology that may require additions to a site without a major redesign.

Content should be reviewed regularly (the Management of the CMS) and analytics monitored to see if your audience is consuming your content as expected, or if things need to be rearranged.

More reading:

https://www.inc.com/aj-agrawal/why-your-website-is-never-truly-finished....