DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk13 min

How to Develop WordPress Remotely Over SSH

A practical guide to remote WordPress development over SSH: configure key access, edit with VS Code Remote-SSH, run WP-CLI safely, choose between SSHFS and rsync, and deploy with Git, staging, backups and rollback.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can develop a WordPress site over SSH without copying its code to your computer. An SSH client connects you to the server, an editor such as VS Code Remote-SSH opens the remote project, and tools including PHP, Git, the web server, database access and WP-CLI run on the host. For teams, keep custom code in version control, test on staging and deploy a reviewed commit with a backup and rollback plan.

What a remote WordPress workflow actually is

SSH is the transport, not the WordPress development environment itself. A usable setup has three layers:

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Your workstation: an SSH client, an editor and any local tools you still need.
  • The SSH host: the machine that contains the WordPress files, PHP runtime, web server and a route to the database.
  • Remote command-line tools: Git, WP-CLI and project-specific utilities installed for the account that will run them.

With VS Code Remote-SSH, the editor opens a folder on the host and runs its server component, extensions and integrated terminal there. Files remain in the remote working tree; IntelliSense, search, language services and commands operate against that copy. You therefore see the same PHP and WordPress files that the server uses instead of editing a downloaded snapshot that may be out of date.

WP-CLI can be used in two ways. You can log in with SSH, change to the WordPress directory and run commands interactively, or invoke a command from your workstation with WP-CLI’s --ssh option. The second method is useful for scripts and repeatable staging or production checks, but the remote account must be able to find wp on its non-interactive PATH.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Choose the right editing model

The best method depends on where your tools need the files and which copy is authoritative.

Model Where files live Best fit Important trade-off
VS Code Remote-SSH On the server Daily development when the host has enough CPU, memory and disk and the remote tree should remain authoritative Editor extensions and commands run remotely; the host must satisfy VS Code Server prerequisites and download it over outbound HTTPS
SSHFS Mounted from the server into your local filesystem Browsing or an occasional single-file edit with a local editor Convenient, but latency makes tools that read or write many files noticeably slower
rsync A complete local working copy, synchronized to the server Local linters, build tools and bulk file operations Uploads can overwrite the wrong files unless include and exclude rules are explicit; secrets, caches, uploads and WordPress core need deliberate treatment

Do not treat SSHFS and rsync as interchangeable versions of Remote-SSH. SSHFS presents a network filesystem to local programs. Rsync transfers selected differences and then lets local programs work at full local-disk speed. Remote-SSH avoids a local copy altogether and is usually the least confusing choice when the server is the intended working environment.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Prerequisites before opening an editor

Ask the host administrator for the exact SSH hostname, port, username, WordPress path and environment name. Confirm that the account is allowed to use an OpenSSH-compatible server and can reach the directory containing wp-config.php. It also needs appropriate read and write permissions for the custom theme or plugin you will change.

  • Install an SSH client on your workstation and make sure DNS, firewall rules and the SSH port permit a connection.
  • Use key-based authentication. Microsoft recommends keys for Remote-SSH because they avoid repeatedly placing a password into editor connections and automation.
  • Know whether the site is single-site or multisite, and record the intended URL for a multisite command.
  • Verify that the host has the PHP version required by the site, a functioning web server, database access, Git if your workflow uses it, and WP-CLI.
  • Decide which directories are source code and which are generated or user data. WordPress core, uploads, caches, logs and secrets should not be overwritten casually by a synchronization job.

Set up and test SSH key access

Create a key on your workstation and install only its public half on the server. The following is an example using the operating system’s OpenSSH tools; use your organization’s key policy if it specifies a different algorithm or storage location.

  1. Generate a key pair, protect it with a passphrase, and keep the private key on your workstation:
    ssh-keygen -t ed25519 -f ~/.ssh/wp-dev
  2. Add the contents of ~/.ssh/wp-dev.pub to the remote account’s authorized keys through the host’s approved administration process. Never copy the private key to the server or commit it to Git.
  3. Test the plain connection before involving VS Code:
    ssh -i ~/.ssh/wp-dev user@host
  4. If the server uses a non-default port, test it explicitly:
    ssh -i ~/.ssh/wp-dev -p 2222 user@host
  5. After login, verify the current account and location with whoami and pwd, then locate the WordPress directory. Do not assume that the login directory is the site root.

