• #troubleshooting
  • #nuxt-content
  • #frontmatter
  • #markdown
  • #bug-fix
未分類

コンテンツがインデックスに表示されない問題の原因と対処

問題の概要

コンテンツディレクトリ内の一部のマークダウンファイルが、記事一覧(インデックス)に表示されない問題が発生していました。

原因の特定

調査の結果、以下の3つの原因が判明しました:

1. フロントマターの完全な欠落(高優先度)

以下のファイルにはフロントマターが全く存在していませんでした:

  • apps/web/content/2025-10-19/google-claims-fact-check.md
  • apps/web/content/2025-10-20/設計思想Q&A.md
  • apps/web/content/2025-10-19/aaa.md(重複ファイル)

問題点:

  • Nuxt Contentはフロントマターなしのマークダウンファイルを正しく認識・解析できない
  • titledescriptionpublishedAtなどの必須メタデータが存在しない

2. フィールド名の不一致(中優先度)

以下のファイルはpublishedAtではなくdateフィールドを使用していました:

  • apps/web/content/2025-10-18/excel-functions-let-xmatch-index-guide.md
  • apps/web/content/2025-10-19/claude-skills-complete-guide.md
  • apps/web/content/2025-10-20/kurikoshi-kessonkin-calculation-module.md
  • apps/web/content/2025-10-19/freee-ai-accounting-flow.md

問題点:

  • アプリケーションがpublishedAtフィールドを期待している
  • dateフィールドでは日付が正しく認識されず、ソートや表示に問題が発生

3. 日本語ファイル名(低優先度)

以下のファイルが日本語ファイル名を使用していました:

  • apps/web/content/2025-10-06/コミュニケーション原則メモ.md
  • apps/web/content/2025-10-06/SNS発信の原則メモ.md
  • apps/web/content/2025-10-20/設計思想Q&A.md

問題点:

  • URLエンコーディングの問題
  • 一部のシステムやツールでの互換性の問題
  • SEO上のベストプラクティスに反する

実施した修正

高優先度: フロントマターの追加

google-claims-fact-check.md

---
title: Googleに関する主張のファクトチェック
description: GoogleのAnthropic・SpaceX保有率、検索シェア、Android端末数など10項目の主張を検証。9項目が正確またはほぼ正確という検証結果
publishedAt: 2025-10-19
tags:
  - Google
  - fact-check
  - Anthropic
  - SpaceX
  - market-share
  - memo
---

設計思想Q&A.md

---
title: Excelファイル 設計思想Q&A
description: Excel人生計画ファイルの設計思想と設計選択について、モジュール設計、LET関数、シート構成などの疑問に答える包括的なQ&A集
publishedAt: 2025-10-20
tags:
  - Excel
  - 設計思想
  - モジュール設計
  - LET関数
  - ライフプランニング
---

freee-ai-accounting-flow.md

publishedAtフィールドを追加:

publishedAt: 2025-10-19

aaa.md

重複ファイルと判明(claude-skills-complete-guide.mdと同じ内容)したため削除。

中優先度: datepublishedAt への変更

以下の3ファイルでdateフィールドをpublishedAtに変更:

  • excel-functions-let-xmatch-index-guide.md
  • claude-skills-complete-guide.md
  • kurikoshi-kessonkin-calculation-module.md

変更例:

# Before
date: "2025-10-19"

# After
publishedAt: "2025-10-19"

低優先度: ファイル名の英語化

旧ファイル名新ファイル名
コミュニケーション原則メモ.mdcommunication-principles.md
SNS発信の原則メモ.mdsns-principles.md
設計思想Q&A.mddesign-philosophy-qa.md

修正結果

開発サーバーのログより:

  • 処理されたファイル数: 28ファイル
  • 全ての変更がNuxt Contentに認識された
  • 削除されたファイル: 4ファイル(重複と日本語名の旧ファイル)
[@nuxt/content] ✔ Processed 2 collections and 28 files

今後の予防策

1. フロントマターテンプレートの使用

新規記事作成時には必ず以下のテンプレートを使用:

---
title: "記事のタイトル"
description: "記事の説明(SEO用)"
publishedAt: "YYYY-MM-DD"
tags:
  - タグ1
  - タグ2
---

2. ファイル命名規則

  • 必須: 英数字とハイフンのみ使用
  • 推奨: ケバブケース(例: my-article-title.md
  • 禁止: 日本語、スペース、特殊文字

3. フロントマター検証スクリプトの作成(推奨)

定期的にフロントマターをチェックするスクリプトを作成することで、問題を早期発見できます。

# 全マークダウンファイルをチェック
find apps/web/content -name "*.md" -exec grep -L "^---" {} \;

まとめ

問題の主な原因:

  1. フロントマターの完全な欠落
  2. datepublishedAtのフィールド名不一致
  3. 日本語ファイル名の使用

修正内容:

  • 4ファイルにフロントマター追加
  • 3ファイルのフィールド名を修正
  • 3ファイルのファイル名を英語化
  • 1ファイルを重複削除

結果: 全28ファイルが正しく認識され、記事一覧に表示されるようになりました。


作成日: 2025-10-26 修正ファイル数: 11ファイル 所要時間: 約5分