It’s Thursday and you are working on a website project (new feature, maybe a new set of pages…does it matter?) with a tight deadline on Friday. Did I mention it’s already 11PM and you have to show this project at 8AM tomorrow? You’ve been struggling to get that one thing working (you know the one) and you’ve already drank a whole pot of coffee over the last 3 hours trying to figure it out. The sweat, tears, and pure frustration are palpable at this point. You launch another test that you are pretty almost kinda sorta hopefully sure will work this time. You reload the website to see the result.
500 Error…5…0…0…Error…
HOW? (That means it didn’t work for those of you who were possibly unsure.) You go back to try to undo, but the backend of the site won’t load now. You check other pages on the frontend of the site. No dice. What did you do?! You look at the code you wrote. It looks right. There are only 2743 lines of code. I’m sure you will find the error…relatively quick…and it’s only 12:48AM now…
You know what might have helped in this situation? Having a backup.
Different Layers of Backups
I prefer the WordPress framework for building websites, but there are many options that range from incredibly simple to ridiculously complex. Whatever or however you decide to build your website or project, the same principle applies: make backups (a lot).
It is difficult to go over every single software or backup service available, but we will touch on the types of backups you can utilize (with a few examples) to help you to prevent that “starting over from the beginning” anxiety. While there are other options and possible types of solutions, the big three backup types are: solutions built-in to the website framework, followed by server side solutions, and finally any third-party service solutions.
Built-In Framework Solutions
Many frameworks, like WordPress, come with built-in backup features. WordPress calls their main feature “Revisions”. Each page or post can have Revisions turned on which saves a version of the content after each update you make. If something breaks, you can roll back to a previous version of the page or post.
Other frameworks have similar features, but this type of backup comes with some downfalls. The backup happens only when you update a page. So, if you work on content changes for 2 hours and then finally update, you may lose 2 hours of work if you need to roll back to the previous version of the page. The longer you take between updates, the more time and work you lose.
Timed Automated Content Backups
Sometimes you have the option to set a timer to determine when to create a Revision. This option is useful, but you run the risk of having too many backups that are the exact same, clogging up your server space. This usually leads to setting a larger increment of time between automatic updates, but then you run into the first problem again.
Auto-Saving Content Backups
Some frameworks split the difference and offer this type of backup as an auto-saving feature. If you stop typing or doing some kind of content edit, it automatically saves. This solves the problem of multiple Revisions that are exactly the same with no new changes, and it saves you if you forget to update for long periods of time, but it also requires that you check your work more regularly or you will have to sift through many smaller Revisions to find the one that you need to roll back to.
Server Side
Backups made inside of the website framework are helpful to save you when you are working on a single page update, but to restore your entire website, you will need a larger solution. Most websites have two parts that you need to backup in case the entire website crashes and you need to restore it: the files and the database. This is where server side backups come into play.
Whether you host your websites on a dedicated server, a virtual server, or with a website hosting company, there is most likely a full site backup feature available. Using this feature will take a complete backup of all the files and the database at that moment allowing you to restore your website to the backup’s creation date.
Timed Automated Full Site Backups
Some website hosting companies will allow you to set a time interval to automatically create backups. Others require you to manually login initiate the backup creation. You should try to make sure you backup the full website at least 1 time per month and also whenever you make major updates to your website (think updates to plugins, software, or large features and content on your website). This will save you if anything happens during a major change, allowing you to rollback to right before you launched the update. It will also provide you with at least 1 full site backup per month, available for you to rollback to if a virus or hack attacks your site.
Manual Full Site Backups
If your website host or server doesn’t have a backup feature (for some odd reason), you can always manually backup (like…before the industrial revolution kind of manually) by downloading a copy of all of your website’s files and exporting a copy of your website’s database, then compressing everything into a .zip (or even better, .gzip) folder to save on storage space. Keep those compressed folders dated and organized somewhere in case you ever need to restore your website.
Incremental Site Backups
Some Server Side backup solutions allow you to save storage space by creating incremental backups. This means that instead of making a full website backup of the files and database, the service will only create a smaller backup of any changes, along with the full database. If your website has a lot of images, videos, or larger files then this type of backup will ensure you can still restore the entire website after a major change. You won’t have to worry about each backup taking up a large portion of your available storage space.
Third-Party Services
The final type of backup we are going to cover are Third-Party Service backups. These types of backups are usually paid, or very simple if they are free. They involve a separate service taking a snapshot (think a screenshot, but instead of a picture it’s a full webpage) of any pages you request to backup. The more pages you request to backup, usually the more expensive the service cost.
A good (and popular) example of this type of service is The Wayback Machine (now owned by The Internet Archive). You can enter a website URL and it will show any dates that a snapshot was made of that webpage. You can view the page as if it were still live on the real website.
This is useful if you ever need to access content that you created too long ago to restore via a backup, or if you ever need to access content for pages that are no longer accessible (perhaps your hosting account was accidentally deleted in a random magnetic tragedy due to a solar flare event that wiped out all the hosting company’s servers…). I have happily used the Wayback Machine’s service multiple times in the past and always make a habit to go there at least once a month or so and tell it to archive (take a snapshot) all of my website’s main pages. It is tedious, but worth it.
Other paid services will do the same thing, but automate the process and crawl through all of the pages more thoroughly when taking snapshots.
Do Your Research
While these are the most common types of backups, they are not the only ones. You can utilize other systems such as version control backup systems like GIT to take your backups to a higher level. The three types mentioned above, however, are sufficient for most website setups. I recommend to use all three types of backups whenever possible. The more backups and types of backups you have, the safer you will be if you ever need to restore content on your website. Take time to explore what backup features are built-in to your website creation framework, provided by your website hosting service, and available by third-party services. You may not need to spend any money to guarantee your data is safe from destruction and data loss.