A plain SSH failure is not a VS Code problem. Resolve name resolution, firewall access, account authorization, key permissions and host-key verification first. Once the command-line connection is reliable, place the settings in ~/.ssh/config so every tool uses the same identity and port:

Host wp-staging
    HostName staging.example.com
    User deploy
    Port 2222
    IdentityFile ~/.ssh/wp-dev

You can then connect with ssh wp-staging. Keep separate host aliases for development, staging and production so a command aimed at one environment cannot silently land in another.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Connect with VS Code Remote-SSH

Install Microsoft’s Remote-SSH extension in VS Code. The extension opens a remote folder on a machine with a running SSH server and provides the normal VS Code interface while its server component and extensions run on that machine.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
  1. Open the Command Palette and choose Remote-SSH: Connect to Host….
  2. Select the wp-staging host alias, or enter the same user@host and port that succeeded in your terminal test.
  3. Accept the host-key prompt only after checking that the fingerprint matches the value supplied by the administrator.
  4. When the remote window opens, choose File: Open Folder… and select the WordPress project directory, not a parent directory containing unrelated sites.
  5. Open the integrated terminal and confirm pwd, php -v, git status and wp core version. These commands establish which account, path and runtime the editor is using.

Remote-SSH may need to install its server component. The remote operating system and architecture must be supported, and the host needs a usable Bash shell, tar, curl or wget, compatible kernel and C library components such as glibc and libstdc++, and outbound HTTPS access to download the component. If installation fails, inspect the Remote-SSH log for the first missing prerequisite rather than repeatedly reconnecting.

Install language extensions in the remote window when VS Code offers that choice. A PHP extension installed only on your workstation cannot index files that exist solely on the server. Conversely, keep heavyweight build tools off a small production host; develop on staging or a dedicated development machine when the host cannot support them.

Verify the remote WordPress runtime

Before editing, run a short, read-only health check from the remote terminal:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
php -v
which php
which wp
wp core version
wp plugin list
wp theme list
git status

The output should describe the site you intended to open. Check that PHP can load the extensions WordPress and your custom code require, that WP-CLI resolves to the expected installation, and that Git reports the expected branch and working tree. If the site has several installations under one account, write the absolute path into your host alias or project documentation instead of relying on a convenient but ambiguous cd command.

Run WP-CLI commands over SSH

Interactive operation after login

Log in, change to the site directory and run a read-only command first:

ssh [email protected]
cd ~/sites/example.com
wp core version
wp plugin list
wp theme list

This mode is easiest for exploration because shell startup, aliases and the current directory are visible. It also makes it clear which account is performing a change.

Invoke WP-CLI from your workstation

The --ssh option lets local WP-CLI start a remote SSH process. Its form is wp --ssh=[<scheme>:][<user>@]<host>[:<port>][<path>]. For example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
wp [email protected]:2222~/sites/example.com core version

The host, optional user, non-default port and WordPress path are all explicit in that command. Use the same SSH key and config alias that you tested normally; a successful editor connection does not automatically correct an incorrect WP-CLI path.

Use aliases for repeatable environments

WP-CLI aliases in wp-cli.yml or global configuration give development, staging and production stable names. An alias should identify the SSH target and the WordPress path; invoke it as:

wp @staging plugin list
wp @staging plugin update --all

Keep aliases in a controlled configuration file and review them before use. A production alias should be visually distinct, and a script should print the selected target before it performs a write operation.

Account for multisite and custom commands

For multisite, add --url with the intended site URL when a command could otherwise select the network or the wrong blog:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
wp [email protected]~/sites/example.com --url=https://sub.example.com option get blogname

Any custom WP-CLI command must be installed on the remote server. Launching WP-CLI from your workstation does not transfer the command’s PHP package or plugin. Confirm that the relevant plugin or command package is present in the remote environment before automating it.

