HelpWithWebGet Help Now

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

shared

Managed 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

cloud

Dedicated, 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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.php
    define( 'DB_NAME', 'the new database name' );
    define( 'DB_USER', 'the new user' );
    define( 'DB_PASSWORD', 'the password you just set' );
    define( 'DB_HOST', 'localhost' );
  6. 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.

    • Email
    • DNS records
    • The registrar transfer
  7. 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 downtime

    It 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 delays

    Above 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 downtime

    Mailboxes 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 delays

    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. 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

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.

← All migration guides

CallTextMessage