2つのブログを、別々の技術で作っている

僕は今、2つのブログを並行して運営しています。

ひとつは、このkuroco.co/blog/。もうひとつは、イマココログ(imacoco-log.com)。

同じ人間が書いているのに、技術スタックがまるで違います。技術スタックというのは、サイトを動かすために使っている技術の組み合わせのこと。料理でいえば「どんな調理器具と食材を使っているか」みたいなものです。

イマココログはWordPress + SWELL。WordPressは世界中で一番使われているCMS(Contents Management System=コンテンツ管理システム)で、要するに「プログラミングができなくてもWebサイトを作って管理できる仕組み」です。SWELLはWordPress用の日本製有料テーマで、デザインや機能を手軽に整えてくれるパッケージ。管理画面にログインして、ビジュアルエディタで書いて、公開ボタンを押す。サーバーはシンレンタルサーバーを契約していて、月額の運用コストがかかります。

一方、このkuroco.co/blog/はAstro + Cloudflare Pages + Cloudflare R2。ひとつずつ説明します。

Astroは「静的サイトジェネレーター」と呼ばれるツールです。Markdown(マークダウン)というシンプルなテキスト形式で記事を書くと、それをHTMLファイル——ブラウザが読めるWebページの形——に変換してくれる。WordPressが「アクセスされるたびにページを作る」のに対して、Astroは「先にページを全部作っておく」仕組みです。

Cloudflare Pages(クラウドフレア ページズ)は、その作っておいたHTMLファイルを世界中に配信してくれるホスティングサービス。ホスティングとは、Webサイトのファイルを置いておく場所を提供してくれるサービスのことです。

Cloudflare R2は、画像ファイルを保管するストレージ(倉庫)。無料枠が10GB、ダウンロードは無制限で帯域課金がない。

この3つを組み合わせると、運用コストは実質ゼロでブログが運営できます。

なぜ片方はWordPressで、片方はAstroなのか。今日はその判断の裏側を書きます。

WordPressを選ばなかったのではなく、Astroを選ぶ理由があった

先に言っておくと、WordPressが悪いとは思っていません。むしろイマココログではWordPressを選んだことに満足しています。

WordPressの強みは、なんといっても管理画面の存在です。記事を書く、画像を入れる、カテゴリを設定する、公開する——全部ブラウザ上でできる。SWELLを使えばデザインのカスタマイズも直感的にできる。プログラミングの知識がなくても運営できるように設計されています。

イマココログは「記憶喪失になった自分でもここからサイトが作れる」をコンセプトにしたメディアです。読者の多くはWeb初心者。そのメディア自体がWordPress + SWELLで作られていることで、「このサイトと同じ構成で始められますよ」というショーケースになる。だからイマココログにはWordPressが正解でした。

でもkuroco.co/blog/は、読者層が違う。

ここはkurocoを追いかけている人が読む場所です。初心者向けのHowtoではなく、判断の裏側を見たい人が来る。だからCMSの親しみやすさより、僕自身の運用効率を優先して良い場所だった。

Astroで何が変わるのか

Astroの最大の特徴は、最終的に出力されるのが純粋なHTMLファイルだということです。

WordPressはアクセスのたびにサーバー側でPHP(ピーエイチピー)というプログラミング言語が動いてHTMLを生成する「動的サイト」。いわば注文が入ってから料理を作るレストラン。Astroはビルド(変換処理)の時点ですべてのHTMLを生成しておく「静的サイト」。作り置きの惣菜を並べておく形式です。この違いが、いくつかの実用的なメリットを生みます。

まず、表示速度。サーバー側の処理がないから、ファイルを配信するだけで済む。Cloudflare Pagesは世界中にエッジサーバー(ユーザーの近くに置かれた配信拠点)を持っているので、どこからアクセスしても表示が速い。

次に、セキュリティ。WordPressはプラグイン(機能を追加する拡張パーツ)やテーマの脆弱性(セキュリティの穴)を突かれて乗っ取られるリスクが常にある。静的サイトにはデータベースもログイン画面もないから、攻撃対象がそもそも存在しない。

そして、運用コスト。Cloudflare Pagesの無料枠で十分に収まるし、画像を保管するCloudflare R2も無料枠が10GB。ダウンロードは無制限で帯域課金がない。サーバー代がゼロ円でブログを運営できる構成です。

