【2025年最新】Python製のCMSフレームワークwagtailって何?
まずは30秒で診断
あなたにWagtailは向いている?
Q1 / 5
Pythonでコードを
書いた経験がある
1 / 5
← スワイプまたはボタンで回答 →
「WordPressのテーマやプラグインが思い通りにならない...」そんな経験はありませんか?
Python開発者なら、Django製のCMS「Wagtail」という選択肢があります。コードで自由にカスタマイズしながら、コンテンツ管理の効率化も両立できるフレームワークです。
KEY TAKEAWAYS
この記事でわかること
- CMSの基本概念:コンテンツ管理システムとは何か、どんな役割を果たすのか
- WordPressとWagtailの本質的な違い:提供形態と設計思想の差を理解
- Wagtailを選ぶ理由:柔軟性、Pythonエコシステム、StreamFieldの魅力
- すぐに試せる環境構築:10分でWagtailプロジェクトを立ち上げる手順
参考: Wagtail公式ドキュメント
この記事の対象者
AUDIENCE 01
プログラミングができるCMS探しの方
多少のコードが書ける方で、自分好みにカスタマイズできるCMSを探している方におすすめです。
AUDIENCE 02
Djangoをさらに活用したい方
Pythonフレームワーク「Django」を習得済みで、さらにDjangoを便利に使いたい方に最適です。
AUDIENCE 03
WordPress等に不満がある方
既存CMSのテーマやプラグインに限界を感じ、情報収集している方にぴったりです。
本記事では以下のような技術を活用していきます。これらに興味がある、または習得済みだとスムーズです。
| 名称 | バージョン | 概要 |
|---|---|---|
| Python | 3.12 | 主となるプログラミング言語 |
| Django | 5.2系(LTS) | WagtailのもとになるPythonフレームワーク |
| Wagtail | 7.0系(LTS) | Python製、Djangoの拡張であるCMSライブラリ |
| uv | 0.8以降 | Pythonのバージョン・パッケージ管理ツール |
そもそもCMSってなに?

CMSとは、コンテンツ・マネジメント・システム(Content Management System)の略です。Webサイトのコンテンツ(テキスト、画像、動画など)を、専門的な知識がなくても簡単に追加・管理・更新できる仕組みのことを指します。
もっと簡単に言うと、Webサイトの「裏側」にある管理画面のようなものです。
通常、Webサイトを作るにはHTMLやCSS、JavaScriptといった専門的な言語でコードを書く必要があります。しかし、CMSを使えば、まるでブログやSNSに投稿するように、見たままの感覚で記事を作成したり、写真をアップロードしたりできます。
CMSがあると何が嬉しい?
プログラマーでないマーケターや編集者でも、Webサイトの運営に直接関わることができるようになります。CMSは、Webサイト制作の効率を飛躍的に向上させるための重要なツールと言えるでしょう。
もっとも有名なCMS「WordPress」との違いは?
CMSと聞いて、多くの人が真っ先に思い浮かべるのがWordPressではないでしょうか。全世界のWebサイトの実に42.8%以上がWordPressで作られていると言われています。では、WagtailとWordPressは具体的に何が違うのでしょうか?

