Zero-downtime cutover Jaipur, India · Servers anywhere in the world

Cloud Migration: Off shared hosting.
Onto a tuned VPS.
Site live throughout.

Cloud migration for CodeIgniter, Laravel and WordPress platforms: off cPanel shared hosting and onto a VPS with Nginx, PHP-FPM, MySQL, Cloudflare, automated backups and a staging environment. We have done it for Maluka Earthmovers, JNV Sikar and FliqhtIQ, with the live site up the whole time.

  • Fixed price, agreed before we start
  • Staging environment included
  • Server in your account, not ours

Your old server stays live until the new one is proven.

We build and test the new server in parallel. The cutover is a DNS change, and the rollback is changing it back.

48h

Old server as fallback

7d

Backup retention

1

Staging per site

Signs you need to move

Your shared host is costing more than a VPS would.

These are the six symptoms we see most often on a platform that has outgrown its hosting. Each one has a direct cost to the business.

01

The site goes down and nobody knows why

A neighbour on the same shared server uses all the CPU. You get no visibility, no alert and no recourse, and the site comes back when it comes back.

02

Still slow after every PageSpeed fix

Images optimised, caching on, CSS minified, and pages still take 4 seconds or more. The bottleneck is the server, which PageSpeed tweaks cannot fix.

03

Your host is ending support for your PHP version

End-of-life PHP gets no security patches. The host forces an upgrade that breaks the app, or a pricier plan that solves nothing.

04

No staging, so every change goes live

Shared plans rarely include staging. Every plugin update, theme change and deploy goes straight to production, and one bad deploy means downtime.

05

Risk from neighbours you cannot see

A compromised site on the same server can affect yours through shared permissions or IP reputation, and you cannot choose who shares your server.

06

FTP deploys with no version control

No Git history, no rollback and no deploy log. If something breaks, you hear it from a customer instead of from monitoring.

Shared vs VPS

What the monthly fee actually buys.

A managed VPS costs more each month than shared hosting. What you get in return is worth far more than the difference.

Typical monthly cost

Shared hosting

₹200/mo

Managed VPSAfter us

₹1,200/mo

DIY VPS

₹800/mo

Dedicated vCPU and RAM
Staging environment
SSH access and Git deploys
Nginx and PHP-FPM tuned for your app
Isolated from other sites
Automated off-site backups
Hardening, monitoring and documentation

Providers we configure on. We work with the one you prefer, or recommend one for your budget and location.

DigitalOcean Hostinger VPS Contabo Hetzner AWS Lightsail

What we set up

Everything a VPS needs to never surprise you.

Nine pieces, all set up, tested and documented before your domain points at the new server.

Server provisioning

Ubuntu 24.04 LTS, SSH key login, root login off, UFW firewall, fail2ban and unattended security upgrades. A clean base first.

Nginx and PHP-FPM

Gzip, FastCGI cache, HTTPS and www redirects, security headers, a PHP-FPM pool sized to the server RAM and OPcache on.

MySQL migration

Export, import to MySQL 8.0, users and permissions set, config tuned, and row counts checked before and after.

Cloudflare and SSL

Cloudflare proxy for DDoS protection and caching, an origin certificate, Full (Strict) SSL and WAF rules for your platform.

Staging environment

staging.yourdomain.com on the same stack, password protected, with its own database. Test there, then release.

Automated backups

Daily files and database backup, compressed and sent off-site, kept 7 days by default, and a restore tested before handover.

Git-based deployment

A deploy script or GitHub Actions workflow from your main branch, with a log of every release. No more FTP.

Uptime monitoring

UptimeRobot or Better Stack alerts to your email and WhatsApp, with response time tracked so slowdowns show early.

Handover documentation

Server, provider, access method, Nginx config, backup and restore steps, deploy workflow and Cloudflare settings, written down.

Platforms

Each platform moves a little differently.

We build on these platforms ourselves, so we know what has to come across besides the files and the database.

Moving a Laravel app

A Laravel app is more than files and a database: the scheduler, queue workers and cache all have to run on the new server.

  • The scheduler wired to a single cron entry, and checked that it fires.
  • Queue workers kept running under a process manager, restarted on deploy.
  • Redis set up for cache, sessions or queues where the app uses it.
  • Environment file rebuilt for the new server, secrets never committed.
  • Storage and cache folders with the right owner and permissions.

