Website files & database · SiteGround
Move your website to SiteGround
Moving the files is the only part of a hosting migration that touches the website itself. Everything else moves pointers.
SiteGround offers a free WordPress Migrator plugin, which is usually the right starting point. The part that matters is what it does not carry across, because those things fail silently.
Do it while the old host is still live. Nothing here is visible to the public until DNS changes, so a mistake at this stage costs time and nothing else.
Checked against SiteGround's documentation on August 9, 2026.
What is different about SiteGround
The process is standardised. These are the parts that are not — the things that are true of SiteGround and not of everyone else.
Decide which SiteGround product you are moving to first
SiteGround sells 2 distinct hosting products — Shared Hosting, Cloud Hosting — and the differences between them are larger than the differences between providers. Shared Hosting gives you Site Tools File Manager and FTP/SFTP and SSH with phpMyAdmin via Site Tools; Cloud Hosting gives you Site Tools File Manager and FTP/SFTP and SSH with phpMyAdmin via Site Tools. Following instructions written for the wrong one is the most common way a migration stalls halfway.
The WordPress Migrator plugin is free
Site Tools → WordPress → Migrator for a token, then install the plugin on the source site. Typical duration: Usually under an hour. Documented limits: Does not handle WordPress.com sites; Does not handle sites built locally; Does not handle Multisite installations; The source site must stay publicly reachable throughout.
What the migration deliberately excludes
SiteGround states that it does not carry across email, DNS records, the registrar transfer. Every one of those fails quietly — the site arrives looking perfect and simply stops doing something it used to do. Rebuilding them is your job, and it is the difference between a migration that looks finished and one that is.
Check compatibility first: SiteGround cannot run Long-running Node.js or Python services on shared plans
SiteGround executes PHP (multiple selectable versions), Static HTML, CSS and JavaScript, with MySQL / MariaDB for storage. It is built for wordpress, php applications, static sites. What it will not run: Long-running Node.js or Python services on shared plans. That is the question to settle before any of the mechanics below matter — no file manager rescues an application the platform cannot execute. Node.js is offered on some plans through Site Tools — confirm before relying on it
The control panel is custom
File access is via Site Tools File Manager, FTP/SFTP, SSH, and databases through phpMyAdmin via Site Tools. The web root is public_html.
SiteGround at a glance
- Languages / runtimes
- PHP (multiple selectable versions), Static HTML, CSS and JavaScript
- Databases
- MySQL / MariaDB
- Built for
- WordPress, PHP applications, Static sites
- Cannot run
- Long-running Node.js or Python services on shared plans
- Control panel
- custom
- File access
- Site Tools File Manager, FTP/SFTP, SSH
- Database tool
- phpMyAdmin via Site Tools
- Web root
- public_html
- Assisted migration
- WordPress Migrator plugin (free)
- Typical duration
- Usually under an hour
- Not covered
- email, DNS records, the registrar transfer
SiteGround hosting packages
SiteGround sells more than one kind of hosting, and they are not interchangeable. Pick the row that matches what you bought before following any steps.
Shared Hosting
sharedManaged shared hosting administered through Site Tools, SiteGround's own control panel rather than cPanel.
- Best for
- WordPress sites wanting managed extras without leaving shared pricing
- File access
- Site Tools File Manager, FTP/SFTP, SSH
- Database tool
- phpMyAdmin via Site Tools
- Languages
- PHP (multiple selectable versions), Static HTML, CSS and JavaScript
- Databases
- MySQL / MariaDB
- Cannot run
- Long-running Node.js or Python processes
- Site Tools is not cPanel, so cPanel-specific instructions do not apply
- Plans are bounded by monthly visit allowances rather than raw resources
Migrating into it: The free WordPress Migrator plugin is the intended route in and avoids manual work entirely.
Cloud Hosting
cloudDedicated, scalable resources on the same Site Tools interface, with the ability to add CPU and memory.
- Best for
- Sites that have outgrown shared allowances but want to stay managed
- File access
- Site Tools File Manager, FTP/SFTP, SSH
- Database tool
- phpMyAdmin via Site Tools
- Languages
- PHP (multiple selectable versions), Static HTML, CSS and JavaScript
- Databases
- MySQL / MariaDB
- Cannot run
- Long-running Node.js or Python processes
- Considerably more expensive than shared
Migrating into it: Migration works exactly as for shared hosting — the same tools, with more headroom.
Step-by-step
- 1At your current provider
Back up before anything else
Take a copy of the files and the database and keep it off both hosts. This is not the migration copy — it is what you restore from when the migration copy turns out to be incomplete.
- Files from your current host's file manager or over FTP
- Database as a single SQL export
- Store both somewhere that is neither the old host nor the new one
- 2At SiteGround
Request the WordPress Migrator plugin
Site Tools → WordPress → Migrator for a token, then install the plugin on the source site
- Typical duration: Usually under an hour
- Does not handle WordPress.com sites
- Does not handle sites built locally
- Does not handle Multisite installations
- The source site must stay publicly reachable throughout
- Create a dedicated admin account for the migration rather than sharing your own, and remove it afterwards
- 3Either side
Or move it by hand into public_html
Compress on the server and move one archive. Dragging thousands of small files over FTP is where migrations stall.
- Turn on hidden files before compressing, or .htaccess is left behind
- Upload the archive into public_html and extract it there
- If the archive contained the web root folder itself, move the contents up one level
- SSH is available on some plans, which makes this considerably faster
- 4At SiteGround
Create the database, then grant the user
The database and its user are separate objects. A site that loads but reports a connection error is almost always a missing grant rather than a wrong password.
- Use phpMyAdmin via Site Tools
- Grant All Privileges on the new database
- Panels usually prefix both names with your account name — use the full names
- 5At SiteGround
Import the database and update the credentials
Import into the empty database, then point the application at it. Check the table count against the source; a partial import reports nothing useful.
wp-config.phpdefine( 'DB_NAME', 'the new database name' ); define( 'DB_USER', 'the new user' ); define( 'DB_PASSWORD', 'the password you just set' ); define( 'DB_HOST', 'localhost' ); - 6At SiteGround
Rebuild what the migration left out
The exclusions again, because this is the step people skip: email, DNS records, the registrar transfer. List them at the old host before you cancel, because afterwards the list is gone.
- DNS records
- The registrar transfer
- 7At SiteGround
Test before you touch DNS
This is what separates a calm migration from a bad one. Load the new copy while the old host still serves the public.
- Use the temporary URL SiteGround provides
- Better: a hosts file entry so the real domain resolves here for you only, which catches redirect loops a temporary URL hides
- Click through properly — forms, logins, checkout, an image deep in an old post
- Match the PHP version to the old host first; upgrade later as a separate change
hosts file entry (macOS/Linux: /etc/hosts)203.0.113.10 example.com www.example.com
Best practice
The habits that make this go smoothly, independent of which providers are involved.
- Confirm SiteGround runs your application's language and database before anything else — PHP (multiple selectable versions), Static HTML, CSS and JavaScript with MySQL / MariaDB
- Copy rather than move, and keep the old site running until the new one is verified
- Test on a temporary URL or via a hosts file entry before changing any DNS
- Compress on the server and transfer one archive, not thousands of files
- Match the old PHP version first; treat upgrading as a separate change
- Stop publishing on the old site once the copy is taken, or that content is lost at cutover
- Keep the old host active for two weeks after cutover as your rollback
- Rebuild everything the WordPress Migrator plugin excludes, and check it off explicitly
What goes wrong
The failures that actually happen when SiteGround is the destination.
SiteGround cannot run everything
Can cause downtimeIt does not support Long-running Node.js or Python services on shared plans. If your site depends on any of those, this is not a migration — it is a rebuild or a conversion, and finding that out after you have started is expensive. Confirm what your application actually needs before moving anything.
Hidden files are silently skipped
Can cause downtime.htaccess and similar dotfiles do not appear in most file managers until you enable hidden files, and are not included in an archive built from a selection that never showed them. A WordPress site missing .htaccess loads the homepage and 404s everywhere else.
Large database imports fail quietly
Can cause delaysAbove roughly 50 MB the import hits an upload or execution limit. Sometimes it errors, sometimes it stops partway and says nothing useful. Check the table count against the source rather than trusting the absence of an error.
Email does not live in the files
Can cause downtimeMailboxes are not in the web root and not in the database. If your old host provided email, that is a separate migration — download it over IMAP before cancelling, or the messages go with the account.
The assisted migration has documented limits
Can cause delaysDoes not handle WordPress.com sites. Does not handle sites built locally. Does not handle Multisite installations. The source site must stay publicly reachable throughout. Check these before relying on it, because discovering them halfway through means falling back to a manual move you had not planned for.
Where are you coming from?
Most of this job depends on the destination. These are the bits that depend on where you are coming from.
Coming from cPanel hosting
SiteGround does not use cPanel, so the shape differs at this end: files go in via Site Tools File Manager or FTP/SFTP or SSH and the database through phpMyAdmin via Site Tools. The export side is familiar; the import side is not.
Coming from managed WordPress
There is usually no cPanel and no phpMyAdmin to export from, so use a migration plugin that produces a portable archive, or lean on SiteGround's WordPress Migrator plugin. Do it while the source is still publicly reachable — most tooling, including this one, works by fetching the live site.
Coming from a site builder
Wix, Squarespace and similar do not give you the files at all. There is nothing to migrate in the normal sense; the site has to be rebuilt or exported to static HTML, and content moved across separately.
Know exactly where you are moving from?
Common questions
What languages does SiteGround support?
PHP (multiple selectable versions), Static HTML, CSS and JavaScript, with MySQL / MariaDB. It is intended for wordpress, php applications, static sites. It cannot run Long-running Node.js or Python services on shared plans.
Does SiteGround migrate my site for me?
Yes — WordPress Migrator plugin, free of charge. Site Tools → WordPress → Migrator for a token, then install the plugin on the source site. It covers files and databases but explicitly excludes email, DNS records, the registrar transfer.
Can I move without downtime?
Yes. Copy the site, test it on a temporary URL while the old host still serves the public, and change DNS only once it works. There is no window where nothing answers — the risk is cutting over to an untested copy, not the cutover itself.
What about my email?
It does not come with the files. Mailboxes are a separate system, and MX records are a separate job again. Plan both explicitly rather than assuming a hosting migration covers them.
What happens to my SSL certificate?
Certificates do not transfer. SiteGround issues its own once the domain resolves to it, which means a short period after cutover where HTTPS may warn. Provision it as soon as DNS points here, and check the site still forces HTTPS.
Reference documentation
Provider interfaces change. When these steps and the official documentation disagree, the documentation wins.
The same job at other providers
Move your website to Bluehost
Decide which Bluehost product you are moving to first
Move your website to GoDaddy
Decide which GoDaddy product you are moving to first
Move your website to Hostinger
Decide which Hostinger product you are moving to first
Move your website to Cloudflare
Decide which Cloudflare product you are moving to first
Move your website to WP Engine
The Automated Migration plugin is free
Want this done for you?
I move sites onto SiteGround regularly — files, database, DNS and the registrar — with the old provider kept as a rollback until it has settled.