記事を書くワークフローが根本的に違う

技術的な話だけだと伝わりにくいので、実際の記事作成の流れを比較してみます。

WordPressの場合はこう。ブラウザで管理画面にログイン→ビジュアルエディタで記事を書く→画像をアップロード→カテゴリやタグを設定→公開ボタンを押す。

Astroの場合はこう。Obsidian(オブシディアン。メモやノートを管理するアプリ)でMarkdownファイルを書く→フロントマター(記事の冒頭に書くタイトル・日付・カテゴリなどのメタ情報)を整える→Astroプロジェクトの所定のフォルダに配置→git push→自動的にCloudflare Pagesにデプロイ。

git pushとデプロイは聞き慣れない言葉かもしれません。Git(ギット)はファイルの変更履歴を管理するツールで、git pushはその変更を「サーバーに送る」操作のこと。デプロイは「本番環境に反映する」、つまり記事が実際にインターネット上で見られる状態にすることです。

WordPressは「ブラウザで完結する」。Astroは「テキストエディタとGitで完結する」。

どちらが楽かは人による。でも僕の場合、ふだんの仕事でObsidianもGitも使い慣れている。だったらわざわざブラウザの管理画面を開くより、いつもの環境で書いてgit pushするほうが速い。

しかもAIコーディングツールを使えば、git pushすら自動化できる。「この記事を公開して」と言えば、ファイルの配置からコミット(変更の記録)、プッシュ(サーバーへの送信)、デプロイ(本番公開)まで全部やってくれる。管理画面のログインもFTP(ファイル転送)もREST API(外部からサイトを操作する仕組み)も要らない。

万能ではない。欠点もある

Astro + Cloudflare Pagesが完璧かというと、そんなことはない。

まず、アフィリエイト広告の差し替えが面倒です。WordPressならSWELLの広告管理機能で一括管理できるけど、Astroだと記事ごとにコードを書くか、MDX(Markdownにプログラムのパーツを埋め込めるようにした拡張形式)を使うことになる。手間は確実に増えます。

関連記事や人気記事の表示も、WordPressならプラグインひとつで済むけど、Astroではコンポーネント(ページを構成するパーツ)を自分でプログラミングして作る必要がある。

AdSense(Googleの広告配信サービス)のコードはレイアウトテンプレート(全ページ共通の枠組み)に一度埋め込めば全記事に反映されるから問題ないけど、記事単位で広告の出し分けをしたくなったら途端に面倒になる。

つまり、「記事を書いて公開する」だけならAstroは最高に楽。でも「メディアとして機能を充実させていく」段階になると、WordPressのエコシステム(テーマやプラグインが豊富に揃っている生態系のような環境)の強さを実感することになるはずです。

同じ人間が両方やるから見えるものがある

実はこの「2つの技術スタックを同時に運営している」こと自体が、kurocoの強みだと思っています。

WordPress vs Astro(あるいは静的サイトジェネレーター)の比較記事は世の中にたくさんある。でもそのほとんどは、片方しか使ったことがない人が書いている。

僕は両方を同時に、それぞれ違う目的で運営している。イマココログでWordPressの良さも不便さも体感しながら、kuroco.co/blog/でAstroの良さも限界も体感している。

「初心者が始めるならどっちがいいか」「SEOに差は出るのか」「運用コストは実際どれくらい違うのか」——これらの問いに対して、比較論ではなく実体験から答えられるようになる。そのデータがここに蓄積されていく予定です。

技術選定は「何を作るか」ではなく「誰が使うか」で決まる

最後にひとつだけ。

技術を選ぶとき、機能やスペックの比較表を見て決める人が多い。でも僕は、それよりも「誰がどう使うか」のほうが大事だと思っています。

イマココログは、僕以外の人にも運営を引き継げる可能性がある場所。だから汎用的なWordPressを選んだ。kuroco.co/blog/は、僕しか書かない場所。だから僕の手に馴染む道具を選んだ。

同じ人間でも、場所の性格が違えば最適な道具も変わる。「WordPressかAstroか」ではなく「この場所には何が合うか」。それが技術選定の本質だと僕は考えています。

もしこれからブログを始めようとしている方がこの記事を読んでいるなら、スペック比較の前に「自分はどう使いたいか」を先に考えてみてください。答えはそこから出てくるはずです。