使い倒し研究所
サイト制作・公開

FTPで更新しているサイトをNetlifyに移行する手順|移行前に消すべきファイルがある

PR本記事にはプロモーション(アフィリエイト広告)が含まれます。

FTPで長く運用してきたフォルダには、たいてい古いバックアップが溜まっています。そのまま移行すると、全部が公開されます。実際にやってしまった失敗を含めて手順を書きます。

結論:移行そのものより、移行前の掃除が重要

FTPからNetlifyへの移行は、ファイルを置き換える作業としては簡単です。フォルダを指定してコマンドを1つ打てば終わります。

危険なのは、そのフォルダの中身です。

FTPで何年か運用したフォルダには、まず間違いなくこういうファイルが残っています。

index_old.html
index.html.bak-20240312
test.html
新しいフォルダ/
料金表_旧.pdf

FTPソフトで見ているときは気になりません。必要なファイルだけをブラウザで開いているからです。

Netlifyは違います。指定したフォルダの中身を、全部そのまま公開します。

index_old.html料金表_旧.pdf も、URLを直接叩けば誰でも見られる状態になります。旧料金や取引先名が入っていれば、そのまま外に出ます。

移行の最初の作業は、アップロードではなく掃除です。

手順1:公開フォルダを別の場所に複製する

FTPで落としてきたフォルダを、そのまま作業対象にしないでください。

cp -R ~/Downloads/site_ftp ~/work/site_public

元のフォルダは触らずに残します。 掃除の途中で必要なファイルを消してしまったとき、戻す先が必要になります。

FTPサーバー側のファイルも、移行が完全に終わるまで消さないでください。

手順2:公開してはいけないファイルを洗い出す

複製したフォルダで、次を確認します。

cd ~/work/site_public

# バックアップ・旧版のたぐい
find . -iname "*.bak*" -o -iname "*_old*" -o -iname "*旧*" -o -iname "*.orig"

# 作業用ファイル
find . -iname "test*" -o -iname "temp*" -o -iname "*コピー*"

# 想定外の拡張子(静的サイトに .php や .sql は不要)
find . -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn

3つ目が特に効きます。 拡張子を数えると、あるはずのないものが浮かびます。.sql.zip が出てきたら、データベースのバックアップや配布用のアーカイブが置きっぱなしになっている可能性があります。

私は別サイトの移行で、.bak-20260825 という名前のファイルが公開対象に混ざっているのを直前で見つけました。見つけられたのは、次の手順を踏んでいたからです。

手順3:本番の前に、必ず一度「何が公開されるか」を見る

これを飛ばさないでください。

Netlifyには、実際には公開せずに対象ファイルの一覧だけを出す方法があります。

netlify deploy --dir . --dry-run

出てきた一覧を、上から下まで目で読んでください。 ここに出ているものが、そのまま公開されるものです。

前述の .bak ファイルは、この一覧で見つけました。手順2の検索では拾えていませんでした。 検索は条件に合うものしか見つけられませんが、一覧はすべて出ます。

不要なものが混ざっていたら、公開フォルダの外へ移動します。消すのではなく移動です。

mkdir -p ~/work/_backups
mv index_old.html "料金表_旧.pdf" ~/work/_backups/

手順4:公開する

掃除が済んだら公開します。

netlify deploy --dir . --prod

初回はサイトを新規作成するか既存を選ぶか聞かれます。指示に従って進めれば数十秒で終わります。

この時点では ◯◯◯.netlify.app という仮のURLで見られる状態です。独自ドメインはまだ切り替えていません。 元のサイトは動いたままなので、落ち着いて確認できます。

確認すること

見る場所 確認内容
トップページ 画像・CSSが崩れていないか
内部リンク クリックして404にならないか
フォーム 動かなくなっていないか(後述)
掃除したファイル URLを直接叩いて404になるか

最後の項目を必ずやってください。 移動したはずのファイルのURLを直接開いて、404が返ることを確認します。

手順5:動かなくなる機能を把握する

ここが移行で一番よく詰まる点です。

Netlifyは静的ファイルを配信するサービスです。サーバー側でプログラムを動かす仕組みは、そのままでは動きません。

FTPで動いていたもの Netlifyでは
HTML / CSS / 画像 / PDF そのまま動く
JavaScript(ブラウザ側) そのまま動く
PHPのお問い合わせフォーム 動かない
アクセスカウンター(CGI) 動かない
WordPress 動かない(別の移行が必要)

お問い合わせフォームが mail.php などで動いている場合、移行するとメールが届かなくなります。

しかもエラー画面は出ません。 送信ボタンは押せて、送信されないだけです。気づかないまま問い合わせを取りこぼすのが最悪の形です。

対処は、Netlify側のフォーム機能に置き換えるか、外部のフォームサービスを使うかです。どちらにしても作業が発生するので、移行の計画に最初から入れておいてください。

手順6:独自ドメインを切り替える

サイトの中身が確認できたら、ドメインを向けます。ここが手順の中で唯一、失敗すると表に出る作業です。