Start with safe checks

Use core version, plugin list, option get and similar read-only commands to prove the target and path. Treat updates, deletions, database changes and cache purges as deployment operations: verify the alias, take the agreed backup, record the commit and have a reversal procedure before running them.

Fix the non-interactive PATH problem

A common surprise is that wp core version works after an interactive login but wp --ssh=... returns wp: command not found. Interactive shells often read .bashrc or .zshrc; the non-interactive SSH process used by WP-CLI may not. WP-CLI’s documented requirement is that wp be accessible on the remote PATH.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
  1. Log in normally and run command -v wp to find the executable.
  2. Run a non-interactive check from your workstation, such as ssh [email protected] 'echo $PATH; command -v wp', and compare the results.
  3. Put the WP-CLI directory in a standard, non-interactive PATH location approved by the administrator, or use the environment configuration supported by your SSH and WP-CLI setup.
  4. Repeat the exact wp --ssh command. Do not paper over the problem by installing a second copy of WP-CLI in an arbitrary directory.

The same distinction affects PHP, Composer, Git and any custom command that is initialized only by an interactive shell. Make the runtime explicit and minimal rather than depending on shell aliases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Editing files without damaging the live site

Keep custom code in Git

Track custom themes, plugins, configuration templates and deployment scripts in a repository. Before editing, run git status and note the current branch and commit. Make focused commits with messages that explain the change. Do not commit private keys, database dumps, environment files or credentials. WordPress core and third-party packages should be updated through the site’s established release process instead of being overwritten by an indiscriminate file copy.

Separate source from generated and user data

Uploads, caches, logs and generated assets have different ownership and synchronization requirements from PHP source. A remote editor can show all of them, but that does not mean they belong in a code commit or should be copied between environments. Document which directories are deployable source, which are generated during release, and which remain on the destination.

Use staging before production

Develop against staging when possible. Exercise the changed theme or plugin there, inspect PHP and web-server logs, and verify the intended site with WP-CLI before promoting a commit. Production should receive a reviewed change, not an uncommitted experiment made directly in a live directory.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When SSHFS or rsync is a better fit

SSHFS for light, filesystem-style work

SSHFS mounts a remote directory so a local editor can browse it. It is convenient for a quick inspection or a one-file correction, but every directory scan and file operation crosses the network. Indexers, dependency managers and tools that touch thousands of files can become slow or unreliable. Unmount the filesystem before the laptop sleeps or the network changes, and avoid running bulk build operations through the mount.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

rsync for a local working copy

Choose rsync when local tools need a complete copy or when you are transferring many changed files. Start with a dry run and explicit rules, then review the file list before applying it. A typical pattern is:

rsync -azn --delete 
  --exclude='.git/' 
  --exclude='wp-content/uploads/' 
  --exclude='wp-content/cache/' 
  --exclude='.env' 
  ./ [email protected]:~/sites/example.com/

The -n option shown is a preview; remove it only after checking the destination, source path and exclusions. Do not copy this rule set blindly. If uploads or generated assets are intentionally part of your release, handle them in a separate, reviewed step. Likewise, do not include --delete unless the destination is a disposable or fully managed tree and the exclusions protect every directory that must remain.

Prefer repository-based transfers for teams

An ad-hoc rsync command records little about who changed what. A repository-based release ties the files to a commit and makes a rollback intelligible. Rsync remains useful inside that release process for differential transfers, but its include and exclude rules should be versioned and reviewed.

Deploy WordPress changes over SSH

Small project: reviewed pull or release script

For a small site, a controlled SSH session can pull a reviewed commit into staging or production. The sequence should identify the target, confirm the branch and commit, preserve a backup according to the site’s policy, update files, run read-only WP-CLI checks and record the result. Keep the deployment script in the repository so the same steps can be audited and repeated.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Confirm the host alias, absolute WordPress path and current Git commit.
  2. Verify that the working tree is clean or that any local changes are intentionally preserved.
  3. Fetch or transfer the reviewed release, excluding secrets and persistent user data.
  4. Run wp core version, wp plugin list and any project-specific smoke checks against the intended site.
  5. Inspect the web response and logs, then record the deployment commit and operator.

