ブログをNext.jsからAstroに移行した(あとAMPやめた)感想
こんにちは!ブログの収益6割減、Mizutani(@sirycity)です。元が雀の涙なのでヨシ!
今日はそんなブログの暇つぶし起爆剤としてフレームワークをNextからAstroに移行した話です。
結論
Astro、全体的に設定が楽すぎる。そら流行るわ。
はじめに
このブログは度々フレームワークを変更してますがここ数年はNext.jsのPages Router(SSG)+PWA+AMPみたいな構成でした。ただ昨年からそろそろ変えようと思っていて、ついに今月Astro(SSG)+PWAに変えました。AMPはやめた。なお記事は引き続きMarkdown管理です。
困っていたところ
従来の技術スタックで困ってたところたちです。
ビルド遅い
これはNext自身の問題。Pages RouterかApp Routerかは関係ないですね。ビルドが5分弱くらいかかり、そのせいで執筆のモチベーションが下がります(己の気力不足を棚に上げながら)Turbopackが発展すれば将来的には改善されるかも。
AMPが時代遅れ
まあこれはNextだろうがAMPやめればいいんだけどね。AMPの設定、めっちゃ頑張ったんだけどもう世間的には時代遅れになってまいました。
実際のところ1年半前にもAstroに移行しようかな?と思ったタイミングはあって、その時点ではAstroのAMP対応がネックになって諦めました。しかしもうAMPは知らん。設定めんどいんじゃ。回線の整った日本ではコンマ何秒のメリットは薄い(ソースなし)ごりごり書いたコードも全て闇に葬った。
Markdown周りの設定がめんどい
Nextはmarkdownのパースに関してもフルスクラッチ…とまではいかずとも自力でゴリゴリ書く部分が多いです。その分自由度は高いんですけどね。少なくともremarkとかrehypeとかの仕組みを知った上で主要なプラグインを抑えて…くらいまでの知識は必要。そして頑張って覚えてもライブラリのバージョンを上げると破壊的変更が入ったりと、この辺りがかなり苦痛でした。メインはブログのはずなのに。もうついていけないです。
他方Astroはcontent
ディレクトリにconfig
作って適当なディレクトリ作ってmdファイル置くだけ。この辺の詳細は割愛します。プラグインもastro.config
に書くだけ。わかりやすい!自由度は若干低いかも。
移行にあたって
全体的には簡単
はい、簡単でした。数時間です。tsx→astroの変換とかしなければもっと短時間でいけると思います。PWAとかGoogle Adsenseの設定でちょっと詰まりそうかと思いましたが杞憂でした。プラグイン入れるだけです。
詰まった点はほぼ無かったですが1つだけ、markdwonファイルを設置するディレクトリ名は固定です。src/content
です。これ固定なのなんでだろうね。
懸念点
AMPやめてアクセス数激落ちしたらどうしようかとも思っていた時期もありましたが現行の検索アルゴリズムだとどっちにしろ個人ブログはSEO最悪クラスなので大丈夫です(?)
他にはAstroの将来性とかプラグイン形式の弊害としての密結合とかは気になりますがいいんです。普通の技術選定ならまだしも技術ブログの本体はMarkdownなので。こいつがあればどのフレームワークにも移住できます。
さいごに
最初にも書きましたがAstroすげー。ほんとに。あとはpagesディレクトリでtsxが使えるようになれば完璧ですね。ブログの閲覧数も今のところ?いい感じ。以上。