Migrate from Bluehost to VPSGrid VPS
Moving from Bluehost to VPSGrid is a self-managed migration. VPSGrid provides KVM infrastructure — not automated site imports from Bluehost.
- Backup Bluehost site (cPanel full or partial)
- Provision VPSGrid Linux VPS with adequate RAM
- Install web stack — How to Deploy WordPress on Ubuntu VPS
- Transfer files and database
- Validate on IP, then update DNS A record
- Enable HTTPS — Let's Encrypt SSL with Certbot on VPSGrid
Overview
This guide covers the steps and checks you need on an unmanaged VPSGrid VPS. Guest OS configuration remains your responsibility unless a separate managed product is documented on your account.
VPSGrid provides unmanaged KVM VPS hosting. You are responsible for backups, OS configuration, application data, and guest-level security. VPSGrid manages hypervisor infrastructure, network connectivity, power controls, and billing. Review What Is an Unmanaged VPS at VPSGrid? and Security Responsibilities on Unmanaged VPS before relying on support for guest OS tasks.
Hosted on US-Based KVM infrastructure using NVMe storage.
VPSGrid operates from its US-Based infrastructure datacenter while serving customers across the United States. Plans run on KVM virtual servers on Proxmox VE with NVMe storage. Plan sizes and current pricing appear at checkout on vpsgrid.net — knowledgebase articles do not publish fixed dollar amounts because promotions and tiers change.
Overview: Bluehost shared to VPSGrid VPS
Bluehost bundles WordPress hosting with cPanel, email, and support for shared stacks. VPSGrid offers dedicated resources on unmanaged Linux VPS where you install Nginx, PHP-FPM, and MariaDB. Benefits include root access, custom PHP tuning, and isolation from noisy neighbors — at the cost of operating system maintenance you previously outsourced to Bluehost.
Prepare Bluehost for export
Inventory assets
Document addon domains, subdomains, MySQL databases, cron jobs, and SSL certificates. Bluehost My Sites dashboard lists WordPress installs — note each database prefix (wp_ vs custom).
Create backups
cPanel → Backup generates home directory and database archives. Download locally or push to cloud storage before any destructive steps on Bluehost.
Provision VPSGrid target server
Choose a Linux VPS tier with enough RAM for your WordPress or PHP workload — compare current options at vpsgrid.net checkout. Initial setup: SSH keys (How to Enable SSH Key Authentication), OS updates (Updating Ubuntu, Debian, AlmaLinux and Rocky Linux on VPSGrid), firewall (How to Configure UFW Firewall on Ubuntu/Debian).
Transfer files from Bluehost
SFTP method
Use FileZilla or sftp with cPanel credentials. Target path on VPSGrid: /var/www/yourdomain owned by www-data.
rsync over SSH (if Bluehost SSH enabled)
rsync -avz -e ssh bluehostuser@bluehost-server:~/public_html/ /var/www/example.com/Import MySQL/MariaDB
Export from Bluehost phpMyAdmin or Remote MySQL. On VPSGrid:
mysql -u wpuser -p wordpress < bluehost-export.sqlWordPress URL updates
If domain temporarily pointed elsewhere, run serialized-safe replace. Install WP-CLI on VPSGrid per WordPress docs, then:
wp search-replace "https://old-bluehost-temp.url" "https://example.com" --all-tables --skip-columns=guidTest before DNS
Edit local hosts file or browse via VPS IP with correct Host header using curl:
curl -H "Host: example.com" http://VPS_PRIMARY_IP/DNS cutover without provider guarantee
Lower TTL, schedule maintenance, final sync, switch A record to VPSGrid IP. Propagation varies globally — Checking DNS Propagation for Your VPSGrid Domain helps validate. VPSGrid does not orchestrate DNS for your external registrar.
Bluehost email may use MX records pointing at Bluehost. Do not change MX unless migrating mail — web-only cutover updates A/AAAA for www and apex as needed.
Troubleshooting Bluehost migrations
| Issue | Cause | Fix |
|---|---|---|
| 403 on uploads | Wrong ownership | chown -R www-data:www-data wp-content |
| HTTPS redirect loop | Bluehost SSL plugin | Remove conflicting plugins; use Certbot on VPS |
| Max upload size | PHP limits | Raise upload_max_filesize in php.ini |
| Missing .htaccess rules | Nginx migration | Translate rewrites to Nginx try_files |
Post-migration hardening
Implement Backup Best Practices for VPS Owners, disable unused Bluehost API keys, and review How to Secure Your Linux VPS After First Login. Order additional staging VPS at Linux VPS store for future plugin testing.
DNS TTL and cutover planning
Before migrating from HostGator, Bluehost, DigitalOcean, or any shared host to VPSGrid, lower DNS TTL on records you will change (A, AAAA, CNAME) to 300 seconds (five minutes) at least 24–48 hours before cutover. High TTL values cache old IPs at resolvers worldwide and extend perceived downtime even after you update the authoritative zone.
VPSGrid does not guarantee zero-downtime migrations. You execute file transfers, database imports, and DNS changes. Plan a maintenance window, communicate it to stakeholders, and keep the source site online until you verify the VPSGrid copy.
Staging versus in-place migration
A staging VPSGrid server lets you rehearse imports without touching production DNS. Clone files and database to the staging IP, test checkout flows (WooCommerce), permalinks, and cron jobs, then repeat the procedure on production during cutover. Staging adds cost but reduces rollback risk on unmanaged hosting where you own every step.
Serial number and inode preservation
rsync -avz preserves permissions and timestamps — critical for WordPress uploads and plugin licensing tied to paths. For large media libraries, initial sync may take hours; run incremental syncs until cutover minute, then a final delta sync with minimal write lock on the source database.
Database consistency during export
Logical dumps with mysqldump --single-transaction (InnoDB) avoid long table locks on busy stores. For MyISAM-heavy legacy hosts, schedule exports during low traffic. Always verify row counts and spot-check orders after import on VPSGrid MariaDB.
Email and MX records
Web migration does not automatically migrate email mailboxes. Document MX, SPF, DKIM, and DMARC before changing A records. If email stays at the old provider, only web DNS changes during VPS cutover.
Rollback strategy
Keep the source hosting active with a recent backup until DNS TTL expires and you confirm stability. If critical issues appear post-cutover, revert A records to the old IP and investigate on VPSGrid using logs — support assists with hypervisor and network scope per Security Responsibilities on Unmanaged VPS.
SSL during migration
Obtain Let's Encrypt certificates on VPSGrid only after HTTP resolves to the new server on port 80, or use DNS-01 challenges if HTTP validation is impractical during parallel hosting. Mixed-content warnings after HTTPS often trace to hard-coded http:// URLs in the database — plan search-replace with WP-CLI or similar tools.
Staging VPS rehearsal
Clone migration steps to a staging VPSGrid instance before production cutover. Staging validates import integrity without DNS risk — decommission staging after acceptance or keep for plugin testing.
Maintenance mode during final sync
Enable WordPress maintenance mode or static holding page on source host during final database export to prevent new orders or comments from being lost during cutover.
WHOIS and registrar locks
Ensure domain registrar credentials are accessible before migration weekend. DNS changes fail if registrar locks or expired domains block updates.
CDN and proxy services
If Cloudflare or similar proxies your old host, update origin IP to VPSGrid primary address and purge cache after cutover to avoid stale content.
Post-cutover monitoring
Watch error logs for 48 hours after DNS change. Spike in 404 or 502 errors often indicates incomplete URL replace or PHP-FPM misconfiguration.
Staging VPS rehearsal
Clone migration steps to a staging VPSGrid instance before production cutover. Staging validates import integrity without DNS risk — decommission staging after acceptance or keep for plugin testing.
Maintenance mode during final sync
Enable WordPress maintenance mode or static holding page on source host during final database export to prevent new orders or comments from being lost during cutover.
WHOIS and registrar locks
Ensure domain registrar credentials are accessible before migration weekend. DNS changes fail if registrar locks or expired domains block updates.
CDN and proxy services
If Cloudflare or similar proxies your old host, update origin IP to VPSGrid primary address and purge cache after cutover to avoid stale content.
Post-cutover monitoring
Watch error logs for 48 hours after DNS change. Spike in 404 or 502 errors often indicates incomplete URL replace or PHP-FPM misconfiguration.
Staging VPS rehearsal
Clone migration steps to a staging VPSGrid instance before production cutover. Staging validates import integrity without DNS risk — decommission staging after acceptance or keep for plugin testing.
Maintenance mode during final sync
Enable WordPress maintenance mode or static holding page on source host during final database export to prevent new orders or comments from being lost during cutover.
WHOIS and registrar locks
Ensure domain registrar credentials are accessible before migration weekend. DNS changes fail if registrar locks or expired domains block updates.
CDN and proxy services
If Cloudflare or similar proxies your old host, update origin IP to VPSGrid primary address and purge cache after cutover to avoid stale content.
Post-cutover monitoring
Watch error logs for 48 hours after DNS change. Spike in 404 or 502 errors often indicates incomplete URL replace or PHP-FPM misconfiguration.
Staging VPS rehearsal
Clone migration steps to a staging VPSGrid instance before production cutover. Staging validates import integrity without DNS risk — decommission staging after acceptance or keep for plugin testing.
Maintenance mode during final sync
Enable WordPress maintenance mode or static holding page on source host during final database export to prevent new orders or comments from being lost during cutover.
WHOIS and registrar locks
Ensure domain registrar credentials are accessible before migration weekend. DNS changes fail if registrar locks or expired domains block updates.
CDN and proxy services
If Cloudflare or similar proxies your old host, update origin IP to VPSGrid primary address and purge cache after cutover to avoid stale content.
Post-cutover monitoring
Watch error logs for 48 hours after DNS change. Spike in 404 or 502 errors often indicates incomplete URL replace or PHP-FPM misconfiguration.
Staging VPS rehearsal
Clone migration steps to a staging VPSGrid instance before production cutover. Staging validates import integrity without DNS risk — decommission staging after acceptance or keep for plugin testing.
Bluehost-specific migration notes
Bluehost WordPress installs often live under public_html with Softaculous or manual WordPress layouts. Export via cPanel Backup or phpMyAdmin. Bluehost staging subdomains may use temporary URLs — replace with your production domain using WP-CLI --dry-run first:
wp search-replace 'https://staging.example.com' 'https://example.com' --dry-run
wp search-replace 'https://staging.example.com' 'https://example.com'SSL after migration
Remove or disable Bluehost-provided SSL plugins that rewrite URLs to the old host. Reissue certificates on VPSGrid with Certbot after DNS points to your VPS IP.
Frequently Asked Questions
Will VPSGrid handle my Bluehost migration?
VPSGrid unmanaged VPS plans do not include concierge migration from Bluehost. You perform exports, imports, and DNS updates. Support assists with VPS power, network, and billing per Security Responsibilities on Unmanaged VPS.
How long will my site be down?
Downtime depends on your cutover plan. Sync files early, test on VPS IP, then switch DNS during a window. VPSGrid does not guarantee zero downtime — you control sequencing and TTL.
Can I use Bluehost backup files on VPSGrid?
Yes — restore cPanel backup contents manually: extract archives to web root, import SQL dumps into MariaDB, reconfigure wp-config and Nginx vhosts.
What about Bluehost SiteLock or caching?
Proprietary Bluehost caching plugins may behave differently on self-managed Nginx. Replace with standard WordPress caching plugins after verifying baseline performance.
Related Articles
Next steps on VPSGrid
Planning a self-managed migration? You can prepare your new environment on a VPSGrid Linux VPS and move your site when you are ready. VPSGrid does not perform managed site transfers — you control backups, sync, and DNS cutover. If you hit infrastructure blockers (provisioning, network reachability), open a support ticket with your service ID and steps already tried.
Need More Help?
Search this knowledgebase for related guides. If the issue persists, open a ticket at billing.vpsgrid.net with your service ID, primary IP, and steps already tried. See What Information to Include in a Support Request and Security Responsibilities on Unmanaged VPS for scope and required details.
Was this answer helpful?