Sites are lost in ordinary ways: a bad edit nobody can undo, a closed account, an expired domain, a deleted database or a lost password. A backup you have never tried to restore is a hope, not a plan.
This guide shows a simple routine that a non-technical owner can keep up, and how version history and backups differ and complement each other.
Keep at least three copies of what matters, on two kinds of storage, with one stored away from the main system. For your site that means version history, a GitHub copy and a downloaded copy of the code, plus your data and domain details.
Version history is not a backup
Version history lets you step back to an earlier state after a mistake, such as an edit that broke the layout. A backup is a separate copy that survives even if the account, project or platform has a problem. You want both: history for daily slips, backups for disasters.
The 3-2-1 rule, applied to a site
Three copies, two kinds of storage, one off-site. For a site built with Uttra that can look like this:
- Copy one: the live project with its edit history.
- Copy two: a GitHub repository connected through GitHub sync, so every change is kept outside the builder.
- Copy three: a full code download saved to your computer or an external drive, dated.
- Data: if the site stores orders or messages, export them regularly in a readable format such as CSV.
What code backups do not include
Code is only part of a site. Also note down where your domain is registered and when it renews, the DNS records, the email provider, and the list of services you connect with their account owners. Keep secret keys in a password manager, not in the repository. An expired domain is one of the most common and most avoidable losses.
A routine you will actually keep
Pick a rhythm that matches how often the site changes: after each big change, plus a monthly reminder. Name downloads with the date. Twice a year, practise a restore: open the downloaded copy or the GitHub repository and confirm it contains what you expect.
To set it up with Uttra, you can say: "Connect this project to my GitHub repository and keep it in sync, and tell me how to download the full code." Do this before a major redesign, not after.