Domain Migration
This guide helps you move your Botble CMS website to a new domain, subdomain, or server. It is written for all users, including those without technical experience. Most steps use your hosting control panel (cPanel, DirectAdmin, Plesk, etc.) — no command line required.
Before You Start
Important
Your license is tied to your domain. You must deactivate it before migrating.
1. Deactivate Your License
- Log in to your Admin Panel
- Go to Settings → General
- Click Deactivate License
- You will reactivate it on the new domain later
If you forget this step, you can reset your license at https://license.botble.com.
2. Create a Full Backup
Using the Admin Panel (recommended):
- Go to Admin Panel → System Administration → Backups
- Click Create
- Download the backup file to your computer — do not skip this step
Using your hosting panel:
Most hosting panels (cPanel, DirectAdmin, Plesk) have a Backup or Backup Wizard tool. Use it to create a full backup that includes both files and database. Download it to your computer for safekeeping.
3. Write Down Your Current Settings
Before migrating, take note of:
- Your active theme name
- Which plugins are activated
- Any third-party integrations (payment gateways, email services, analytics, etc.)
Migration Guide (Step by Step)
Step 1: Set Up Hosting for the New Domain
- Purchase or set up hosting for your new domain
- Make sure the hosting meets these requirements:
- PHP 8.2 or higher
- MySQL 8.0+ or MariaDB 10.3+
- Point your new domain's DNS to the new hosting server (your hosting provider can help with this)
Step 2: Upload Your Website Files
Option A: Using hosting panel File Manager
- On your old hosting, go to File Manager
- Select all files in your website's root folder (usually
public_html) - Compress them into a ZIP file
- Download the ZIP file to your computer
- On your new hosting, go to File Manager
- Navigate to the website root folder (usually
public_html) - Upload the ZIP file
- Extract it
Option B: Using hosting panel Backup & Restore
Some hosting panels let you restore a full backup directly. If your new hosting uses the same panel (e.g., both use cPanel), you may be able to restore your full backup from Step 2 directly.
Step 3: Move Your Database
Export from old hosting:
- On your old hosting, open phpMyAdmin (found in your hosting panel)
- Select your website's database from the left sidebar
- Click the Export tab
- Keep the default settings (Quick export, SQL format)
- Click Go — a
.sqlfile will download to your computer
Import to new hosting:
- On your new hosting, create a new database and a database user (use the MySQL Databases tool in your hosting panel)
- Open phpMyAdmin on the new hosting
- Select the new empty database from the left sidebar
- Click the Import tab
- Choose the
.sqlfile you downloaded - Click Go
TIP
If your database file is too large for phpMyAdmin, ask your hosting provider for help or use the Import feature in your hosting panel's backup tool.
Step 4: Update the .env Configuration File
The .env file is in your website's root folder. Edit it using File Manager in your hosting panel:
- Open File Manager → navigate to your website root
- Find the
.envfile and click Edit - Update these lines:
APP_URL=https://your-new-domain.com
DB_DATABASE=your_new_database_name
DB_USERNAME=your_new_database_user
DB_PASSWORD=your_new_database_password- Save the file
Step 5: Update Old Domain URLs in the Database
Your database may still contain references to your old domain (in page content, settings, etc.). You need to replace them.
Using phpMyAdmin:
- Open phpMyAdmin on your new hosting
- Select your database
- Click the SQL tab
- Run these queries one at a time (replace
old-domain.comandnew-domain.comwith your actual domains):
UPDATE settings SET value = REPLACE(value, 'old-domain.com', 'new-domain.com')
WHERE value LIKE '%old-domain.com%';UPDATE media_files SET url = REPLACE(url, 'old-domain.com', 'new-domain.com')
WHERE url LIKE '%old-domain.com%';UPDATE pages SET content = REPLACE(content, 'old-domain.com', 'new-domain.com')
WHERE content LIKE '%old-domain.com%';UPDATE posts SET content = REPLACE(content, 'old-domain.com', 'new-domain.com')
WHERE content LIKE '%old-domain.com%';- Click Go after each query
TIP
If your old site used http:// and your new site uses https://, also replace http://old-domain.com with https://new-domain.com.
Step 6: Enable SSL (HTTPS)
Most hosting panels offer free SSL certificates:
- In your hosting panel, look for SSL/TLS, Let's Encrypt, or Security section
- Enable or install a free SSL certificate for your new domain
- Make sure
APP_URLin your.envfile starts withhttps:// - Also add this line to
.envif not already present:
ENABLE_HTTPS_SUPPORT=trueStep 7: Clear the Cache
After migration, you need to clear cached data:
- Visit
https://your-new-domain.com/admin - Go to System Administration → Cache Management (if available)
- Click Clear All Cache
If the admin panel doesn't load, try deleting the cache files manually:
- Open File Manager in your hosting panel
- Navigate to
bootstrap/cache/ - Delete all files inside this folder (do not delete the folder itself)
- Navigate to
storage/framework/cache/ - Delete all files inside this folder too
Step 8: Activate Your License
- Go to Admin Panel → Settings → General
- Enter your purchase code
- Click Activate
If activation fails:
- Go to https://license.botble.com
- Reset your license
- Try activating again
After Migration: Verify Everything Works
Check the following on your new site:
- [ ] Homepage loads correctly
- [ ] Admin panel is accessible
- [ ] All pages and posts display properly
- [ ] Images and media files show up
- [ ] Forms work (contact form, login, etc.)
- [ ] Email notifications are sent
Update External Services
If you use any of these, update your domain in their settings:
- Google Analytics / Google Search Console
- Social media accounts (Facebook, Twitter, etc.)
- Payment gateways (PayPal, Stripe, etc.)
- Email services (Mailchimp, SendGrid, etc.)
Alternative: Fresh Install Method
If you prefer to start clean instead of moving your old site:
- Install Botble CMS on your new domain using the installation guide
- Activate your license
- Install the same plugins
- Manually recreate your content, or export/import your pages and posts through the admin panel
This method is simpler but requires you to reconfigure all settings, menus, widgets, and theme options.
Troubleshooting
Images Not Showing
- Check that the
storage/app/publicfolder was uploaded correctly - In File Manager, check if
public/storageexists and points tostorage/app/public. If not, ask your hosting provider to create a symbolic link (symlink).
500 Internal Server Error
- Check that
.envhas correct database credentials - Make sure
storage/andbootstrap/cache/folders have write permissions (set to755or775via File Manager → Permissions) - Open
storage/logs/laravel.login File Manager to see the error details
Mixed Content Warnings (HTTP/HTTPS)
- Make sure
APP_URLin.envuseshttps:// - Add
ENABLE_HTTPS_SUPPORT=trueto.env - Run the URL replacement queries from Step 5
License Activation Failed
- Deactivate the license on the old domain (if still accessible)
- Reset your license at https://license.botble.com
- Clear your browser cache
- Try again
Database Connection Error
- Double-check
DB_DATABASE,DB_USERNAME, andDB_PASSWORDin.env - Make sure the database user has all privileges on the database (check in your hosting panel under MySQL Databases)
If Something Goes Wrong
Don't panic! You have your backup from Step 2.
- Restore files from your backup using your hosting panel's Backup tool or File Manager
- Restore the database using phpMyAdmin (import your backup
.sqlfile) - Update
.envback to your old domain settings - Reactivate the license on your old domain
TIP
For help with domain migration, contact our support team at [email protected] or create a ticket at https://botble.ticksy.com.
