You’ll make two files you can store safely outside your hosting account:
Website files backup (your site’s document root, usually
public_html)Database backup (your MySQL/MariaDB database exported as an
.sqlfile)
At the end, you’ll also learn how to verify the backup is usable.
What this backup includes (and what it doesn’t)
✅ Includes
Your website files (themes, plugins, uploads/images, custom code,
.htaccess, etc.)Your database content (posts/pages/products/users/settings—depending on your site software)
❌ Does not automatically include
Email mailboxes and messages
DNS zone settings
SSL certificates (usually auto-managed)
cPanel account settings, cron jobs, or server-level configs
If you need those too, you can still start with the steps below—your website + database are the core of a restorable site.
Before you start: 2 quick checks
1) Confirm your site’s document root (important if you have multiple domains)
Most sites live in:
public_html/
But add-on domains or subdomains may live in a folder like:
public_html/yourdomain.com/or another path
In cPanel, you can usually confirm this under Domains (look for Document Root).
2) Make sure you have enough space to create a ZIP
If your site is large, compressing files can temporarily require extra space on your hosting account before you download the ZIP.
Step 1 — Back up your website files (download public_html)
Method A (recommended): File Manager → Compress → Download
Log in to HostBible cPanel
Open File Manager
In the left sidebar, open your site’s folder:
Usually
public_htmlOr your domain’s document root folder (if different)
Select the files/folders you want to back up
If your whole site is inside
public_html, you can back up everything in it.
Click Compress (or Compress…)
Choose Zip Archive
Name your file using a clear format, for example:
mydomain.com_files_2025-12-15.zip
Click Compress Files
When it finishes, locate the ZIP in File Manager, select it, then click Download
Clean-up (recommended)
After downloading, you can remove the ZIP from your hosting account to save space:
Select the ZIP → Delete
✅ Tip: A ZIP made inside File Manager typically includes hidden files like .htaccess (good).
Method B (optional): Download via FTP
If compressing is slow or your site is extremely large, FTP can work—just note it may take longer and create many files locally.
Step 2 — Back up your database (export from phpMyAdmin)
Most dynamic sites (WordPress, WooCommerce, Joomla, etc.) require the database to restore correctly.
A) Find your database name (quick ways)
Option 1: Check your site config file
Common examples:
WordPress:
public_html/wp-config.php→ look forDB_NAMEOther apps have a config file that contains database name/user
Option 2: Use cPanel → MySQL Databases
In cPanel, open MySQL Databases to see:
Databases
Database users
Which user is assigned to which database
B) Export the database in phpMyAdmin
In HostBible cPanel, open phpMyAdmin
In the left sidebar, click your database name
Make sure you click the database, not just a table.
Click the Export tab
If your database is small/medium:
Choose Quick
Format: SQL
Click Export
Your browser will download a file ending in.sql
If your database is large (recommended settings):
Choose Custom
Format: SQL
Enable compression if available (often gzipped) to reduce size
Optional but helpful for restores:
Add DROP TABLE / VIEW / PROCEDURE / FUNCTION (so imports overwrite cleanly)
Click Export
Name it clearly, for example:
mydomain.com_db_2025-12-15.sql
or (if gzipped):mydomain.com_db_2025-12-15.sql.gz
Multiple databases?
Repeat the export for each database your site uses.
Step 3 — Store your backup offsite (safe storage rules)
An “offsite” backup means it’s stored somewhere other than your hosting account.
Recommended storage approach (simple + reliable)
Keep at least 2 copies in different places, for example:
A local copy on your computer
A second copy on external storage or secure cloud storage
Safety checklist
✅ Do not store backups inside
public_html(that can expose them publicly)✅ Keep backups in a private, access-controlled location
✅ Consider encrypting backups if they contain customer data, user details, or private content
✅ Keep more than one version (so you can roll back if needed)
Good naming convention
Use dates so you can quickly identify the newest backup:
mydomain.com_files_YYYY-MM-DD.zipmydomain.com_db_YYYY-MM-DD.sql(or.sql.gz)
Step 4 — Verify the backup is usable (don’t skip this)
A backup is only valuable if it can be restored.
Quick verification (takes 2–5 minutes)
Verify the site files ZIP
Confirm the ZIP downloaded completely (not 0 KB)
Open it on your computer and check it contains expected folders/files like:
wp-content/(WordPress sites)images/,uploads/, themes/plugins folders.htaccess(often present)
Spot-check that there are many files and realistic folder sizes
Verify the database export
Confirm the
.sql/.sql.gzfile isn’t emptyOpen it with a text editor (or a SQL viewer) and look for:
CREATE TABLEINSERT INTO
These indicate it contains both structure and data.
Best verification (recommended): Do a test restore in a safe location
If you want real confidence, do a test restore without affecting your live site.
High-level test restore plan
Create a test folder (or staging subdomain) in your hosting account
Upload and extract your files ZIP into that folder
Create a new database + user in cPanel (MySQL Databases)
Import your
.sqlfile into that new database using phpMyAdmin → ImportUpdate your site’s config file to point to the new database credentials
Load the test site and verify key pages work
Common config updates
WordPress: edit
wp-config.php:DB_NAMEDB_USERDB_PASSWORDDB_HOST(usuallylocalhost)
✅ If you can log in and browse pages on the test copy, your backup is genuinely restore-ready.
Suggested backup frequency
A good rule of thumb:
Content changes daily (blogs, stores, bookings): back up weekly (or more often)
Changes occasionally: back up monthly
Before any major update: always take a fresh backup
Also back up before:
Plugin/theme updates
Site redesigns
Migration changes
Troubleshooting
“Compress” is slow or fails
Try compressing smaller batches (e.g.,
wp-content/uploadsseparately)Delete old archives you no longer need
If needed, use FTP instead of compression
Database export times out
Use Custom export + compression (gzip)
Export during off-peak hours if possible
If the database is extremely large, export may need chunking (contact support if you hit hard limits)
Download keeps stopping
Try a different browser
Download during a stable connection window
If the ZIP is huge, consider FTP for files + compressed DB export
Quick checklist (copy/paste)
Confirm your site’s document root (
public_htmlor domain folder)File Manager → Compress to ZIP → Download (
*_files_YYYY-MM-DD.zip)phpMyAdmin → Export database as SQL (
*_db_YYYY-MM-DD.sqlor.sql.gz)Store copies offsite (not in hosting)
Verify ZIP opens and contains expected files
Verify SQL contains
CREATE TABLE/INSERT INTO(Recommended) Perform a test restore in a staging folder/subdomain
