Sponsored
ある日突然、自分のサイトが開けなくなりました。
この記事では、WordPress の突然死をきっかけに、Astro への全面移行を決意し、AI を活用して 2.5 時間で完了させた話を書きます。
きっかけは突然のサイトダウン
いつものようにサイトを開こうとしたら、こんな画面が表示されました。

「このサイトで重大なエラーが発生しました。」
何のリリースもしていないのに突然これです。WordPress を使っている方なら、一度は目にしたことがあるかもしれません。
この時点では原因がまったくわからず、とりあえず調査を開始しました。
原因調査はメモリ不足とテーマの問題
デバッグモードを有効にする
WordPress でエラーの詳細を確認するには、wp-config.php を編集してデバッグモードを有効にします。
FTP でサーバーに接続し、WordPress のルートディレクトリにある wp-config.php を開きます。
以下の行を探します。
define('WP_DEBUG', false);
これを以下のように変更します。
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
| 定数 | 内容 |
|---|---|
WP_DEBUG | デバッグモードの有効化 |
WP_DEBUG_LOG | エラーログを wp-content/debug.log に出力 |
WP_DEBUG_DISPLAY | ブラウザへのエラー表示を抑制(ログだけ残す) |
設定後、サイトにアクセスして wp-content/debug.log を確認すると、メモリ不足(Allowed memory size exhausted)のエラーが記録されていました。
・・・。 ・・・・・・・?
何もしてないぞ?
切り分け開始
メモリ不足ということはわかりましたが、何がメモリを食っているのかを特定する必要があります。
定番の切り分けを順番にやっていきました。
- プラグインの ON/OFF
FTP で wp-content/plugins フォルダの名前を一時的にリネーム(例: plugins_bak)して、全プラグインを無効化。
→ 変化なし。プラグインが原因ではない。
- テーマの切り替え
管理画面にもアクセスできなかったので、FTP で wp-content/themes 内の現行テーマフォルダをリネームして強制的にデフォルトテーマに切り替え。
WordPress はアクティブテーマが見つからないと、インストール済みのデフォルトテーマ(Twenty Twenty-Five など)にフォールバックします。
→ 表示された!
ということはテーマが原因です。
Cocoon が犯人、だが詳細は不明
使っていたテーマは Cocoon でした。
無料テーマとしてはかなり優秀で、長年お世話になっていたのですが・・・。
さらに切り分けを試みました。
| 確認内容 | 結果 |
|---|---|
| 親テーマのみで確認 | エラー |
| 子テーマのみで確認 | エラー |
| スキンを切り替えて確認 | エラー |
Cocoon のどのコンポーネントが悪いのかまでは特定できませんでした。
テーマ自体のどこかでメモリを大量消費しているようです。
サーバー側ではメモリ上限を上げられない
テーマ側で解決できないなら、サーバー側でメモリ上限を引き上げればいいのでは?
Lolipop ハイスピードプランの壁
当時使っていたのは Lolipop のハイスピードプランでした。
ハイスピードプランは LiteSpeed を採用しているのですが、この環境では PHP のメモリ上限をユーザー側で変更できませんでした。
wp-config.php に以下を追記してみましたが、効果なし。
define('WP_MEMORY_LIMIT', '256M');
.htaccess に以下を追記してみても、効果なし。
php_value memory_limit 256M
LiteSpeed 環境では .htaccess の php_value ディレクティブが無視されるケースがあり、まさにそれでした。
管理画面からメモリ設定を変更する手段も見当たらず、サーバー側でのアプローチは行き詰まりました。
AI と 2.5 時間で移行した
ずっとやろうと思っていた
正直なところ、WordPress からの脱却はいつかやろうと思っていました。
WordPress は高機能ですが、テーマやプラグインの依存関係、アップデートの度に何か壊れないかヒヤヒヤする運用、そしてそもそも動的生成の必要がない個人ブログには少々オーバースペックです。
ただ、惰性で使い続けていて、なかなかタイミングを見失っていました。
今回の件で完全に腰が上がりました。
「今は AI もあるし、すぐ終わるだろう」という楽観的な見通しもありました。
やったこと
移行の手順はこんな感じです(概ねの流れのイメージが伝わればいいです)。
-
WordPress の全データをローカルへ退避
- FTP ツールでサーバー上の WordPress ファイルを全てローカルにダウンロード
-
データベースのダンプ
- phpMyAdmin の UI からデータベースを SQL でエクスポート
-
Astro プロジェクトの構築
- ダウンロードした WordPress のデータ(投稿、画像、メタ情報など)を移行元として、AI に Astro のテンプレートを組ませる
- Git に初期コミット
- 投稿データの一括変換・移行をコミット
-
デザイン修正と機能改善
- 元のサイトのデザインを再現しつつ、Astro + Tailwind CSS でモダンに再構築
- 各種修正を重ねて完成
-
デプロイ
- Astro の SSG(静的サイト生成)でビルドし、FTP でサーバーに反映
所要時間: 2.5 時間
ここまでの全工程で、かかった時間はたったの 2.5 時間でした。
正直、こんなに早くできるとは思いませんでした。
AI にテンプレート生成やデータ変換を任せられたのが大きいです。
Sponsored
手作業でやっていたら、少なくとも丸一日はかかっていたと思います。
WordPress の管理画面で記事を書く時代から、マークダウンで記事を書いて Git で管理する時代へ。
開発者としてはこちらの方がずっと自然です。
※WP時代からあの記事作成には辟易していて、MD形式のエディタプラグインを入れてました。
おわりに
WordPress の突然の不具合がきっかけで、結果的にはずっとやりたかった Astro への移行を実現できました。
怪我の功名というやつですね。
静的サイトになったことで、表示速度は圧倒的に速くなり、セキュリティリスクも激減しました。テーマやプラグインのアップデートに怯える日々からも解放されました。
もし WordPress の運用に疲れている方がいれば、Astro への移行は選択肢としておすすめです。特に、AI を活用すれば移行コストは驚くほど低く済みます。
重い腰が上がらない方は、WordPress が壊れるのを待つのもアリかもしれません(冗談です)。