Say goodbye to 'Total Commander Error 29'. A guide to zero-downtime deployments, SSH keys security, and Git workflows.
EN

Stop using FTP: Modern WordPress deployment with SSH, Git & keys

5.00 /5 - (24 votes )
Last verified: March 1, 2026
Experience: 5+ years experience
Table of Contents

If you are seeing “Error 29” in Total Commander or “Connection Timed Out” in FileZilla, the universe is sending you a message. Stop using FTP.

In 2010, FTP was standard. In 2026, dragging-and-dropping files to a production server is reckless. It leads to:

  • Downtime: What happens if your internet cuts out while uploading functions.php?
  • Security Risks: FTP sends passwords in plain text (unless using FTPS).
  • No History: Who changed that file? When? Why?

Level 1: SFTP & SSH keys (the bare minimum)

If you must transfer files manually, use SFTP (SSH File Transfer Protocol). It runs over port 22 and is fully encrypted.

Better yet, use SSH Keys instead of passwords.

  1. Generate a Key: ssh-keygen -t ed25519 -C "your@email.com"
  2. Copy to Server: ssh-copy-id user@host
  3. Config: Edit ~/.ssh/config for easy access.
Host mysite
    HostName 192.168.1.100
    User wppoland
    IdentityFile ~/.ssh/id_ed25519

Now you can just type ssh mysite or connect via SFTP without typing a password every time.

Level 2: Git & “Git pull” (the intermediate step)

Stop editing code on the server. Edit locally, commit to Git, and pull on the server.

  1. Local: git push origin main
  2. Server: cd /var/www/html && git pull origin main

Pros: You have version history. You can revert changes (git reset --hard). Cons: Not atomic. Site might break for a few seconds during the git pull if files are mismatched.

Level 3: Atomic deployments (the PRO standard)

Professional WordPress hosting (Kinsta, WPEngine, SpinupWP) or tools like DeployerPHP use “Atomic Deployments”.

How it works:

  1. Code is uploaded to a new folder: /releases/2026-12-23-0800/
  2. Dependencies are installed (Composer, NPM).
  3. A symlink /current is switched from the old folder to the new folder.

Result: Zero downtime. The switch happens in milliseconds. If the build fails, the symlink never switches, and the site stays up.

Tools to use IN 2026

  • Local: LocalWP or DDEV.
  • Repo: GitHub / GitLab.
  • Deployment:
    • GitHub Actions: Free CI/CD pipelines.
    • DeployHQ: simple GUI for deployments.
    • Buddy.works: Optimized for WP.

Summary

“Error 29” isn’t a bug. It’s a feature reminding you to upgrade your workflow.

  1. Ditch FTP for SFTP.
  2. Use SSH Keys.
  3. Move to Git-based deployments.

Your future self (and your clients) will thank you when you can rollback a broken update in 3 seconds.

What should you know about Stop using FTP: Modern WordPress deployment with SSH, Git & keys?
Stop using FTP: Modern WordPress deployment with SSH, Git & keys is an essential aspect of WordPress website management that helps improve site performance, security, and user experience.
How does Stop using FTP: Modern WordPress deployment with SSH, Git & keys work?
Stop using FTP: Modern WordPress deployment with SSH, Git & keys involves configuring various settings and implementing best practices to optimize your WordPress website.
Why is Stop using FTP: Modern WordPress deployment with SSH, Git & keys important for WordPress?
Stop using FTP: Modern WordPress deployment with SSH, Git & keys is crucial because it directly impacts your website's search engine rankings, loading speed, and overall success.

Need an FAQ tailored to your industry and market? We can build one aligned with your business goals.

Let’s discuss

Related Articles