Moving a CodeIgniter app

CodeIgniter 4 apps are usually straightforward to move. The care goes into paths, permissions and the jobs that run in the background.

  • The public folder set as the web root, with the app code outside it.
  • The writable folder owned by the PHP-FPM user, nothing else world-writable.
  • Environment settings moved to the server .env file.
  • Cron jobs recreated and tested on the new server.
  • Clean URLs without index.php through the Nginx config.

Moving a WordPress app

WordPress and WooCommerce sites gain the most from a proper stack, as long as cron, cache and uploads come across cleanly.

  • WP-Cron moved to a real system cron, so scheduled tasks run on time.
  • FastCGI page cache at the server instead of three overlapping plugins.
  • Uploads, plugins and themes moved with file permissions corrected.
  • Site and home URLs checked so nothing still points at the old host.
  • Cloudflare WAF rules set up for common WordPress attack paths.

Moving a Node.js app

Where your stack needs Node.js alongside PHP, we set it up as a managed service rather than a terminal left open.

  • Node.js installed at the version your app expects.
  • The app run under a process manager that restarts it on failure.
  • Nginx in front as a reverse proxy, with SSL at Cloudflare and the origin.
  • Logs written to files and rotated, not lost on restart.
  • Shopify-adjacent tools, such as order systems or marketing sites, moved the same way.

Migration process

Four steps, zero downtime.

The whole migration runs in parallel. Your old server stays live until the new one is confirmed working, so the cutover is a DNS change and the rollback is reverting it.

  1. 01

    Step 1

    Provision and configure

    The full stack set up on the new server before your old one is touched: OS, Nginx, PHP, MySQL, SSL and Cloudflare, tested on its own.

    • Hardened base
    • Tested in isolation
  2. 02

    Step 2

    Migrate files and database

    Files copied with rsync, the database exported, imported and validated, and config updated for the new environment.

    • Row counts match
    • Checksums confirmed
  3. 03

    Step 3

    Test before DNS changes

    We point our own machines at the new server through a hosts file and test every page, form, login, payment and key flow.

    • Every critical flow
    • Staging checked too
  4. 04

    Step 4

    Cutover and monitoring

    DNS TTL lowered a day ahead, the switch made in low-traffic hours, and the old server kept live for 48 hours as a fallback.

    • Monitored from minute one
    • Rollback ready

A typical web application migration

Provision and configure
Migrate data
Test end to end
Cutover
Day 1Day 3Day 6

Cutover night

How the switch happens without downtime.

Both servers run the same site during the switch. While DNS updates around the world, which typically takes 1 to 15 minutes, some visitors reach the old server and some the new one, and both work.

Planned for quiet hours

Usually between 2 and 4 AM IST, when traffic is lowest.

Both servers watched

We monitor old and new together during the window.

Rollback in minutes

If anything looks wrong, DNS points back to the old server.

Email untouched

MX records are not changed, so external email keeps working.

/etc/nginx/sites-available/yourdomain.com

server {

listen 443 ssl http2;

server_name yourdomain.com www.yourdomain.com;

root /var/www/yourdomain/public;

# Cloudflare origin certificate

ssl_certificate /etc/ssl/cf-origin.pem;

# PHP-FPM

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

# Compression and security headers

gzip on;

add_header X-Frame-Options SAMEORIGIN;

add_header X-Content-Type-Options nosniff;

}

A shortened sample of the config we deliver.

Security

Hardened before it goes live.

A new server is only better than shared hosting if it is locked down. These are set on every server we hand over.

  • SSH key login only, root login disabled
  • UFW firewall with only the ports you need
  • fail2ban against repeated login attempts
  • Unattended upgrades for security patches
  • Cloudflare Full (Strict) SSL and WAF rules
  • Security headers at Nginx and Cloudflare

Handover

Yours to run, or ours to look after.

The server sits in your account, and everything needed to run it is written down. After that, you choose.

The server document

  • Server IP, provider and access method
  • Where the Nginx config lives
  • Database access, stored encrypted
  • Backup schedule and restore steps
  • Deploy workflow and Cloudflare settings

