H3
H3 IncoverInfo
H3開発日誌2026-06-25

情報発信メディア「info.h3incover.com」の新規構築における技術選定と実装ログ

H3 Incoverの情報発信メディア「info.h3incover.com」をNext.jsとTailwind CSSで新規構築した際の実装プロセスと、軽量さを重視した技術構成についてまとめます。

情報発信メディア「info.h3incover.com」の新規構築における技術選定と実装ログ

新規構築の背景

H3 Incoverのブランドサイトとは別に、日々の知見や研究結果をアウトプットする拠点として、今回ブログメディア info.h3incover.com を立ち上げました。

このメディアは、以下のような要件を満たす必要がありました。

  • 表示速度の速さ(SEOおよびユーザー体験のため)
  • 運用の軽さ(DBや管理画面を置かず、エンジニアがGit管理で手軽に更新できること)
  • 拡張性の高さ(将来的にヘッドレスCMS等の導入時にも構造を崩さないこと)
  • ブランドに合わせたミニマルなデザイン

これらを満たすため、今回は Next.js (App Router)Tailwind CSS を採用した静的ジェネレート(SSGベース)の構成を選定しました。

技術スタックの選定理由

1. Next.js (TypeScript)

Next.js は、Reactベースの強力なフレームワークであり、App Router を活用することで高効率なサーバーコンポーネント(React Server Components = RSC)の恩恵を受けることができます。 また、TypeScriptによってデータのやり取りやコンポーネント間のインターフェースを厳格に定義できるため、後々のバグを防ぎ、スムーズな拡張を可能にします。

2. Tailwind CSS

スタイルシート(CSS)の容量を最小限に抑えつつ、一貫したデザインシステムを構築するために採用しました。 H3 Incoverのアイデンティティである「白ベース、余白多め、読みやすい、落ち着いたトーン」を効率的に実現するため、テーマカラーや余白のルール(ユーティリティクラス)をデザインに合わせて最適化しています。

3. Markdown/MDX + gray-matter

初期段階では記事データをデータベースではなく、プロジェクト内の src/content/posts/ に格納するMarkdown形式で管理します。 gray-matter を使用して記事のメタデータ(タイトル、投稿日、カテゴリ等)をパースし、marked でHTMLにレンダリングします。 これにより、将来的にコンテンツをヘッドレスCMS(microCMS等)へ移行する際も、パース部分の差し替えだけで済み、表示コンポーネントの修正を最小限に留めることができます。

実装のポイント

OGPとSEOメタデータの共通化

Next.js の Metadata API を活用し、各ページでのメタ情報(タイトル、ディスクリプション、OGP画像)の設定を自動化・共通化しました。記事詳細ページでは、記事データから動的に生成し、構造化データ(JSON-LD)も同時に挿入されるよう実装しています。

シンプルな目次(TOC)抽出

Markdownの内容を解析して見出し(h2, h3)を抽出し、記事詳細ページに自動で目次を生成する仕組みを実装しました。これにより、長い記事でもスクロールせずに全体像を把握できるようになり、情報設計の思想を体現しています。

課題と今後のロードマップ

今回の第1フェーズでは、まずは記事の投稿・一覧表示・カテゴリ別フィルタといった基本機能を最速でリリースすることに注力しました。 今後は以下のような改善を予定しています。

  • 画像の自動最適化 (next/image) のフル活用
  • 記事の検索機能の追加
  • お問い合わせフォームの設置
  • アフィリエイト導線の検証とCTAの最適化

「小さく、軽く、続けられる設計」を身をもって体現するプロジェクトとして、このメディア自体も継続的に改善・発信を続けていきます。

この記事を共有する (Share)

関連記事 (Related)