ブログエンジン
ルール
- MDXを使用したコンテンツ管理:
content/blog/[slug].mdx— フロントマターにはtitle、description、publishedAt、updatedAt、tags、imageを含める - 動的ルーティング:
app/blog/[slug]/page.tsx— ビルド時にMDXを取得し、ファイルシステムから静的パラメータを生成 - RSSフィード:
/rss.xmlにfeed.xmlを生成 — 各記事のタイトル、説明、公開日、リンク、guidを含める — ビルド時に再生成 - サイトマップ: すべてのブログURL、最終更新日、変更頻度を含む
sitemap.xmlを生成 — Google Search Consoleに送信 - JSON-LD構造化データ: 各記事に
Articleスキーマを適用 — headline、datePublished、dateModified、author、image、publisher - 関連記事: タグベースのマッチング — 2つ以上のタグが共通する記事を検索し、該当がない場合は最新記事を表示 — 関連記事を3件表示
- 目次: MDX内のH2/H3見出しから自動生成 — デスクトップではスティッキーサイドバーとして表示
- ページネーション: 1ページあたり10記事、
/blog/page/[num]に配置 — SEOのため前/次のリンクを含める
フロントマタースキーマ
title: "記事タイトル"
description: "160文字以内のメタ説明"
publishedAt: "2025-01-15"
updatedAt: "2025-02-01"
tags: ["nextjs", "react"]
image: "/blog/post-title/cover.jpg"
author: "著者名"
RSSフィードパターン
APIルートから提供するか、ビルド時に生成します。必須フィールド: <title>, <link>, <description>, 各記事の<item>に<guid>, <pubDate>を含める。
避けるべきこと
- フロントマターに
publishedAtがない — RSSとソートが機能しなくなる - サイトマップを送信しない — Googleが新しい記事を素早く発見できない
- JSON-LDをスキップする — リッチスニペットの対象外になる
- 関連記事をハードコードする — タグマッチングによる自動関連付けを使用する