Skip to content
sho10case
Go back

WordPressからAstro移行後の「アクセス減」をガチ分析!GA4の数字で見えた真の原因と対策

こんにちは、ショウです!

先日、このブログをWordPressからAstroへと移行しました。サイトの爆速化に成功して意気揚々としていたのですが、Google Analytics(GA4)を覗いてみると、衝撃の結果が待っていました。

「……アクセス、減ってない?」

今回は、移行前後(約3週間ずつ)のデータを徹底的に比較し、何が起きていたのか、そしてどう対策したのかを赤裸々に公開します。


1. 衝撃のデータ:移行後に起きた「2つの異変」

まずは、移行前後(WordPress:1/20〜2/12 vs Astro:2/14〜3/5)の主要指標の比較表をご覧ください。

指標移行前 (WordPress)移行後 (Astro)変化(1日平均)
セッション数17.6/日13.6/日-22%
ページビュー数21.1/日15.0/日-29%
直帰率32.9%46.9%+14pt (悪化)
平均滞在時間151秒134秒-11%

全体的に数字が落ち込んでいます。特に直帰率の14ポイント上昇は、ブログ運営者として無視できないレベルです。


2. 原因の深掘り:犯人は「エースの失速」と「スマホの迷子」

なぜここまで数字が悪化したのか? 詳細を調べると、3つの真実が見えてきました。

① エース記事「Google AI Plus」のトレンド終了

移行直前に公開した「Google AI Plusの比較記事」が爆発的にヒットしていたのですが、そのトレンドが2月後半にかけて落ち着きました。 1日平均 7.4 PV → 1.4 PV への激減。これがPV減少の約半分を占めていました。

② モバイル直帰率の急増(26% → 46%)

デバイス別に分析したところ、PCよりもモバイル(スマホ)ユーザーの直帰率が20ポイントも悪化していました。Astro化したことで表示は早くなったはずなのに、なぜ……?

③ 回遊導線(関連記事)の喪失

ここで気づいたのが、**「テーマ(AstroPaper)の初期状態には関連記事がない」**という事実です。 WordPress時代はプラグインなどで「この記事もおすすめ」と出していたのが、Astro移行で消えてしまいました。スマホユーザーは記事を読み終えた後、次に読むものがなく、そのまま離脱(直帰)してしまっていたのです。


3. Gemini × MCP:AIと挑む「データ駆動」の改善

今回の分析と対策には、僕の頼れる相棒である Gemini(AI)MCP(Model Context Protocol) をフル活用しました。

具体的には、以下のようなプロセスで進めました:

  1. データ抽出: MCPツールを通じてGA4のAPIを叩き、移行前後の生データをGeminiに読み込ませる。
  2. 多角的な分析: Geminiが「モバイル直帰率の急増」や「特定記事のPV減衰」といった、自分一人では見落としがちな変化を瞬時に特定。
  3. コードの自動生成・修正: 分析結果から「関連記事が必要だ」という結論に至り、GeminiがAstro用の選出ロジックを生成。MCP経由で直接プロジェクトのソースコードを書き換え。

「データを見て、原因を突き止め、コードを直す」という一連の流れをAIと二人三脚で行うことで、気づきから実装完了までわずか数十分で終えることができました。まさにAI時代の開発スタイルです!


4. 即効対策:関連記事(Related Posts)の実装

原因が「回遊性の低さ」にあるなら、やることは一つ。関連記事機能の実装です。

現在のタグ情報を活用して、関連度の高い記事を自動で選出し、記事末尾に表示するロジックを組み込みました。

実装したロジック(Astroフロントマター):

同じタグを持つ記事をカウントし、多い順(+新しい順)に最大3件ピックアップします。

const relatedPosts = posts
  .filter(p => p.id !== post.id && !p.data.draft)
  .map(p => {
    // 現在の記事と共通のタグ数をカウント
    const commonTags = p.data.tags.filter(t => tags.includes(t)).length;
    return { ...p, commonTags };
  })
  .filter(p => p.commonTags > 0)
  .sort((a, b) => {
    if (a.commonTags !== b.commonTags) return b.commonTags - a.commonTags;
    return new Date(b.data.pubDatetime).getTime() - new Date(a.data.pubDatetime).getTime();
  })
  .slice(0, 3);

これを PostDetails.astro に追加し、記事の最後(SNSシェアボタンの下)に配置しました。


4. まとめ:技術も大事だが「おもてなし」も大事

今回の教訓は、**「サイトを高速化(Astro化)しても、読者を次に導く導線がなければ離脱される」**ということです。

「爆速」はあくまで土台。その上で、WordPress時代には当たり前だった「関連記事」や「サイドバー」といった**回遊のための“おもてなし”**を、Astroでも一つずつ丁寧に実装していく必要があります。

今後の課題:

  • モバイルメニューの改善: スマホユーザーがさらに回遊しやすい工夫。
  • 正確な計測: astro:page-load 時のGA4計測が二重になっていないかの微調整。

もし、これからAstroへ移行する方がいたら、「スピード」の影に隠れた「回遊性」にもぜひ注目してみてください!

まだまだ移行したてでアクセス数も少ないですが、これから少しずつ改善を重ねて、皆さんに役立つ情報を届けていきたいと思っています。他の記事もぜひ読んでいただけると、泣いて喜びます!笑

それでは、また!



Related Posts