| 比較項目 | WordPress | Wagtail |
|---|---|---|
| 提供形態 | 完成済みのソフトウェア | Djangoアプリ(フレームワーク) |
| 主な利用者 | ブロガー、マーケターなどの非開発者 | Python/Django開発者 |
| カスタマイズ性 | テーマとプラグインが圧倒的に豊富 | コードによる自由な設計 |
| 設計思想 | ブログから始まった多機能CMS | 開発者が作る柔軟なコンテンツ管理基盤 |
| セキュリティ | プラグイン依存でリスクが増加しやすい | Googleも認めた堅牢なセキュリティ |
一言で言うと、提供形態と設計思想が根本的に異なります。
参考: Wagtail vs WordPress公式比較, W3Techs CMS統計
クイズ
この特徴はWordPress?Wagtail?タップで答え合わせ
6万以上の
プラグインがある
タップで答え
WordPress
豊富なエコシステム
コンテンツ構造を
完全に自由に定義
タップで答え
Wagtail
モデルで自由設計
NASA・Googleが
採用
タップで答え
Wagtail
高セキュリティ評価
世界のWebサイトの
42%以上が使用
タップで答え
WordPress
圧倒的シェア
StreamFieldで
ブロック自由配置
タップで答え
Wagtail
柔軟なコンテンツ編集
プログラミング不要で
サイト構築可能
タップで答え
WordPress
ノーコードで完結
WordPressのメリット、デメリット
メリット
WordPressは、インストールすればすぐにブログサイトとして機能する「完成されたソフトウェア」です。
とにかく豊富なテーマ(デザインテンプレート)とプラグイン(拡張機能)があり、プログラミング知識が一切なくてもECサイトや予約サイトなど、様々な用途のWebサイトを構築できます。コミュニティも巨大で、困ったときの情報も豊富です。
デメリット
一方で、完成されているがゆえに自由な変更には弱いです。
テーマやプラグインとして用意されているものを開発者の用意したとおりに使う分には素早くきれいにできます。逆にそれがない場合はPHP等でコーディングすることになりますが、これが非常に面倒です。
筆者はもはや諦めてテーマやプラグインが存在しなかったりイメージと違うデザインも目をつぶって使っていました。
Wagtailのメリット、デメリット
メリット
Wagtailは、PythonのWebフレームワークであるDjango上で動作する「CMSフレームワーク」です。Wagtail単体ではWebサイトとして機能しません。
開発者がDjangoの知識を活かして、コンテンツの構造(モデル)から管理画面の項目、そしてサイトの見た目(フロントエンド)まで、すべてをコードで定義していきます。
自分の思い描いたデザイン、機能のWebアプリをコーディングさえ苦にならなければ完全に実現することができます。
デメリット
メリットと裏表ですが、コーディングが前提となっているCMSフレームワークですので、Pythonが大前提習得されていてプログラムをある程度できる人でないと扱うことはできません。
例えばまったく別業種の方が副業でブログなどを書いてみようといった時には絶対におすすめできません。
また、特殊なユースケースではドキュメントも用意されておらず、Wagtailそのもののソースコードを読み込んで、Djangoのテンプレートオーバーライドの仕組みなどを活用して機能を実現しなければならない場合もあります。
公式ドキュメントにある以下の一文があります。
The best user interface for a programmer is usually a programming language.
このように書いてある通り、非開発者のみで使うようにはそもそも作られていないことがわかります。
Wagtailを選ぶ理由
WordPressという強力な選択肢がある中で、あえてWagtailを選ぶのには明確な理由があります。
圧倒的な柔軟性と拡張性
Wagtailの最大の魅力は、その柔軟性です。WordPressが「投稿」や「固定ページ」といった決まった型を基本とするのに対し、Wagtailでは開発者がコンテンツの構造をゼロから定義します。
例えば、「イベントページ」というコンテンツタイプを作り、それには「開催日時」「場所」「登壇者リスト」といった独自のフィールドを持たせる、といったことが自由自在です。
Python/Djangoエコシステムの活用
WagtailはDjango製です。これは、すでにPythonやDjangoに慣れ親しんでいる開発者にとって、学習コストが低いという大きなメリットがあります。
また、Djangoが持つ強力なORM、堅牢なセキュリティ、豊富なサードパーティライブラリといった恩恵を余すところなく受けることができます。AI活用の観点でもPythonは有利です。
洗練された管理画面とStreamField
コンテンツを管理する編集者にとって、管理画面の使いやすさは非常に重要です。Wagtailは、直感的でモダンなUIを提供することに力を入れています。
特に「StreamField」という機能は画期的で、テキスト、画像、動画、引用といった様々なコンテンツブロックを、編集者が好きな順番で自由に組み合わせてページを作成できます。
ヘッドレスCMSとしての利用
Wagtailは、管理画面(バックエンド)と表示部分(フロントエンド)を完全に分離するヘッドレスCMSとしても非常に強力です。
APIを通じてコンテンツを配信できるため、ReactやVue.jsといったモダンなJavaScriptフレームワークで作るWebサイトや、スマートフォンアプリのバックエンドとしても活用できます。
筆者の実感
自分で定義しているので、他の出来合いのCMSで起きがちだった「プラグイン入れたけどそもそもプラグインの使い方がむずい・わからない」みたいなことが起きないのが最高です。
参考: Wagtail Features
Wagtailの得意なこと、苦手なこと
どんなツールにも向き不向きがあります。Wagtailを選ぶ前に、その特性を理解しておくことは非常に重要です。
Wagtailが得意なこと
パフォーマンスや機能、デザインに明確な希望があり妥協したくない場合はWagtailがおすすめです。
- 思い描いたサイトデザインを完璧に実現
- AVIFなどモダンな拡張子への対応
- 精密なキャッシュ戦略
- 高いスケーラビリティとパフォーマンス
Wagtailが苦手なこと
開発が必須であるため「開発者じゃない」とか「デザインテーマは出来合いのものを買うから今日から書き始めたい」みたいなシーンでは選ぶべきではないです。
- 開発なしですぐに始めたい場合
- 既成テーマで十分な場合
- プラグインだけで機能を追加したい場合
Wagtailで作られた有名サイト事例
Wagtailは個人のプロジェクトだけでなく、世界中の名だたる企業や組織でも採用されています。そのスケーラビリティと信頼性の高さを証明する事例をいくつかご紹介します。
他にも公式サイトで紹介されているような様々な有名企業・組織でWagtailが採用されています。Red Cross、Salesforce、NBC、BMW、MITなども含まれます。
Wagtailプロジェクトを立ち上げてみる
実際にWagtailのプロジェクトを始めてみましょう。ここではPython(uv)がインストールされている環境を前提とします。
今後の記事では初心者がWagtailにチャレンジできるように丁寧に解説していきますが、少なくともこのくらいのプログラミング的なことは日常的にやりますので、身に着ける気持ちくらいは必要です。
体験してみよう
ボタンを押してコマンドを「実行」してみてください
「uv init」から順番に実行してみましょう

