Back up your website’s source, record its hosting configuration, and make a separate recovery plan for accounts, secrets, and external data. Keep a dated copy you can access independently of the live host, then test restoring it in a safe environment. A ZIP of website files does not automatically include a form service’s submissions, a database, or your business email.
What needs to be included in a website backup?
Start with a recovery inventory rather than assuming one download contains the entire system. For each item, write where it lives, who controls it, how to recover it, and when recovery was last tested.
- Website source: committed HTML, styles, scripts, images, configuration files, and dependency lockfiles when the project uses them.
- Version information: repository, branch, known-good commit, and corresponding production deployment.
- Hosting settings: project name, production branch, build command, output directory, and required runtime version.
- Domain and DNS: registrar, DNS provider, relevant records, renewal ownership, and account recovery route.
- Connected services: forms, email delivery, spam checks, booking, payments, databases, and uploaded files.
- Protected configuration: secret variable names and how the authorized owner can recover or replace their values securely.
Keep passwords, API keys, and private customer information out of public READMEs and ordinary shared checklists. The domain, hosting, and email account map helps identify services that otherwise get overlooked.
Is a GitHub ZIP the same as a full backup?
No. GitHub’s download documentation distinguishes a ZIP snapshot from cloning a repository with its history. A ZIP can preserve the selected version’s files, but it does not give you the repository’s complete revision history.
For repository history, GitHub documents a mirror-clone backup process. Projects using Git Large File Storage need an additional step for those objects. Repository backups also should not be assumed to preserve every associated platform feature, account setting, issue, integration, or secret.
A beginner can begin with a clearly dated source archive and a configuration inventory, then get help establishing a complete history backup when needed. Save the selected commit identifier alongside the archive. Open the downloaded copy and check that expected files and assets are actually present.
Choose storage with access appropriate to the contents. An independent copy addresses a different failure case from another branch in the same account. Do not publish a private source archive merely to make it easier to find.
What does the source repository leave out?
Example: a simple business inquiry site
The page files and images are committed to GitHub. Cloudflare Pages serves them. A server endpoint sends inquiries through an email provider, and submissions may be stored in a separate database.
The repository can restore the committed page code. It does not automatically restore the provider account, current secret values, or records held in that database. Each dependency needs its own recovery method.
Cloudflare’s Pages bindings documentation describes connections to separate services and encrypted secret bindings. Secret values cannot be viewed after they are set, so plan how an authorized owner will securely recover or replace required credentials. Do not commit local secret files as a shortcut.
If the site has a database or user uploads, follow that service’s supported backup and restore process. For example, D1 has a separate import and export workflow with operational limitations. A database export can affect availability, and restoring an older copy can overwrite newer information. Understand those effects before running production operations.
How do you test whether a backup can be restored?
- Choose a known-good copy. Record its date, source commit, and the features expected to work.
- Use a separate location. Unpack or clone into a new folder or appropriately protected test project. Preserve the current site and any newer data.
- Recreate the documented setup. Use the expected build command, output directory, and runtime. Investigate missing files or dependencies instead of silently substituting a different project.
- Use safe test configuration. Keep test submissions and integrations away from real customer workflows. Protect private data before uploading it anywhere.
- Test the restored experience. Open pages directly, check images and navigation, use a phone, and verify the intended form destination.
- Record what remains missing. A page-only recovery may be successful while mail or database recovery still needs work.
A preview address is not automatically private or isolated from production services. Read the preview and production guide before using a hosted preview for recovery testing.
Keep a short result such as: “October 6: source archive restored in an isolated test project; five pages and assets passed; test form reached the test inbox; no production database restored.” That is more useful than a folder named “backup” whose contents have never been opened.
Can Cloudflare Pages rollback replace a backup?
A rollback is a useful way to recover from a bad website deployment. Cloudflare supports rolling back to a previously successful production deployment; preview deployments are not rollback targets.
That operation does not replace an independent source backup or establish that connected data and accounts have been recovered. It also does not correct the repository change that caused the problem. Use the website update and recovery workflow to fix or revert the source before the next deployment repeats the issue.
If the failure is missing customer records, an expired domain, or unavailable account access, changing the deployed files may not address it. First identify which part of the system failed.
How often should you back up a DIY website?
Base the schedule on what changes and how much loss the business can tolerate. Save a recoverable version before a significant release, preserve new original assets, and update the configuration inventory when providers or settings change. Frequently changing customer data needs a plan matched to that data, not merely the website’s publishing schedule.
Assign an owner to check that backups are being created, remain accessible, and can still be restored. Keep more than one useful recovery point when practical so a damaged update does not immediately replace the only good copy. Set retention according to business needs and the sensitivity of the stored information.
Before a real recovery, preserve the current state, understand what may be lost, and get qualified help for consequential data changes. After recovery, repeat the live customer-path checks and document the version now serving customers.
Sources and further reading
- GitHub: Downloading files
- GitHub: Backing up a repository
- Cloudflare: Pages bindings
- Cloudflare: Pages rollbacks
Platform guidance checked October 6, 2026. Examples and checklists are practical recommendations, not measured client results or guarantees.
Build with a process you can maintain
BUILD • PUBLISH • OWN IT is Colby Technologies’ 44-page PDF guide for $99.99 USD, covering a ChatGPT, GitHub, and Cloudflare website workflow. The PDF is protected against editing and allows text copying for permitted use. Colby will personally assist if you get stuck following the guide. Additional hands-on work may carry a fee, with the scope and price agreed before work begins.
Applicable tax is shown at checkout. Third-party service charges are separate. Review the contents and purchase terms before buying.