コンテンツにスキップ

MkDocsでメタディスクリプション設定は可能か?3つの実装方法と実践例

この記事のポイント

MkDocsはメタディスクリプションの設定を標準でサポートしています。グローバル設定からページ単位の詳細設定まで、SEO要件に応じた柔軟な実装が可能です。本記事では、3つの主要な設定方法と実践例を紹介します。

方法1:グローバル設定(サイト全体のデフォルト)

最も基本的な設定方法は、mkdocs.ymlでサイト全体のデフォルトメタディスクリプションを定義することです。

# mkdocs.yml
site_name: Your Site
site_description: サイト全体のデフォルトメタディスクリプション(50-160文字推奨)

この設定により、個別ページで明示的に指定されていない場合のフォールバック値として機能します。

方法2:ページ単位のメタディスクリプション設定

各Markdownファイルの冒頭にYAMLフロントマターを使用して、ページ固有のメタディスクリプションを設定できます。

---
description: このページ固有のメタディスクリプション。検索結果に表示される重要な説明文です。
---

# ページタイトル

本文コンテンツ...

設定の優先順位: 1. ページ単位のdescription(最優先) 2. サイト全体のsite_description(フォールバック)

方法3:プラグインによる自動生成

Material for MkDocsの内蔵metaプラグイン

Material for MkDocsテーマには、ディレクトリ単位でメタデータを管理できるmetaプラグインが含まれています。

# mkdocs.yml
plugins:
  - meta

.meta.ymlファイルをディレクトリに配置することで、そのディレクトリ内の全ファイルにメタデータを適用できます。

# docs/guide/.meta.yml
description: ガイドセクションの標準メタディスクリプション

mkdocs-meta-descriptions-plugin

各ページの最初の段落から自動的にメタディスクリプションを生成するプラグインです。

plugins:
  - meta-descriptions:
      enable_checks: true
      min_length: 50      # 最小文字数
      max_length: 160     # 最大文字数(SEO推奨値)
      trim: true          # 文字数超過時の自動トリミング

実装例と確認方法

実際のHTML出力例
<head>
  <meta name="description" content="MkDocsでSEO対策として重要なメタディスクリプションを設定する方法を解説。">
  <!-- その他のメタタグ -->
</head>

確認コマンド

# ビルドしてHTML出力を確認
mkdocs build --strict
grep -r "meta name=\"description\"" site/

SEO最適化のベストプラクティス

  1. 文字数制限: 50-160文字に収める(2025年のGoogle推奨値)
  2. ユーザー意図重視: キーワード詰め込みよりも自然な説明を優先
  3. ページごとの最適化: 重要なページには個別設定を行う
  4. 定期的な見直し: 検索パフォーマンスに応じて調整

まとめ

MkDocsは標準機能とプラグインを組み合わせることで、柔軟なメタディスクリプション設定が可能です。サイトの規模とSEO要件に応じて、適切な方法を選択してください。小規模サイトならグローバル設定で十分ですが、SEOを重視する場合はページ単位の最適化を推奨します。