Migrating from Bluehost to Canadian Hosting: Technical Playbook for Zero-Downtime Transfers
A detailed technical guide for moving WordPress, WooCommerce, and custom PHP sites from Bluehost to TransPark’s Canadian infrastructure — covering DNS strategy, database migration, and SSL provisioning.
Why Clients Leave Bluehost
Bluehost (owned by Newfold Digital, a US private equity portfolio company) is one of the largest shared hosting providers globally. It's also the source of more inbound migration requests than any other single provider at TransPark. The pattern is consistent:
Renewal pricing: Introductory rates of $2.95-$4.95/month jump to $11.99-$28.99/month at renewal. Clients discover this 12-36 months in, often after multiple sites are established on the platform.
Performance degradation: Bluehost's shared hosting environment packs hundreds of accounts per server. As a site grows past 10,000 monthly visits, response times climb noticeably — particularly on WordPress with WooCommerce or membership plugins.
Data jurisdiction: All Bluehost servers are located in the United States (primarily Provo, Utah and Houston, Texas). Canadian client data is subject to US law, including the Patriot Act and CLOUD Act.
Limited developer access: No SSH on basic plans. No Node.js support. No server-level configuration. Locked into cPanel with restricted functionality.
Support quality: Tiered support routes most queries to Level 1 agents reading scripts. Resolution of technical issues (DNS propagation, SSL conflicts, .htaccess problems) often requires multiple escalation attempts.
Pre-Migration Assessment
Before initiating a transfer, document your current environment:
1. Inventory your hosting account:
- Number of WordPress installations
- Custom PHP applications (non-WordPress)
- Email accounts and forwarding rules
- Databases (MySQL versions, sizes)
- Cron jobs and scheduled tasks
- SSL certificates (Let's Encrypt or paid)
- Subdomains and addon domains
2. Record DNS configuration:
- Current A records, CNAME records, MX records
- Any TXT records (SPF, DKIM, DMARC, domain verification)
- TTL values (lower these to 300 seconds 48 hours before migration)
3. Note resource usage:
- Total disk usage (files + databases)
- Monthly bandwidth consumption
- PHP version in use
- WordPress version and plugin list
Option 1: Managed Migration (Recommended)
TransPark's engineering team handles the full migration for clients on Business ($24.99/month) and Developer ($34.99/month) plans at no charge. The process:
Day 1 — Account provisioning:
- New hosting environment created on Canadian infrastructure
- PHP version matched to source (8.1, 8.2, or 8.3)
- Database server provisioned with matching MySQL/MariaDB version
Day 1 — File and database transfer:
- Full site files transferred via SFTP from Bluehost
- Database exported and imported (MyISAM tables converted to InnoDB where applicable)
- WordPress configuration updated for new database credentials
- File permissions set (644 for files, 755 for directories)
Day 1 — Verification:
- Site tested on temporary URL before DNS switch
- All internal links verified
- Forms tested (contact, checkout, login)
- SSL provisioned via Let's Encrypt (auto-renewing)
- Performance baseline established
Day 2 — DNS cutover:
- A record updated to TransPark server IP
- MX records preserved (or migrated if email hosting included)
- Old hosting kept active for 72 hours as safety net
- Monitoring confirmed for uptime and response time
Downtime: Zero. The DNS change is the only moment of transition, and with TTL pre-lowered, propagation completes within 15-60 minutes. During propagation, both old and new servers serve valid responses.
Option 2: Self-Service Migration
For clients comfortable with server administration:
Step 1 — Export from Bluehost:
For WordPress sites, install the All-in-One WP Migration plugin (free tier handles sites up to 512MB). Navigate to All-in-One WP Migration → Export → File. Download the .wpress archive.
For larger sites or WooCommerce installations, use the command line:
- Export database: mysqldump -u username -p database_name > backup.sql
- Archive files: tar -czf site-files.tar.gz public_html/
Step 2 — Create your TransPark site:
From the TransPark dashboard, create a new WordPress site. Select your domain, choose PHP version, and the system provisions a fresh WordPress installation with per-client isolation in approximately 90 seconds.
Step 3 — Import:
For .wpress files: Install All-in-One WP Migration on the new site, navigate to Import, and upload the archive. The plugin handles database tables, file paths, and URL replacements automatically.
For manual imports: Upload files via SFTP, import database via phpMyAdmin or mysql CLI, update wp-config.php with new credentials.
Step 4 — DNS cutover:
Update your domain's A record to point to your TransPark server IP (provided in your dashboard). If your domain is registered with NameSilo, GoDaddy, or Namecheap, the change is immediate in their DNS panel — propagation depends on TTL.
WooCommerce-Specific Considerations
WooCommerce migrations require additional attention:
- Payment gateway credentials: Re-enter Stripe, Square, or PayPal API keys in the new environment (these don't transfer in database exports for security reasons)
- Shipping plugins: Table Rate Shipping and similar plugins store configuration in wp_options — verify rates after import
- Order history: All historical orders transfer with the database. Verify order status pages render correctly
- Subscription plugins: WooCommerce Subscriptions stores webhook endpoints — update these to the new domain if using a staging URL during migration
- Product images: Large media libraries (10GB+) may require SFTP transfer rather than plugin-based migration
Email Migration
If you're using Bluehost for email (not recommended long-term, but common):
- Export email via IMAP using a client like Thunderbird or imapsync
- TransPark provisions email infrastructure or you can connect to Google Workspace / Microsoft 365
- Update MX records last — after website DNS has fully propagated
- SPF, DKIM, and DMARC records must be reconfigured for the new sending infrastructure
Post-Migration Checklist
After DNS has propagated and the site is live on TransPark:
- [ ] Verify SSL certificate is active (padlock in browser)
- [ ] Test all forms (contact, checkout, login, registration)
- [ ] Verify email delivery (send test from site)
- [ ] Check cron jobs are running (wp-cron or server cron)
- [ ] Confirm backups are active (daily automated to S3)
- [ ] Update any hardcoded URLs in theme files or plugins
- [ ] Test mobile responsiveness (some themes cache old assets)
- [ ] Verify Google Search Console coverage (submit updated sitemap)
- [ ] Update any CDN configuration (Cloudflare, etc.)
- [ ] Cancel Bluehost after 30 days of stable operation
Performance After Migration
Clients consistently report measurable improvements after migrating from Bluehost shared hosting to TransPark's isolated hosting environment:
- Time to First Byte (TTFB): Typically improves from 800-1200ms to 180-350ms
- Full page load: 40-60% reduction on content-heavy WordPress sites
- Admin panel responsiveness: WP admin loads noticeably faster due to dedicated resources vs. shared contention
The performance gain comes from three factors: dedicated compute resources per client (not shared hundreds-to-one), ARM64 processors optimized for web workloads, and Canadian network routing (no cross-border latency for Canadian visitors).
Timeline Summary
| Phase | Duration | Downtime |
|---|---|---|
| Assessment & provisioning | 1-2 hours | None |
| File & database transfer | 1-4 hours (size dependent) | None |
| Verification on staging URL | 1-2 hours | None |
| DNS cutover & propagation | 15-60 minutes | None (both servers active) |
| Post-migration monitoring | 72 hours | None |
| Bluehost cancellation | Day 30 | N/A |
Total migration: same-day for standard WordPress sites. Complex multi-site or WooCommerce installations may extend to 48 hours for thorough verification.