大まかには次の流れです。

  1. Netlifyの管理画面でドメインを追加する
  2. 指示された内容をドメイン管理側のDNSに設定する
  3. SSL証明書が自動発行されるのを待つ

2の「ドメイン管理側」がどこかを、先に確定させてください。

私はここで15時間ほど無駄にしました。 原因は2つあり、どちらも自分の勘違いでした。

① ネームサーバーの系統を取り違えていた

同じ会社でも、サービスによってDNSを管理している場所が違うことがあります。片方の管理画面で設定しても、実際に参照されているのはもう片方でした。

設定する前に、そのドメインが実際にどこを見ているかを確認してください。

dig NS example.com +short

ここに出てくるサーバーを管理している画面が、設定すべき場所です。

② レンタルサーバー側にドメインを登録してしまった

「ドメインを使うのだから登録が必要だろう」と考えて、レンタルサーバーの管理画面でドメインを追加しました。

これが致命傷でした。 追加した時点でサーバー側にもDNSの設定が作られ、Netlifyの設定と競合してSSL証明書が発行できなくなりました。

公開先がNetlifyなら、レンタルサーバー側にドメインを追加してはいけません。 登録を消したら、証明書はすぐに発行されました。

この件は独自ドメインをNetlifyに向けるときの落とし穴に詳しく書いています。

PR
エックスサーバー

国内シェア最大級のレンタルサーバー。当サイトのドメインもエックスサーバーで取得しています。

エックスサーバーの公式サイトを見る

手順7:切り替え後に確認する

DNSの変更は、すぐには世界中に反映されません。 数時間から、長いと1〜2日かかります。

反映を待つ間、元のFTPサーバーのファイルは消さないでください。 反映が済んでいない人には、まだ旧サーバーの内容が表示されています。

切り替わったかどうかは、こう確認します。

# どこを向いているか
dig example.com +short

# 証明書が出ているか(200が返れば発行済み)
curl -s -o /dev/null -w "%{http_code}\n" https://example.com

https:// で200が返るようになったら完了です。 ここまで確認できてから、旧サーバーのファイルを消してください。

つまずきやすい点

「公開フォルダ」の指定を間違えると1階層ずれる

netlify deploy --dir ..いま居るフォルダという意味です。1つ上で実行すると、フォルダごと公開されてサイトが /site_public/ の下に入ります。

トップページが404になったら、まずこれを疑ってください。

隠しファイルも公開される

.git.env のようにドットで始まるファイルも対象です。.env に認証情報が入っていれば、それも公開されます。

--dry-run の一覧は隠しファイルも出るので、そこで見つけてください。

更新のやり方が根本的に変わる

FTPは1ファイルずつ上書きする仕組みですが、Netlifyはフォルダ全体を送り直す仕組みです。

「1文字だけ直したい」ときも、手元のファイルを直してもう一度送ることになります。慣れると速いのですが、FTPソフトでサーバー上のファイルを直接編集していた人には、最初は面倒に感じます。

代わりに、過去の状態にいつでも戻せます。 送った履歴が残っているので、壊したときは1クリックで前の状態に復帰できます。 FTPにはこれがありません。

よくある質問

FTPで運用しているサイトはそのままNetlifyに移せますか?

HTML・CSS・画像・JavaScriptで作られた静的なサイトであれば移せます。PHPのフォームやCGIなど、サーバー側でプログラムが動いているものは動作しなくなるため、別の仕組みへの置き換えが必要です。

移行前に必ずやるべきことは何ですか?

公開フォルダの掃除です。Netlifyは指定したフォルダの中身をすべて公開するため、FTPフォルダに残っている旧版やバックアップもURLを叩けば見られる状態になります。--dry-run で公開対象の一覧を出し、上から下まで目で確認してください。

お問い合わせフォームはどうなりますか?

PHPで動いている場合は動作しません。注意すべきは、エラー画面が出ず送信ボタンも押せてしまう点です。送信されていないことに気づかないまま問い合わせを取りこぼす恐れがあるため、移行計画に置き換え作業を最初から含めてください。

旧サーバーはいつ解約していいですか?

独自ドメインがNetlifyを向き、httpsで200が返ることを確認してからです。DNSの反映には数時間から1〜2日かかり、その間はまだ旧サーバーを見ている人がいます。反映を確認するまでファイルを消さないでください。

レンタルサーバー側でドメインの設定は必要ですか?

公開先がNetlifyなら不要です。むしろ登録するとサーバー側にもDNS設定が作られ、Netlify側と競合してSSL証明書が発行できなくなります。設定するのはドメインのDNSレコードだけです。

まとめ

移行後の運用がFTPとどう変わるかは、Netlifyとレンタルサーバーの使い分けにまとめました。公開手順そのものはNetlifyで静的サイトを公開する手順が詳しいです。

この記事を書いた人
カズト(ETERNAL d.c.t)

ETERNAL d.c.t 代表。Web制作・生成AI導入支援・ライバー事務所運営を手がける。Claude Code / Codex CLI / n8n / Google Apps Script を実務で毎日使い、自社サイト・学習アプリ・業務自動化を内製している。このサイトでは、実際に自分が金を払って使ったツールだけを扱う。