Webサイトの移管やWordPressの引っ越し作業をしていると、ファイルをサーバーへアップロードする場面が必ず出てきます。
そのときによく使われるのが、SSHを使ったアップロード・展開です。
「SSHってなに?わけわかんない…」と思いますが、一回使ったらとてもありがたい物なんだなと必ず実感します。
FTPは手軽だが、大量ファイルに弱い
FTPは、FileZillaなどのFTPソフトを使って、ローカルPCからサーバーへファイルをアップロードする方法です。
ドラッグ&ドロップで操作できるため、初心者でも扱いやすいのが大きなメリットです。
ただし、FTPは大量の細かいファイルをアップロードすると時間がかかりやすいです。
WordPressの場合、テーマファイル、プラグイン、画像、キャッシュファイルなど、1つ1つのファイルサイズは小さくても、数千〜数万ファイルになることがあります。
FTPではそれらを1ファイルずつ通信しながら送るため、ファイル数が多いほど処理に時間がかかります。
たとえば、同じ1GBのデータでも、次のような違いがあります。
- 1GBのzipファイル1個
- 1KB〜数MBのファイルが1万個
この場合、後者の方がかなり遅くなることがあります。
これは、ファイルを送るたびに通信の確認や接続処理が発生するためです。
SSHは圧縮ファイルを送ってサーバー上で展開できる
一方、SSHを使う場合は、サイトデータをあらかじめzipやtar.gz形式で圧縮し、その圧縮ファイルをサーバーにアップロードしてから、サーバー上で展開する方法がよく使われます。
圧縮したファイルをサーバーに送ったあと、SSHでログインして、展開します。
この方法だと、FTPのように数千ファイルを1つずつ送るのではなく、大きな圧縮ファイルを1つ送るだけで済みます。
そのため、ファイル数が多いサイトほど、SSHを使った方が圧倒的に速く感じることが多いです。
速度差が出る一番の理由は「ファイル数」
SSHが速いというより、正確には圧縮して1ファイルとして扱えることが速い理由です。
FTPでも圧縮ファイルを1つだけアップロードするなら、そこまで遅くはありません。
ただしFTPだけでは、サーバー上でzipやtar.gzを展開できないケースがあります。管理画面やファイルマネージャーで展開できるサーバーもありますが、自由度はSSHの方が高いです。
WordPress移管ではSSHの方がかなり効率的
WordPressサイトを丸ごと移管する場合、FTPでpublic_html配下をそのままアップロードすると、かなり時間がかかることがあります。
特に以下のようなサイトは注意が必要です。
- 画像が多い
- プラグインが多い
- キャッシュファイルが残っている
- バックアップファイルが含まれている
- WordPress本体・テーマ・プラグインを丸ごと移す
このような場合、FTPでは数十分〜数時間かかることもあります。
一方でSSHを使い、圧縮ファイルを転送してサーバー上で展開すれば、同じ作業がかなり短時間で終わることがあります。
実務感としては、FTPで「まだ終わらないな」と待つような作業でも、SSHなら「一瞬で終わった」と感じる場面があります。
ただしSSHは操作ミスに注意
SSHは便利ですが、コマンド操作になるため、FTPよりもミスの影響が大きいです。
たとえば、間違ったディレクトリで展開してしまったり、既存ファイルを上書きしてしまったり、削除コマンドを誤って実行してしまうリスクがあります。
そのため、SSHを使う場合は、以下のコマンドで現在地を確認しながら作業することが大切です。
作業前には必ずバックアップを取っておくことも重要です。
結論:少量ならFTP、大量ならSSHが効率的
FTPとSSHは、どちらが絶対に優れているというより、使い分けが重要です。
ちょっとしたCSS修正や画像の差し替えなら、FTPの方が手軽です。
一方で、WordPressサイトの移管や大量ファイルのアップロードでは、SSHを使った方が圧倒的に効率的です。
特にWeb制作の実務では、サイト全体を移管する場面も多いため、SSHで圧縮・転送・展開する流れを覚えておくと、作業時間を大きく短縮できます。
FTPは「細かい修正向き」、SSHは「大きな移管作業向き」。
この違いを理解しておくと、サーバー作業の効率がかなり変わります。





