
A backup is not proven useful when a job reports success. It is proven useful when the required data can be restored within an acceptable amount of time. Website owners often discover gaps only after a failed update, compromised account, accidental deletion, or server failure.
A typical dynamic website needs both its files and its database. Files may include application code, uploads, themes, plugins, and configuration. The database may contain posts, settings, customer records, orders, or other application state. Email may be a separate service and require its own backup plan.
| Data | Why it matters | Restore consideration |
|---|---|---|
| Website files | Application code and uploaded content | Preserve ownership and permissions |
| Database | Content, settings, and transactions | Use a consistent export and matching files |
| Configuration | Database credentials and runtime settings | Protect secrets and document required values |
| Messages and mailbox state | May be outside the website backup scope | |
| DNS records | Service routing and authentication | Keep an independent record of the zone |
Two useful concepts are the recovery point objective (RPO) and recovery time objective (RTO). RPO describes how much recent data the business can afford to lose. RTO describes how long the service can be unavailable before recovery is required. A personal blog and an online store may have very different requirements.
These objectives help determine backup frequency, retention, and restoration procedures. A daily backup may be adequate for a site that changes rarely, but it may be insufficient for a store receiving orders throughout the day.
Keep backups separate from the live account when practical. If a compromised hosting account can delete both the site and every backup, the recovery plan has a single point of failure. Consider an independent destination and access controls that prevent routine website credentials from deleting historical copies.
Encryption may be appropriate for backups containing personal or business data. Protect encryption keys separately and document how authorized administrators can retrieve them during recovery.
Retention determines how many recovery points are kept and for how long. A useful policy may keep frequent recent copies and less frequent older copies. The exact schedule depends on storage cost, change rate, legal or business requirements, and how long problems may go unnoticed.
Check that jobs complete, expected files exist, archive sizes are plausible, and database exports are not empty. Where possible, use checksums or the backup system’s verification features. A successful transfer does not guarantee that the archive can be extracted or that the database dump can be imported.
Restore to a separate environment rather than overwriting production during a test. Verify that the application starts, the database connects, important pages load, uploads are present, and authentication works. For ecommerce or other transactional applications, validate data consistency using safe test procedures.
Backup archives may contain database credentials, user data, and private files. Do not store them in a publicly accessible directory. Restrict access, use secure transfer, and remove temporary copies after restoration. Avoid sharing raw backups with contractors unless the data and access method have been reviewed.
The backup schedule should reflect how quickly important data changes. A site that publishes one article a month may tolerate a different recovery point than a store that receives orders every few minutes. If the site accepts transactions, consider whether database backups are frequent enough and whether the backup method produces a consistent snapshot.
A restore may require more than files and a database. Record the PHP version, required extensions, web-server rules, scheduled tasks, DNS settings, and external integrations. Keep configuration secrets protected, but ensure authorized recovery personnel know how to retrieve them. Without this information, a technically complete backup may still take hours longer to restore.
Write the restore procedure as a sequence that another administrator can follow. Include where to obtain the backup, how to verify it, how to prepare the destination, and how to test the restored application before switching traffic. Record expected durations and any manual steps. Update the procedure whenever the application or hosting environment changes.
A single successful restore is useful evidence, but periodic testing catches changes in credentials, storage access, software versions, and procedures. Test after major architecture changes and at a frequency appropriate to the site’s importance. Keep test restores isolated so they do not send live email, process real payments, or overwrite production data.
Backups are an operational capability, not a checkbox. Define what must be recovered, keep copies outside the failure domain, verify them, and practice restoration. The time to discover a missing backup is not during an outage.