21+ years in hosting · Jaipur, India · INR billing with 18% GST · 24/7 email support
Blog · WebJi® India

Migrate a Website to Cloud Hosting

Quick answer

Migrating a website to cloud hosting means copying files and the database to a cloud instance, testing it through a hosts-file entry, issuing SSL before DNS moves, then switching the A record at a 300-second TTL after a final sync. Keep the old server running for seven days. WebJi® cloud servers start at ₹5,900 a month before GST.

For site owners and admins moving a WordPress, PHP or custom app from shared hosting or an old VPS to a cloud server without losing orders.

✓ In business since 2005
✓ INR + GST billing
✓ 24/7 Email Support — avg reply < 60 min
GuideWebJi®
knowledge
Read time
6 min
Sections
7
Updated
14 Nov 2026
Written by
WebJi® team

Does your website actually need to migrate to cloud hosting?

Migrate a website to cloud hosting only when it needs its own CPU and RAM, a custom runtime or room for traffic spikes; a brochure site or small blog stays cheaper on shared cPanel hosting from ₹300 a month before GST. Decide the target shape before copying a single file.

Choosing the target before a cloud migration — WebJi® prices per month before 18% GST
Site todaySensible targetWhat you manageFrom
Brochure site, blog, small shopShared cPanelFiles, database, mail₹300
Busy store or app needing dedicated resourcesCloud EntryThe application₹5,900
Docker, Node, queue workers, heavy cronCloud Business or ProOS, firewall, patches, backups₹7,900
Compliance rules or steady heavy loadPrivate cloudAgreed in the contractQuoted

The difference between these products is laid out in shared vs cloud hosting and cloud vs VPS.

What should you record about the old server before migrating?

Record versions, scheduled jobs, sizes, DNS records and anything tied to the old IP address — these, not the files, are what break a cloud migration. A site written for PHP 7.4 can stop with a fatal error on a PHP 8.3 image.

php -v && php -m           # PHP version and loaded modules
crontab -l                 # scheduled jobs for this user
du -sh ~/public_html       # size of the web root
dig +short example.com A; dig +short example.com MX; dig +short example.com TXT
  • Database size: table sizes from phpMyAdmin, to plan dump time.
  • Mail: MX, SPF and DKIM records, and whether mail stays on the old host.
  • IP-bound services: payment-gateway webhooks, API allow-lists and SPF entries that name the old IP.
  • Workers: systemd units or queue processes the app expects to be running.

How do you make the first copy of files and database?

Copy the files with rsync over SSH, dump the database with mysqldump using a consistent snapshot, and restore both on the cloud instance while the old site stays live. This first pass moves the bulk; a second pass later carries recent changes.

# 1. Files, preserving permissions, links and ownership
rsync -aHAX --numeric-ids --info=progress2 -e "ssh -p 22" \
  /home/USER/public_html/ root@NEW-IP:/var/www/example.com/

# 2. Database dump on the old server (InnoDB-consistent, no table locks)
mysqldump --single-transaction --quick --routines --triggers \
  -u DBUSER -p DBNAME | gzip > db.sql.gz

# 3. Import on the new server
gunzip -c db.sql.gz | mysql -u DBUSER -p DBNAME

# 4. Ownership and permissions (Debian/Ubuntu web user)
chown -R www-data:www-data /var/www/example.com
find /var/www/example.com -type d -exec chmod 755 {} \;
find /var/www/example.com -type f -exec chmod 644 {} \;

Edit the application config with the new database host, user and password. More rsync options are in rsync files to a server.

How do you test the cloud copy before changing DNS?

Point only your own computer at the new IP with a hosts-file entry, then browse the site under its real domain name. Because the hostname does not change, no URL search-and-replace is needed and redirects behave exactly as they will after cutover.

# /etc/hosts (macOS, Linux) or C:\Windows\System32\drivers\etc\hosts
203.0.113.10  example.com www.example.com

Check that images, stylesheets, the login, a contact form and a test order all work. If something fails here, it would have failed in front of customers. Remove the line when testing ends; editing the hosts file covers each operating system.

How do you get SSL working on the cloud server before cutover?

Use a DNS-01 challenge or copy the existing certificate, because a Let's Encrypt HTTP-01 check reaches the old server while DNS still points there. A store cannot afford even a few minutes of browser warnings.

  • DNS-01: certbot certonly --manual --preferred-challenges dns -d example.com -d www.example.com, then add the _acme-challenge TXT record it shows.
  • Paid certificate: copy the certificate, chain and private key from the old server; the hostname is unchanged, so they stay valid.
openssl s_client -connect NEW-IP:443 -servername example.com </dev/null \
  | openssl x509 -noout -subject -enddate

The output must show your domain, not a self-signed default. Manual DNS-01 certificates do not renew themselves; set up renewal as in Let's Encrypt auto-renew.

How do you cut over DNS without losing orders?

Lower the TTL to 300 seconds a day ahead, freeze writes, run a final delta sync, then switch the A record. The short TTL is what makes a same-day rollback possible.

  1. A day before: set the TTL on the A and www records to 300.
  2. Freeze writes: on WordPress, wp maintenance-mode activate; a shop can pause only checkout.
  3. Re-run the rsync with --delete after double-checking the destination path, then take and import a second database dump.
  4. Compare the newest order or comment ID on both servers; they must match.
  5. Snapshot the cloud instance, then point the A record at the new IP (or change nameservers if the whole zone moves).
  6. Verify: dig +short example.com @1.1.1.1 and dig +short example.com @8.8.8.8.

To roll back, point the A record at the old IP and wait one TTL; copy back any orders written on the new server meanwhile. Keep the old server paid and running for seven days, until mail, forms, cron and logins have all been proven. Watch the switch spread with the DNS propagation checker.

What does cloud hosting at WebJi® cost after the move?

WebJi® cloud servers cost ₹5,900, ₹7,900 or ₹11,900 a month before 18% GST, from 2 vCPU with 8 GB RAM up to 8 vCPU with 32 GB. Size up when CPU or RAM stays high at normal traffic, not because a migration is happening.

WebJi® cloud server plans, ₹ per month before 18% GST
PlanvCPURAMStoragePrice
Cloud Entry28 GB100 GB₹5,900
Cloud Business416 GB250 GB₹7,900
Cloud Pro832 GB500 GB₹11,900

Details are on the cloud hosting page. If you would rather not run these commands, the website migration service moves one domain's files and up to five MySQL databases (up to 5 GB) for ₹700 one-time; free migration is subject to terms and approval.

FAQ

Frequently asked questions

Can I migrate from cPanel shared hosting to a cloud server without cPanel?

Yes. Copy public_html and the database as shown, then recreate what cPanel did for you: the web server virtual host, PHP-FPM, scheduled jobs, SSL renewal and email. Mail is often simplest left on a separate mail service rather than rebuilt on the cloud server.

Will moving to cloud hosting change my SEO?

Not if URLs, content and HTTPS stay identical. Search engines follow the domain, not the IP address. Problems come from broken redirects, a missing certificate or a long outage, which the hosts-file test and the short TTL are designed to prevent.

How long does a typical cloud migration take?

The copy itself depends on size: a few gigabytes moves within an hour. Planning, testing and the TTL change spread the work over two or three days, followed by the seven-day period with the old server kept running.

Should the email move to the cloud server too?

Only if you are ready to run a mail server, including spam filtering and IP reputation. Most businesses keep mail on a dedicated email service and change only the website's A record, leaving MX records untouched during the move.

Last editorial update: 14 November 2026. Prices follow the dated sources on this page; checkout confirms current charges.

WebJi® since 2005

Ready to get started with WebJi®?

Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.