Documentation

Getting started

Install SiteShift and serve your first WordPress site. Bundled PHP and MySQL — no Docker, no dependencies.

Requirements

  • macOS 12 or later on Apple Silicon (M1 or later), or Windows 10/11 on x64. Intel Macs are not supported yet.
  • About 200 MB free disk for the bundled PHP and MySQL binaries under ~/.siteshift, plus your sites.
  • An SSH-reachable host if you plan to push or pull. The server needs tar, mysqldump and mysql.
  • An internet connection the first time you activate a licence; after that SiteShift works offline for seven days at a time.

Installation

Download the app for macOS or Windows and open it. On first run SiteShift fetches its PHP, MySQL and WP-CLI binaries — every download is checksum-verified — and asks for your licence key. Paste the key from your order e-mail or from your account.

Creating a site

Click New site, give it a name (the slug becomes the local hostname) and pick a PHP version. SiteShift downloads WordPress, creates a database and a database user on its bundled MySQL, installs WordPress and serves the site at http://<slug>.localhost:<port>. The whole thing takes about a minute and every step streams to the task log.

Pull an existing site

New site → Pull from vendor lists the sites of a connected hosting account, or takes SSH details by hand: host, port, user, password or private key path, remote webroot and production URL. Pull copies the files and the database, rewrites every URL from the production address to the local one (with wp search-replace, so serialized data survives), and starts the site.

On an existing site, Pull from remote on the Sync card does the same — and overwrites the local copy, files and database. Commit or back up first if you have local work you care about.

Push with a review

Push to remote… compares your local webroot with the remote and opens a review: new, modified and remote-only files in a tree. Tick what should go, choose whether to include the database, and type the production domain to confirm. Pushes are add-only: nothing on the server is ever deleted, and wp-config.php is never sent.

With the database included, SiteShift first dumps the remote database to ~/siteshift-backups/ on the server and downloads a copy to ~/.siteshift/backups/<slug>/, checks the backup, then exports your local database with URLs rewritten to the production address and imports it.

After a push on a host with a page cache (LiteSpeed on Hostinger, SiteGround’s dynamic cache), purge the cache in the host panel or visitors may still see the old version.

PHP versions

Each site has its own PHP version — 8.2, 8.3, 8.4 or 8.5 — chosen when you create it and changeable from the site page. Binaries are shared between sites, so switching is instant once a version has been downloaded. Match the version your host runs, and the code that works locally works live.

Log in to WordPress

The site page lists the WordPress users. Log in next to a user opens wp-admin through a one-time link issued by the SiteShift mu-plugin — no password needed and nothing to remember. The link is single-use and only works for the local site.

Where things live

  • Sites: ~/.siteshift/sites/<slug>/webroot — a normal WordPress install; open it in your editor.
  • Binaries: ~/.siteshift/bin — PHP per version, MySQL, WP-CLI.
  • Database: MySQL on 127.0.0.1:13306, one database and user per site; credentials on the site page.
  • Backups of remote databases taken before a push: ~/.siteshift/backups/<slug>/.
  • Secrets (SSH passwords, API tokens): an encrypted vault under ~/.siteshift, keyed by a file that never leaves your machine.

Licence and offline use

One licence activates on up to three machines; deactivate a machine from the app or from your account to free a slot. SiteShift checks the licence when it starts and works fully offline for seven days after the last successful check. After that, existing sites stay visible, startable and deletable; creating sites, pulling, pushing and hosting actions pause until the licence revalidates.

Connecting a host

Add a provider under Hosting. Hostinger connects through its API and lists your websites; TransIP and DigitalOcean list your servers; SiteGround and Hostnet come with the SSH details pre-filled. Any other host works as a plain SSH connection. Step-by-step pages: Integrations.

Hostinger · TransIP · SiteGround · Hostnet · DigitalOcean any SSH host
Ready to install?

SiteShift runs in under a minute.

Download SiteShift