WordPressからAstroへ:英語サイトをリニューアル
研究室のWebサイトを、重たいWordPressから軽量なAstroへと移行することで、管理の手間を大幅に削減し、パフォーマンスを向上させることができました。
実際にAstroへ移行を始めたのが2月頃で、生成AIを使って、Astroのレイアウト構築までは、わずか2,3時間で構築が完了しました。(いい時代になったものです)
意外にWordPress記事からの移行が手間がかかり、細かい修正を含むと、約1ヶ月でリニューアルが完了しました。
なぜWordPressから移行したのか
WordPressでの運用には、常に頭を悩ませる問題がありました。 PHPやMySQLのアップデート、プラグインの互換性確認、セキュリティパッチの適用など、定期的なメンテナンスに多くの時間を費やしていたのです。
特に困っていたのは以下の3点です。
- データベースの定期的なバックアップ
- プラグインの更新による動作確認
- セキュリティ対策の継続的な実施
これらの課題を解決するため、静的サイトジェネレーターの採用を決意しました。
Astroを選んだ理由
「なぜAstroなのか?」そう思われる方も多いでしょう。
静的サイトジェネレーターには、Next.jsやGatsbyなど、多くの選択肢があります。 その中でAstroを選んだ理由は、以下の3つです。
- ゼロJavaScriptがデフォルト
- Markdownのビルトインサポート
- 直感的なファイル構造
研究室のWebサイトは、ほとんどが静的なコンテンツです。動的な要素が少ないため、JavaScriptを最小限に抑えられるAstroは、私たちのニーズにぴったりでした。
移行による具体的な改善
移行後、サイトの運用は劇的に改善されました。
パフォーマンスの向上
ページの読み込み時間が3秒から0.5秒に短縮されました。データベースへのクエリがなくなり、静的ファイルの配信だけで済むようになったためです。
メンテナンス作業の削減
以前は月に数回必要だった更新作業が、ほぼゼロになりました。 プラグインの更新やセキュリティパッチの適用といった定期的な作業から解放されたのです。
コンテンツ更新の簡素化
WordPressの管理画面を開く必要はありません。Markdownファイルを編集し、ビルドして転送するだけです。 シンプルな更新フローは、作業ミスのリスクも減らしてくれました。
デプロイ
こちらの公式サイトは大学のレンタルサーバーで運用しており、ローカル側のnode環境から一旦ビルドして、そのファイルをレンタルサーバーにアップロードするという流れです。
問題点
Astroへ移行したことにより、TypeScriptやnode環境の知識が必要になり、WordPressのように誰でも修正等が出来ない点です。
まとめ
WordPressからAstroへの移行は、以前からの懸案事項であったため、ようやく前進できました。 メンテナンスの手間が減り、パフォーマンスが向上し、更新作業も簡素化されました。
静的サイトジェネレーターは、必ずしもすべてのWebサイトに適しているわけではありません。 しかし、研究室のような比較的シンプルなWebサイトでは、その真価を十分に発揮してくれるでしょう。
英語版のサイトは、記事の更新が極小だったため、WordPressから脱却しても、それほど影響はなかったのですが、日本語サイトは、内部の数人で編集することがあるので、まだWordPressで運用しています。 早く、こちらもWordPressから脱却して、Astroで運用したいですね。