Migrating a WordPress Site from SiteGround to Getwebup
SiteGround doesn't give you a cPanel account, and that trips people up the moment they try to move. You're working from their own Site Tools panel, and the SG Optimizer plugin has usually wired itself into caching, image compression, and even a Cloudflare layer sitting in front of your site. None of that comes along for free when you migrate — here's how to get a SiteGround WordPress site onto Getwebup cleanly, without losing mail or breaking the site the moment you switch DNS.
Why SiteGround Migrations Need Extra Steps
Most host-to-host moves are a file export, a database export, and a DNS change. SiteGround adds two wrinkles most people don't expect:
- Site Tools, not cPanel. File Manager and phpMyAdmin both exist, but under different names and menus — that part's easy once you know where to look.
- SG Optimizer. This plugin ships on almost every SiteGround WordPress install. It handles caching, lazy loading, WebP conversion, and on GrowBig and GoGeek plans it also proxies traffic through SiteGround's own Cloudflare integration. If you copy the site over and leave this plugin active, your new Getwebup site will try to talk to caching and CDN endpoints that no longer apply to it.
Neither is a dealbreaker. You just need to handle them in the right order.
Step 1 — Export Files and Database From Site Tools
Log in to Site Tools and go to Site > File Manager. Select the public_html folder (or the subfolder your WordPress install lives in, if it's not in the root) and compress it to a zip you can download.
For the database, go to Site > MySQL > phpMyAdmin, open your WordPress database, and use Export > Quick > SQL to download a .sql file. If the database is large — 500MB or more — the browser export can time out. In that case use the Backup tool under Site > Backups instead, which SiteGround runs server-side and lets you download as one archive.
If you'd rather skip manual export entirely, a plugin like Duplicator or All-in-One WP Migration works fine on SiteGround and bundles files, database, and settings into a single package. This is the easier route on GoGeek plans where SG Optimizer has more moving parts to disentangle.
Step 2 — Deactivate SG Optimizer Before You Copy the Database
This is the step people skip, and it's the one that causes the white screens after migration. SG Optimizer stores its settings in the wp_options table, including references to SiteGround's own dynamic caching layer and, on some plans, a Cloudflare zone ID tied to their account.
Before you export the database:
- Go to SG Optimizer > Environment Optimization in wp-admin and turn off Dynamic Caching, Memcached, and any Cloudflare integration toggle.
- Deactivate the plugin entirely from Plugins.
- Then export the database.
If you've already exported with the plugin active and the new site is misbehaving, you can clean it up after import instead — see the table further down.
Step 3 — Import Into Getwebup and Test Before Touching DNS
Upload the files to your Getwebup hosting account via File Manager or SFTP, and import the .sql file through phpMyAdmin into a freshly created database. Update wp-config.php with the new database name, username, password, and host — on Getwebup this is almost always localhost.
Before you touch DNS, preview the site on its real domain using a hosts file entry so you're testing against production URLs, not a raw IP:
# Linux/macOS: /etc/hosts
# Windows: C:\Windows\System32\drivers\etc\hosts
203.0.113.10 yourdomain.com www.yourdomain.com
Click through the homepage, a blog post, the contact form, and checkout if it's WooCommerce. Check wp-admin loads and that images resolve — broken image paths usually mean the old SiteGround URL is still hardcoded somewhere in the database (see the search-replace note below).
Step 4 — Point DNS to Getwebup
Lower your DNS TTL to 300 seconds at least 24 hours before the cutover if you can — SiteGround's default TTL is often 4 hours or longer, and a low TTL shrinks the window where some visitors still hit the old server.
You have two options at Getwebup:
| Method | When to use it |
|---|---|
| Change nameservers to Getwebup's | You want Getwebup to fully manage DNS, including email records going forward. |
| Keep existing nameservers, update the A record | You manage other DNS records (subdomains, third-party services) outside Getwebup and only want the root pointed here. |
Either way, don't cancel the SiteGround account yet. Keep it active for 5–7 days after cutover as a fallback in case you spot something you missed.
Step 5 — Move Email Separately
This is the part people forget. If you're using SiteGround's included mailboxes, moving your website does not move your email. Set up matching mailboxes in cPanel under Getwebup first, then either:
- Export mail via an IMAP client (Thunderbird works well) from the old server and import into the new mailbox, or
- If mail volume is low, just let old mail sit on SiteGround and start fresh once MX records point to Getwebup.
Update your MX records at the same time as your A record, not before — pointing MX to Getwebup while the site (and any autoresponders) is still on SiteGround will cause mail to bounce or vanish.
Common Post-Migration Issues
| Symptom | Cause | Fix |
|---|---|---|
| White screen or fatal error right after import | SG Optimizer still active, calling a caching endpoint that no longer exists | In phpMyAdmin, run DELETE FROM wp_options WHERE option_name LIKE 'sgo\_%'; then deactivate/delete the plugin from the wp_plugin_options row or via WP-CLI |
| Mixed content / "Not Secure" warning | SiteGround's Cloudflare layer was terminating SSL upstream; URLs saved with http:// or a SiteGround CDN hostname | Run a search-replace with WP-CLI: wp search-replace 'http://olddomain.com' 'https://yourdomain.com' --all-tables |
| Images broken but pages load fine | Old install used SG Optimizer's WebP/CDN rewriting, and the rewritten paths point to SiteGround's edge | Same search-replace above, then regenerate thumbnails with WP-CLI or a plugin |
| Redirect loop after enabling SSL on Getwebup | SiteGround forced HTTPS at their proxy; WordPress still thinks it's behind that proxy | Remove any HTTP_X_FORWARDED_PROTO checks left in wp-config.php and let Getwebup's own SSL handle it |
Prevention Checklist for Next Time
- Turn off SG Optimizer's caching and CDN integration before exporting, not after.
- Lower DNS TTL a day ahead of any future migration, regardless of host.
- Keep a plain-text note of every third-party service tied to your domain (SMTP, CDN, search console) — DNS-based verification records need to move too.
- Don't cancel the old host until you've had at least a week of clean traffic on the new one.
Frequently asked questions
Do I need cPanel access to migrate from SiteGround?
No. SiteGround uses its own Site Tools panel, which includes a File Manager and phpMyAdmin equivalent to what cPanel offers. You can export everything you need without ever touching cPanel.
Why did my site break right after I imported it into Getwebup?
The most common cause is the SG Optimizer plugin still being active with its caching or Cloudflare settings pointed at SiteGround's infrastructure. Deactivate it and clear its leftover options from wp_options before troubleshooting further.
Will moving my website also move my email?
No. Website files and mailboxes are separate. Set up matching mailboxes on Getwebup first, migrate mail over IMAP if needed, then update your MX records at the same time as your A record.
How long should I keep my SiteGround account active after switching?
Keep it running for 5-7 days after DNS cutover as a safety net, and don't cancel until you've confirmed clean traffic and no missing content on the new site.
My images are broken after migration but the pages load fine — why?
SG Optimizer often rewrites image URLs for WebP conversion or CDN delivery. Run a WP-CLI search-replace to update those old paths to your new domain, then regenerate thumbnails.