With more than 75 million websites powered by WordPress, it is currently the most commonly used web platform in the world. The popularity of the platform is largely due to an interface that enables people with minimal software development experience to create functional and dynamic websites. The shallow learning curve is the reason why a large proportion of websites are built on this Content Management System (CMS). However, WordPress users who aren’t software developers often overlook some crucial systems-level WordPress setup steps.
In this blog, we will explain how to enable WordPress backups, restores, and version control. In addition to a general overview of these key maintenance activities, we will look into some relevant WordPress plugins that even the most basic user should be familiar with. Regardless of the nature of your site, these procedures will help you keep it up and running smoothly at all times.
The underbelly of the web contains a large number of threats that create a turbulent and risky environment for any website. These threats range from external security threats to software component incompatibilities. Having your website backed up before software updates and substantial content changes can result in substantial time and money savings. The old saying holds true in these situations - an ounce of prevention is worth a pound of cure.
Two essential parts of your site that need regular backups are the WordPress database and the wp-content folder. These two parts of the website contain the data related to your pages, posts, categories, users, themes, customizations, plugins, and uploads. A wide variety of approaches exist for backups, including:
WordPress backup plugins. Some of the most popular plugins include WP-Clone, BackUpWordPress, Duplicator, BackWPup, and WP-DB-Backup. My personal favorites are WP-Clone and Duplicator, for regular backups and portability-dependent backups, respectively.
Third-party backup, migration, deployment, and restoration services. These services typically involve a fee but handle the vast majority of the work. Examples include VaultPress/Jetpack and BackupBuddy. However, website backups are something you want to control and understand. Utilizing these third-party services often results in poor control and poor understanding.
Backup services provided by your hosting company. While hosting service companies are typically not experts in the WordPress CMS, they are often able to do server-level backups of your site. These server-level services can provide a nice complement to WordPress backup solutions.
Advanced backup solutions. There are a variety of tools available for advanced backup methods which offer the most control over the process and the data. For example, power users who are particularly tech-savvy may utilize FTP clients, cron jobs, or automation servers in setting up a backup system.
Be sure to keep any backups in the cloud or in a physically separate location from the production system. Of course, a backup is of little use if it is destroyed in the same server or data center incident as the production system.
Hopefully, you will never need to deal with a site crash, but if the worst happens and your site does crash, you will certainly be glad that you set backups. The approach to restoring your site will depend on the nature of your backups as well as the level of system failure. Essentially, your website can break in one of three ways:
1. A component failure within WordPress
2. A failure of the WordPress system as a whole
3. A failure of the web server itself
For Level 1 failures, the site can often be restored by selecting a backup and clicking a “Restore” button. For Level 2 failures, restoring your website may involve some WordPress installation work, FTP file transfers, and database configuration (for example, through phpMyAdmin). Advanced users may be able to handle this level of website failure; however, it may be problematic for those with less technical expertise. With BackupBuddy and backend server access, for example, you can download a copy of importbuddy.php, then upload it to the web server, and then point a browser to this PHP file and restore the site.
Be aware: it is not uncommon for software updates to break specific WordPress plugins or site features. This would type of failure could be called a “Level 1” failure, as described in the previous section. However, these failures may not require a full-site restore. Rather, you can often rectify the errors using one of these options:
1. Use built-in WordPress rollback capabilities. Some parts of WordPress have these capabilities build in. For example, changes to the content of pages are tracked and can be rolled back within the page editor interface.
2. Use the WP Rollback plugin or a similar approach. This plugin allows you to downgrade to a previous plugin or theme version - a version that you are sure does not produce the problematic behavior.
3. Use advanced rollback tools to redeploy a previous version of the specific software component which is causing problems. For advanced users, these versions can be tracked with version control systems like Git.
Version control is a staple of managing code. While version control is sometimes built into WordPress features (such as the page editor), power users may elect to use an independent system to enable much more extensive control over the versioning of sites, software components, features, themes, plugins, and more. Version control is a “must have” for professional programmers. WordPress users that choose not to utilize version control systems are missing out on valuable system insights and control.
Imagine having a clean and complete record of all the changes to your website. If the need ever arises to use a previous version of any site component, that can be accomplished with ease. For example, maybe your team would like to go back to an old survey system from last year, while keeping the current version of other site features. This is easy to accomplish with an expertly implemented version control system.
According to the 2018 Stack Overflow Developer Survey, 87% of software developers use the Git version control system, making it the most popular by a vast margin. In addition to tight control over software versioning, Git allows teams (even distributed teams) to collaborate on a web development project. Individual developers can work on specific features, then merge their work into the larger code base. For those that aren’t familiar with the Git technology, WordPress plugins can enable some of the Git version control functionality. VersionPress, Gitium, and WordPress GitHub Sync are all designed to take version snapshots of your site. Often, Git-based version control systems utilize GitHub, which is a site that stores Git repositories in the cloud.
By putting the right website version control, backup, and restore systems in place, you can save yourself a lot of headaches down the road. It is a digital economy, and digital assets should be thoughtfully managed.To ensure your site continues to provide value for your organization, feel free to reach out to us at firstname.lastname@example.org. From system design to system retirement, we can help maximize the value of your digital assets.
Plugins Mentioned in Article