仮想環境の作成
Pythonでなにかを開発するならまずはここから。クリーンな仮想環境を作成します。
uv init: プロジェクトの初期化uv sync: 仮想環境を作成
# ディレクトリの作成 mkdir myproj # 作成したディレクトリへ移動 cd myproj # プロジェクトの初期化 uv init # 仮想環境作成 uv sync

Wagtailのインストール
仮想環境が作成できたらwagtailをインストールします。2025年5月にリリースされた7.0がLTS(長期サポート)版です。
uv add: パッケージを追加uv pip list: インストール確認
# wagtailのインストール(LTS版の7.0系) uv add "wagtail>=7.0.0,<8.0.0" # バージョン確認 uv pip list

プロジェクトの作成
Wagtailのプロジェクト構造を生成します。Djangoでいうところのdjango-admin startprojectにあたります。
wagtail start: プロジェクト作成コマンド- 最後の
.は現在のディレクトリを指定
# 現在のディレクトリにwagtailプロジェクトを作成 uv run wagtail start myproj .

データベース初期化とユーザー作成
マイグレートとスーパーユーザ作成です。Djangoとまったく同じコマンドが使えます。
migrate: データベーステーブル作成createsuperuser: 管理者アカウント作成
# マイグレート uv run manage.py migrate # スーパーユーザ作成(任意のユーザ情報を入れて作成) uv run manage.py createsuperuser


開発サーバーの起動
サーバー起動もDjangoと同じです。ブラウザでhttp://127.0.0.1:8000にアクセスすると、Wagtailのたまごちゃんが表示されます。
runserver: 開発サーバー起動- 管理画面は
/admin/でアクセス可能
# 開発サーバ起動 uv run manage.py runserver

管理画面にアクセスしてみる
http://127.0.0.1:8000/admin/にアクセスすると、Wagtailの管理画面が表示されます。先ほど作成したスーパーユーザでログインしてみましょう。
- 直感的でモダンなUI
- ページ、画像、ドキュメントの管理
- 多言語対応も標準装備


完了! このようにDjangoプロジェクトだとロケットが飛んでいるトップページですが、Wagtailではたまごちゃんが表示されます。
これがWagtailプロジェクト作成の第一歩ですね。
筆者の場合はここから自動作成されるいらないhomeアプリ、searchアプリを消しちゃってなんやかんやの開発を始めていくのがパターン化しています。
Wagtailでのブログ開発に困ったら...
Wagtailは非常に高機能で比較的ドキュメントも充実していますが、それでも開発中に壁にぶつかることはあるでしょう。そんな時は、以下のリソースをあさってみてください。
- 01
公式ドキュメント (Your First Wagtail Site)
まずはここから始めるのが王道です。ブログ機能を持ったサイトを一通り作るチュートリアルが用意されており、Wagtailの基本的な考え方や開発の流れを体系的に学べます。筆者は公式でめちゃ便利な機能が用意されているのを見逃して無駄で冗長な実装をしてしまったことが幾度となくあります。ドキュメントをくまなくチェックすることをお勧めします。
- 02
GitHub
世界中の開発者がWagtailを使って何を作っているのか、他の人のコードから学ぶことも非常に有効です。また、公式リポジトリのIssueを覗けば、最新の議論や問題解決のヒントが見つかるかもしれません。筆者は正直とりあえずソースコード読みに行っちゃいます。
- 03
Wagtail Slack Workspace
Wagtailには活発なSlackコミュニティがあります。開発中に遭遇したエラーや、実装方法の相談など、世界中の開発者に質問することができます。
Python開発者にとって最高なツール
真面目にやっている開発者としてはアウトプットもしたい。けどWordpressとかでただ文章を書くだけは時間がもったいない。そんな気分になるかもしれません。
Wagtailならコーディングの腕を磨きながらアウトプットもできる。一石二鳥っていう魅力もあります。
"是非一緒にWagtailでコンテンツを管理してみましょう"



まだコメントはありません。最初のコメントを残しませんか?