Team project: staging-to-production pipeline

Teams benefit from a pipeline that promotes an immutable commit rather than whatever happens to be in a developer’s working directory. A practical design has separate SSH keys or accounts where the host supports them, protected production credentials, a staging gate, backups, deployment logs and a documented rollback. The pipeline can use SSH, Git and differential rsync, but those are transport and implementation choices, not universal features of every managed host.

Keep database changes coordinated with code changes. A plugin that expects a new option or schema should not be activated in production before the corresponding migration and recovery plan are ready. File rollback alone cannot undo a database mutation, so the release record must state which database operation occurred and how it can be reversed.

Rollback planning

A rollback is a tested procedure, not merely a second SSH command. Retain the previous release identifier, know where the backup is stored, and define who can authorize a reversal. If the failure is caused by code, restore the previous release and re-run smoke checks. If it involves the database, follow the separate database recovery procedure and verify the site’s URL, uploads and scheduled tasks afterward.

Security and operational guardrails

  • Use individual accounts or narrowly scoped deployment accounts instead of sharing one private key.
  • Protect private keys with passphrases and appropriate local file permissions; rotate access when a team member leaves.
  • Verify host keys and keep development, staging and production aliases unmistakable.
  • Limit write access to the directories that the deployment actually needs.
  • Do not paste credentials into shell history, commit them to Git or expose them in a terminal recording.
  • Prefer read-only WP-CLI checks before any command that updates, deletes or changes configuration.
  • Back up before production changes and keep a rollback path that has been exercised on staging.

Remote access does not remove WordPress’s normal operational risks. It can make a dangerous command easier to run from a familiar terminal, which is why explicit paths, aliases, commits and confirmations matter.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshooting checklist

Symptom Likely cause Action
ssh user@host fails DNS, firewall, wrong port, unauthorized account, key permissions or an unverified host key Fix the plain SSH connection first; then retry the editor or WP-CLI command.
VS Code connects but cannot install its server Unsupported OS or architecture, missing Bash, tar, curl/wget, incompatible kernel libraries or blocked outbound HTTPS Read the Remote-SSH log, install or enable the missing prerequisite through the administrator, and retry.
Remote folder opens but files cannot be saved The SSH account lacks write permission, the filesystem is full or the path is a production-owned tree Check ownership, permissions and disk space; edit the approved release directory instead of forcing elevated access.
wp: command not found through --ssh Non-interactive PATH does not include WP-CLI Compare interactive and non-interactive PATH values and make WP-CLI available to the remote process.
WP-CLI reports the wrong site Ambiguous path, alias, port or multisite URL Use an explicit alias and path, then add --url for the intended multisite site.
SSHFS feels very slow Network latency multiplied across many filesystem operations Use Remote-SSH for remote execution or rsync for a local copy and bulk work.
Deployment overwrites uploads or secrets Broad rsync rules or an unreviewed working tree Stop the transfer, restore from the backup if necessary, and replace it with explicit, reviewed include and exclude rules.
A production edit breaks the site No staging gate, backup or reversible release Follow the rollback procedure, preserve logs, identify the failing commit and document the incident before the next deployment.

A practical decision framework

  • Choose Remote-SSH when the server is capable, the authoritative tree belongs there and you want the editor, terminal and extensions to share one environment.
  • Choose SSHFS when you need occasional filesystem access and can tolerate network latency.
  • Choose rsync when local tooling requires a full working copy or you are moving a large, explicitly defined set of files.
  • Use WP-CLI over SSH for repeatable inspections and administration, with aliases that make the environment and path explicit.
  • Use Git plus staging, backups and a release or rollback script when more than one person or more than one production change is involved.

The reliable pattern is simple: prove SSH first, open the correct remote directory, verify the remote runtime, test WP-CLI with read-only commands, and deploy only reviewed code through an explicit environment. That keeps the convenience of remote development without turning a live WordPress server into an untracked edit buffer.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.