SiteShift
FOR AGENCIES & FREELANCERS

Every client site on your laptop.
Every host they already use.

SiteShift pulls a client's live WordPress site down over SSH, runs it locally on bundled PHP and MySQL, and pushes it back to wherever it lives — Hostinger, SiteGround, a TransIP VPS, a client's own server. One licence, unlimited sites, nothing installed on the server.

Built by an agency for its own client work · No per-site fees · Cancel anytime

THE PROBLEM

Client work shouldn't mean a different tool for every host

The local half of agency work is glued together from whatever each host happens to offer.

The usual setup
  • Local for the WP Engine clients, DevKinsta for the Kinsta ones, MAMP or Docker for the rest
  • Migration plugins, zip uploads and an FTP client — a different dance per client
  • Staging sites you pay for per month, per client, whether you use them or not
  • The client's hosting account wired into a tool they don't control
With SiteShift
  • One local environment, whatever the host
  • Pull and push over SSH, with a file-by-file review before anything leaves your machine
  • Unlimited local sites for one price
  • Nothing on the server and no account for the client — their host stays theirs
HOW AGENCIES USE IT

From "can you look at our site?" to the push that closes the ticket

Four things you do every week, and what SiteShift does with each.

01 — Take over any client site

Pull the live site down. Files, database, the lot.

New client, unknown host, no local copy. Add their SSH details — or connect the Hostinger account and pick the site from a list — and hit Pull. SiteShift copies the files and database, rewrites every URL to a local address, and serves the site on bundled PHP. You're debugging in the real thing, not a guess of it.

  • Any host you can reach over SSH/SFTP — shared, VPS, managed
  • URLs rewritten with WP-CLI search-replace, so serialized data survives
  • Per-site PHP 8.1–8.4: match what the client's host actually runs
How pull and push work
Pull from remote
acme-bakery.nl → this machine
pulled
Remote u123456789@145.14.150.20:65002
Webroot /home/u123456789/domains/acme-bakery.nl/public_html
Files and database copied 4 312 files · 38 MB
URLs rewritten https://acme-bakery.nl → http://acme-bakery.localhost:20001
Site served on PHP 8.3 running
Every step streams to the task log, so a failure names the command that failed.
02 — Push with a review

See exactly what will change before it changes.

Before a push, SiteShift diffs your local site against the remote and shows you the tree: what's new, what's modified, what's remote-only. You tick what goes. Pushes are add-only — SiteShift never deletes a remote file. Sending the database? The remote database is backed up first, to the server and to your machine, and the import only runs after the backup is verified.

  • File-by-file review with a confirm gate: you type the production domain before it goes
  • Add-only: remote-only files stay untouched
  • Database pushes: remote backup first, URL rewrite on export
Why push is add-only
Review changes before push
this machine → acme-bakery.nl
6 to send
themes/timberland/functions.php modified
themes/timberland/views/faq.twig modified
plugins/acme-forms/ new
uploads/2026/09/hero.webp remote only · untouched
Remote database backed up before import
Type the production domain to confirm. Nothing leaves your machine before that.
03 — Move a client to a better host

Pull from the old host, push to the new one. Same site, new server.

The client's contract runs out, or the old host is slow. Pull the site from the old host, point SiteShift at the new one, push files and database. Because pull and push are both plain SSH, SiteShift doesn't care who the old host was or who the new one is.

  • No migration plugin on either side
  • The destination's database is backed up before anything is imported
  • The old host keeps serving until you switch DNS
Read the migration walkthrough
Move to another host
Hostinger → this machine → TransIP VPS
moved
Pulled a fresh copy from Hostinger 1 m 48 s
Files uploaded to vps.acme-bakery.nl 1.9 GB
Destination database backed up kept
Database imported, URLs rewritten 38 MB
Hostinger connection kept as previous
Switch DNS when you're ready. The previous host stays reachable as a fallback.
04 — One licence, your whole desk

Unlimited sites. Three machines.

Twenty client sites or two hundred — the price is the same. A licence activates on up to three machines, so the office desktop, the laptop and the one at home all count. Need seats for a team? Ask about team licensing.

  • €9 a month, or €7.65 a month billed yearly — excl. 21% VAT
  • Works fully offline for seven days between licence checks
  • Cancel from your account; local sites keep running after a licence ends
See pricing
Licence
SS-••••-••••-••••-9N3L
active
Studio desktop activated Aug 12
MacBook Pro activated Aug 14
Home PC activated Sep 1
Machines 3 of 3 — deactivate one from the app or your account
Local sites stay visible, startable and deletable even when a licence lapses.
NO HOSTING

No hosting. On purpose.

SiteShift doesn't host anything and won't try to. Your clients' sites stay on the hosts they chose; the invoices stay theirs. That's also why there's nothing to install on the server and nothing for the client to sign up for.

We build the local half and the road between the two — that's it.

Pricing

One plan, everything included

Unlimited sites, push/pull, every integration — €9/mo excl. 21% VAT. Cancel anytime.

POPULAR

Pro

€9/mo €7.65/mo billed yearly

Everything included

Unlimited local sites
Push / pull over SSH
Hosting integrations
PHP 8.1–8.4 per site
One-click WP admin
Priority support

Enterprise

Custom

For agencies & teams

Everything in Pro
Team licensing
Custom terms & invoicing
Dedicated support

Questions agencies ask

No. SiteShift talks to the server over SSH/SFTP with the credentials the host already gives you. No plugin, no agent, no account for the client.

Any host that gives you SSH or SFTP access with a shell: Hostinger, SiteGround, Hostnet, TransIP and DigitalOcean servers, cPanel and Plesk boxes, plain VPSes. Hostinger has an API integration that lists your sites and creates new ones from the app; the other hosts you link by pasting SSH details once.

Their SSH gateways are sandboxed and don't expose everything SiteShift's sync needs, so pull and push aren't supported there yet. For those clients, WP Engine's own Local app has a first-party connection — use that.

No. Pushes only add or overwrite the files you selected in the review. Remote-only files are listed as "remote only · untouched" and left alone.

Yes. Local sites always run. The licence stays fully valid for seven days without contact to our server; after that, creating sites and pushing and pulling pause until it revalidates — your sites and files stay put.

A licence covers three machines. For more seats and invoicing on your terms, the Enterprise plan has team licensing — email us.

Your clients' hosts, your laptop, one tool. Pull the first client site down today.

Get SiteShift — €9/mo