- Before You Start: What You Must Collect
- Migration Method Overview
- Step 1: Create the Destination (New Site Space)
- Step 2: Backup and Download Website Files (Old Host)
- Step 3: Upload Website Files to Hosticko
- Step 4: Export the Database (If Your Site Uses One)
- Step 5: Create a Database on Hosticko and Import
- Step 6: Update Website Configuration
- Step 7: Test the Website Before DNS Cutover
- Step 8: Switch DNS (The Cutover)
- Step 9: Enable SSL and Force HTTPS
- Email Migration (Optional but Important)
- Final Checklist (Zero-Drama Migration)
- Need Help?
- Related Hosticko Services
- Helpful External References
A manual website migration means moving your website by hand, copying files, transferring databases, updating configuration, testing on the new server, and then switching DNS. It takes a bit more effort than automated tools, but it’s the most flexible method because it works for almost any website: WordPress, custom PHP, Laravel, HTML sites, and even multi-site setups.
This Hosticko guide is a complete step-by-step checklist to migrate your site safely with minimal downtime.
Before You Start: What You Must Collect #
- Old hosting access: cPanel/DirectAdmin (or at least FTP/SFTP) and database access.
- New hosting access: your Hosticko cPanel or DirectAdmin login.
- Database credentials: database name, username, and password (from your site config).
- DNS access: where your domain nameservers or DNS zone is managed.
- Maintenance plan: avoid publishing changes during migration (or plan a quick “final sync”).
Migration Method Overview #
Almost every manual migration follows the same flow:
- Copy website files from old server to new server.
- Export and import the database (if your site uses one).
- Update configuration (database credentials, paths, URLs).
- Test on Hosticko before DNS cutover.
- Switch DNS and enable SSL.
Step 1: Create the Destination (New Site Space) #
On Hosticko, decide where the site will live:
- Main domain (root):
public_html - Add-on domain or subdomain: created via cPanel/DirectAdmin and assigned a folder (document root)
Best practice: Create the domain/subdomain first so the correct folder structure exists and permissions are consistent.
Step 2: Backup and Download Website Files (Old Host) #
You can transfer files using any of the following:
- File Manager (cPanel/DirectAdmin): compress the site folder into a ZIP, then download.
- FTP/SFTP: download the full site directory.
- SSH/rsync (advanced): fastest for large sites.
What to Copy #
- The website document root folder (often
public_htmlor domain folder) - Hidden files like
.htaccess(important for redirects and permalinks) - Any custom config files (framework configs, environment files, etc.)
Step 3: Upload Website Files to Hosticko #
Upload the ZIP or files into the destination folder on Hosticko:
- cPanel: File Manager → Upload → Extract
- DirectAdmin: File Manager → Upload → Extract
Common mistake: Uploading the folder itself instead of its contents (this causes URLs like /public_html/public_html). Your site files should sit directly in the document root.
Step 4: Export the Database (If Your Site Uses One) #
If your website is dynamic (WordPress, Laravel, PHP apps), it likely uses a MySQL/MariaDB database.
- On the old host, open phpMyAdmin.
- Select your site database.
- Click Export → choose “Quick” (or “Custom” for large DBs).
- Download the
.sqlfile (or.sql.gzif compressed).
Step 5: Create a Database on Hosticko and Import #
- On Hosticko, create a new database + user:
- cPanel: MySQL Databases
- DirectAdmin: MySQL Management
- Assign the user to the database with ALL PRIVILEGES.
- Open phpMyAdmin on Hosticko → select the new database → Import.
- Upload your
.sqlfile and start import.
For big databases: If import fails due to size/timeouts, ask Hosticko support to import it from the server side (it’s faster and avoids browser limits).
Step 6: Update Website Configuration #
Now update your website to use the new Hosticko database credentials.
WordPress #
Edit wp-config.php inside your WordPress root and update:
DB_NAMEDB_USERDB_PASSWORDDB_HOST(usuallylocalhoston shared hosting)
Laravel / Custom PHP #
- Laravel: update
.envdatabase variables and clear config cache if needed. - Custom PHP: update your config file where DB credentials are stored.
Step 7: Test the Website Before DNS Cutover #
Testing first avoids downtime and lets you fix issues before the public traffic hits the new server.
What to Test #
- Homepage and key pages load without errors
- Login works (admin panels)
- Contact forms submit properly
- Images/CSS/JS load correctly
- Permalinks/pretty URLs work (WordPress: Settings → Permalinks → Save Changes)
Common Errors During Testing #
- 500 Internal Server Error: broken .htaccess, wrong PHP version, missing extensions
- Error establishing database connection: wrong DB credentials or missing DB privileges
- White screen: plugin/theme issue, PHP memory limit, fatal error in logs
Step 8: Switch DNS (The Cutover) #
Once the site works properly on Hosticko, switch DNS using one of these methods:
- Nameservers: change your domain nameservers to Hosticko’s (if you want Hosticko to manage DNS).
- A record: point the domain to Hosticko server IP (if DNS stays with your registrar/Cloud DNS).
DNS propagation can take time depending on TTL and networks. During propagation, some visitors may still land on the old server temporarily.
Step 9: Enable SSL and Force HTTPS #
- Issue SSL (AutoSSL / Let’s Encrypt, depending on plan)
- Update site URL to HTTPS (WordPress Settings → General)
- Force HTTPS via plugin or server redirect (avoid double redirects)
Email Migration (Optional but Important) #
If your domain email is hosted with your old provider, remember: moving the website does not automatically move mailboxes. You’ll need to:
- Create the same email accounts on Hosticko
- Migrate existing emails (IMAP migration or manual client sync)
- Switch MX records to Hosticko when ready
Final Checklist (Zero-Drama Migration) #
- ✅ Files copied to correct document root
- ✅ Database imported successfully
- ✅ Config updated with new DB credentials
- ✅ Site tested before DNS
- ✅ DNS updated (A record or nameservers)
- ✅ SSL enabled and HTTPS verified
- ✅ Email migration planned (if applicable)
Need Help? #
If you want Hosticko to verify your migration steps, troubleshoot errors, or handle a large database import, submit a support ticket here:
https://client.hosticko.com/submitticket.php