Run it yourself

The migration is a one-time fixed-price project. Everything is in your provider account and documented, so your team or your next developer can take it from there.

UptimeRobot Better Stack GitHub Actions

Or let us manage it

Our managed services retainer covers security patch monitoring, backup checks, Nginx config updates and emergency response.

Explore our services

Pricing

Fixed price. No surprises.

The migration is a one-time fixed fee. The VPS itself is billed by the provider, typically ₹800 to ₹2,500 a month depending on provider and size.

Simple Site

A single WordPress or static site.

₹12K to ₹22K

2 to 4 days

  • Standard Nginx, PHP and MySQL stack
  • Cloudflare and SSL
  • Automated backups
  • Zero-downtime DNS cutover
Plan a site move
Most common

Web Application

A CodeIgniter 4 or Laravel application.

₹22K to ₹45K

3 to 6 days

  • Cron jobs and queues
  • Staging environment
  • Git deploy workflow
  • Monitoring
Plan an app move

Multi-app / Complex

Several domains or services on one setup.

₹45K +

5 to 10 days

  • Multiple domains
  • Microservices
  • Redis and queue workers
  • Complex cron setup
  • Load balancer configuration
Talk to us

All prices exclude GST. VPS server cost is not included: we help you choose the right provider.

Not sure if you need to migrate?

Describe your current setup and we will tell you honestly whether a move makes sense, and which plan fits.

Describe your setup

FAQ

Cloud migration questions, answered.

Not sure if you need to move? Describe your setup in the form and we will advise honestly.

No. We build and fully test the new server before changing any DNS, and your old server stays live the whole time. The cutover is a DNS change, with a propagation window of typically 1 to 15 minutes when some visitors reach the old server and some the new one. We schedule it for low-traffic hours, usually 2 to 4 AM IST, and keep the old server live for 48 hours as a fallback.

You can, or we set it up under your account. We recommend DigitalOcean, Hostinger VPS or Hetzner depending on your budget and location. A 2 GB RAM VPS from Hostinger costs around ₹800 to ₹1,200 a month and handles most small to medium applications. We do not host on our own infrastructure: everything stays in your account and under your control.

CodeIgniter 4, Laravel, WordPress including WooCommerce, and custom PHP applications. We also set up Node.js environments where your stack needs them. Shopify itself is hosted by Shopify, so for Shopify brands we migrate the tools around the store, such as a custom order management system or a WordPress marketing site.

Not if you use an external email provider such as Google Workspace or Zoho. We migrate web hosting only and do not touch MX records. If your email is hosted on cPanel, we recommend moving it to Google Workspace or Zoho first, and we help with that as a separate step before the server migration.

Ongoing server management is available through our managed services retainer, covering security patch monitoring, backup checks, Nginx config updates and emergency response. The migration itself is a fixed-price one-time project. After handover you can run the server yourself with our documentation, or add managed services.

Typically 2 to 4 times faster Time to First Byte than on shared hosting, and better mobile PageSpeed scores. The exact gain depends on your current host and application, since Nginx with PHP-FPM and OPcache is far more efficient than Apache with shared resources. We measure before and after and include the comparison in the handover document.

A simple site usually takes 2 to 4 days, a web application with cron jobs, queues and a staging environment 3 to 6 days, and a multi-app or complex setup 5 to 10 days. Most of that time is setup and testing on the new server while your current site keeps running as normal.

Files are copied with rsync and the database is exported and imported into MySQL 8.0, then validated: row counts are compared and checksums confirmed before any DNS change. Config files are updated for the new environment before anything goes live.

Plan your migration

Your shared host is the bottleneck. Move off it.

Tell us where your site runs today. We reply with the server we would set up, the migration plan and a fixed price.

  • We review your setup

    Platform, traffic, cron jobs, email and anything unusual.

  • Fixed-price plan

    The server, the provider, the steps and the price, in writing.

  • Zero-downtime move

    Built and tested in parallel, then a DNS switch at a quiet hour.

Describe your current setup

Your site address, the platform it runs on and your current host is enough to start.

Add more details (optional)

We respond within 1 business day. No automated follow-up sequences.