---
title: "Strapiとは？読み方・使い方と料金を最新版5.55で解説【2026年9月】"
url: "https://www.issoh.co.jp/tech/details/8082/"
published: 2025-08-07
updated: 2026-09-28
categories: ["CMS"]
publisher: "株式会社一創"
---

# Strapiとは？読み方・使い方と料金を最新版5.55で解説【2026年9月】

Strapi（ストラピ）は、Node.jsとTypeScriptで書かれたオープンソースのヘッドレスCMSです。管理画面で定義したコンテンツの型からREST APIを自動で生成し、画面の表示はNext.jsやNuxtなど別のフロントエンドに任せます。本記事では2026年9月24日公開の最新版5.55.1をNode.js v26.5.0で作成・起動し、記事データをAPIで取り出すまでの実行結果をもとに、読み方・使い方・料金・選ぶべき場面を整理します。

## まとめ：Strapiはセルフホストなら無料、APIの自由度と引き換えに運用は自前

- 読み方は「ストラピ」。Strapi Solutions SASが開発し、GitHubの strapi/strapi で公開されているヘッドレスCMSです。
- 最新版は5.55.1（2026年9月24日）。2026年9月はほぼ毎週マイナー版が出ています。
- 動作要件はNode.js v22・v24・v26。データベースはPostgreSQL・MySQL・MariaDB・SQLiteで、MongoDBは使えません。
- 導入は `npx create-strapi@latest` の1コマンドで、既定のDBはSQLite、管理画面は `http://localhost:1337/admin` です。
- 作成直後のAPIは403を返します。Publicロールに find を許可すると公開されますが、その状態では `?status=draft` を付けると下書きまで読めました。
- 料金はセルフホストのCommunityが無料、Growthが月45ドル（3席込み）。Strapi Cloudは月35ドルのStarterからで、2026年9月の料金表に無料プランはありません。
- v4は2026年4月でセキュリティ更新も終わりました。公式は2026年中に新しいメジャー版を出さないと表明しています。

以下、仕組み→要件→使い方→日本語化→料金→選定判断→v4移行の順に根拠と手順を示します。

## Strapiの仕組みと読み方：APIだけを返すヘッドレスCMS

### 読み方「ストラピ」と開発元・ライセンスの条件

Strapiは日本語では「ストラピ」と読みます。開発元はStrapi Solutions SASで、ソースコードはGitHubの strapi/strapi リポジトリにあります。

ライセンスは無条件のMITではありません。リポジトリ直下のLICENSEは、`ee/` ディレクトリ配下のEnterprise Editionを使わず、かつStrapi Cloudにアカウントを登録していない場合に「MIT Expat」を適用すると定めています。npmの `@strapi/strapi` もlicense欄は「SEE LICENSE IN LICENSE」です。OSSライセンスの社内審査がある組織は、この条件文をそのまま審査資料に添付するのが確実です。

### WordPressとの違い：公開画面とコンテンツ管理の分離

WordPressはテーマがHTMLを組み立てて閲覧者に返します。Strapiが持つのは管理画面とAPIだけで、公開サイトのHTMLを作る機能はありません。フロントエンドはNext.jsやNuxt、スマートフォンアプリなどで別に作り、同じAPIから複数の画面へ配信します。

そのため「記事を書いたらすぐサイトに出る」状態を作るには、フロントエンドの実装とホスティングが別途必要です。ヘッドレスCMS全般の仕組みと主要サービスの比較は[ヘッドレスCMSとは？従来型CMSとの違い・主要サービス比較と選び方](/tech/details/1317/)で扱っています。

## Strapi 5の最新バージョンと動作要件（2026年9月時点）

npmの latest は5.55.1で、公開日は2026年9月24日です。Strapi 5の正式版は2024年9月に出ており、それ以降は5.x系のマイナー版を積み上げています。2026年9月は5.53.0（9日）、5.54.0（16日）、5.55.0（23日）、5.55.1（24日）と毎週のように版が上がりました。

| 項目                            | 要件（5.55.1）              |
| ----------------------------- | ----------------------- |
| Node.js（公式ドキュメントの記載）          | v22・v24・v26             |
| Node.jsの区分（2026年9月）           | v22・v24はLTS、v26はCurrent |
| Node.js（package.jsonのengines） | \>=20.0.0 <=26.x.x      |
| PostgreSQL                    | 推奨17.0／最小14.0           |
| MySQL                         | 推奨8.4／最小8.0             |
| MariaDB                       | 推奨11.4／最小10.3           |
| SQLite                        | 3（既定のDB）                |
| MongoDB・NoSQL                 | 非対応                     |

要件の出典は[公式インストール要件](https://docs.strapi.io/cms/installation/cli)です。engines上はNode.js v20でもインストールできますが、公式ドキュメントのサポート対象はv22・v24・v26で、奇数版（v23・v25）も対象外です。Strapiのドキュメントは「LTSのみ対応」と書きながらv26を挙げていますが、Node.jsの公式リリース表では2026年9月時点のv26はまだLTS入り前のCurrentです。Node.jsは本番にLTS版だけを使うよう案内しているため、本番環境はv24、v26は検証用と分けて考えます。本記事の計測はv26.5.0で行い、作成・起動・API取得まで問題なく動きました。SQLiteを使う場合は、公式ドキュメントの要件にPythonも挙がっています。

フロントエンド側で使う公式クライアント `@strapi/client`（1.6.2）はenginesが `<=24.x.x` で、Strapi本体より範囲が狭い点に注意が必要です。Node.js v26で動かすフロントエンドにはインストール時にEBADENGINEの警告が出ます。

## Strapiの使い方：プロジェクト作成からREST APIで記事を取得するまで

### create-strapiでのプロジェクト作成と所要時間

```
npx create-strapi@latest my-project --non-interactive --skip-cloud
cd my-project
npm run develop
```

本記事と同じ版で再現するなら `create-strapi@5.55.1` と版を固定します。`--non-interactive` を付けると、TypeScript・依存パッケージのインストール・Gitの初期化・SQLiteという既定値で作成されます。対話形式では最初にStrapiへのログインか「Skip」かを選ばされ、ログインするとGrowthプランの30日試用が付き、Skipなら無料プランで作成されます。`--skip-cloud` はこのログイン手順を省くオプションです。前述の[LICENSE](https://github.com/strapi/strapi/blob/develop/LICENSE)はMIT適用の条件に「Cloudにアカウントを登録していないこと」を含むため、ライセンス審査のある組織は `--skip-cloud` で作成しておくと説明が単純になります。

Intel Mac・Node.js v26.5.0で5.55.1を作成した計測では、完了まで約400秒、`node_modules` は714MBでした。`--skip-cloud` を付けても依存には `@strapi/plugin-cloud` が入ります。`npm run develop` で起動すると `.tmp/data.db` にSQLiteのファイルができ、`http://localhost:1337/admin` で最初の管理者を登録する画面が開きます。

### コンテンツタイプの定義：Content-Type Builderとschema.json

記事や商品といったデータの型は、管理画面のContent-Type Builderで項目を足して作ります。保存するとプロジェクト内にJSONファイルが書き出され、Gitで差分を管理できます。Content-Type Builderは開発環境でしか使えず、本番モードで起動したStrapiでは型を変更できません。

記事型を作ると `src/api/article/content-types/article/schema.json` に次の内容が保存されます。

```
{
  "kind": "collectionType",
  "collectionName": "articles",
  "info": { "singularName": "article", "pluralName": "articles", "displayName": "Article" },
  "options": { "draftAndPublish": true },
  "attributes": {
    "title": { "type": "string", "required": true },
    "body": { "type": "text" }
  }
}
```

`pluralName` がそのままAPIのパスになり、この例では `/api/articles` が一覧取得、`/api/articles/:documentId` が1件取得のエンドポイントです。`draftAndPublish` を有効にすると、1件のデータが下書きと公開済みの2つの状態を持ちます。

### 公開設定：作成直後は403、Publicロールに find と findOne を許可

```
$ curl -i http://localhost:1337/api/articles
HTTP/1.1 403 Forbidden
{"data":null,"error":{"status":403,"name":"ForbiddenError","message":"Forbidden","details":{}}}
```

コンテンツタイプを作っただけでは、GETもPOSTも403で拒否されます。トークンを付けないリクエストはUsers & PermissionsプラグインのPublicロールとして扱われるため、管理画面の Settings → Users & Permissions plugin → Roles → Public で、Articleの find（一覧）と findOne（1件）だけにチェックを入れます。create・update・deleteはPublicに付けません。

ここに1つ落とし穴があります。Publicに find を許可した状態で `/api/articles?status=draft` を叩くと、未公開の下書きも返ってきました（5.55.1で確認）。`status` はREST APIの正規のパラメーターで、既定が公開版というだけです。下書きを外に見せたくないサイトでは、Publicに権限を付けず、読み取り専用のAPIトークンをサーバー側（Next.jsのサーバーコンポーネント等）に持たせて `Authorization: Bearer` で呼ぶ構成にします。

### レスポンス形式：documentIdとフラットなdata

取得するデータは管理画面の Content Manager → Article → Create new entry で作ります。title と body を入力して「Publish」を押すと公開版ができ、「Save」だけでは下書きのままです。次の出力の id・documentId・日時は環境ごとに変わります。

```
$ curl http://localhost:1337/api/articles
{
  "data": [
    {
      "id": 2,
      "documentId": "e0ppqqlrcrcwe2ysthyvp7uy",
      "title": "Hello Strapi",
      "body": "first entry",
      "createdAt": "2026-09-27T18:27:42.025Z",
      "updatedAt": "2026-09-27T18:27:42.025Z",
      "publishedAt": "2026-09-27T18:27:42.032Z"
    }
  ],
  "meta": { "pagination": { "page": 1, "pageSize": 25, "pageCount": 1, "total": 1 } }
}
```

Strapi 5ではv4にあった `attributes` の入れ子がなくなり、フィールドが `data` の要素に直接並びます。一覧取得の `data` は配列なので `data[0].title`、1件取得では `data` がオブジェクトになり `data.title` で参照します。1件取得のキーは数値の `id` ではなく `documentId` です。上の例で `/api/articles/e0ppqqlrcrcwe2ysthyvp7uy` は200、`/api/articles/2` は404でした。

SQLiteの中身を見ると、1件の記事が下書きの行（id=1）と公開済みの行（id=2）の2行で保存され、同じ `document_id` を共有していました。数値の `id` は公開のたびに変わりうる行番号なので、フロントエンドのURLやキャッシュのキーには使わず、`documentId` か独自のslugを使います。

書き込みの既定値にも差があります。REST APIの POST は `status` を省くと即公開になり、サーバー側コードで使うDocument Service API（`strapi.documents()`）は省くと下書きになります。同じ「作成」でも経路で結果が違うので、移行スクリプトでは `status` を必ず明示します。

### GraphQLとJavaScriptクライアントでの取得

GraphQLは標準では入っておらず、未導入の状態で `/graphql` を開くと404でした。`npm install @strapi/plugin-graphql` で追加すると `/graphql` にエンドポイントとApollo Serverベースのサンドボックスが現れます。RESTとGraphQLのどちらで取得するかの判断軸は[REST APIとGraphQLの違いと使い分け](/tech/details/3591/)にまとめています。

フロントエンド側のプロジェクトで `npm install @strapi/client` を実行し、次のコードを `fetch.mjs` として保存して `node fetch.mjs` で動かします。トークンなしで呼ぶ例なので、Publicロールに find を許可した状態が前提です。前述のようにPublicを閉じてAPIトークンで読む構成では、`strapi({ baseURL, auth: 'トークン' })` と `auth` を渡します。

```
import { strapi } from '@strapi/client';

const client = strapi({ baseURL: 'http://localhost:1337/api' });
const articles = client.collection('articles');
const res = await articles.find({ sort: 'createdAt:desc' });
console.log(res.data.map((a) => a.title));
```

公式クライアント `@strapi/client` は、コレクション型を `collection()`、シングル型を `single()` で扱い、メディアライブラリは `client.files.find()` のように `files` プロパティから操作します。`baseURL` には `/api` まで含め、プロトコル（http・https）が無いと `StrapiInitializationError` になります。

## 管理画面の日本語化：src/admin/app.tsxに ja を追加

管理画面は英語で起動します。create-strapiが生成する `src/admin/app.example.tsx` には言語コードの一覧がコメントアウトで並んでおり、`'ja'` も含まれています。ファイル名を `app.tsx` に変え、`'ja'` のコメントを外すと、管理画面の言語の選択肢に日本語が加わります。日本語の訳文ファイル（ja.json）は `@strapi/admin` に同梱されています。

```
// src/admin/app.tsx
import type { StrapiApp } from '@strapi/strapi/admin';

export default {
  config: {
    locales: ['ja'],
  },
  bootstrap(app: StrapiApp) {},
};
```

追加後は管理画面右上のプロフィールからインターフェース言語に日本語を選びます。`npm run develop` 中なら管理画面が再ビルドされますが、`npm run start` で動かす本番環境では `npm run build` をやり直すまで反映されません。訳が欠けている項目は英語のまま残り、`config.translations` で個別に上書きできます。管理画面の表示言語とは別に、記事そのものを日英で出し分けるにはInternationalization（i18n）機能を使います。こちらは無料のCommunityプランにも含まれています。

## Strapiの料金：CMSライセンスとStrapi Cloudの2本立て

料金表は、機能のライセンスであるCMSプランと、Strapi社がサーバーを運用するStrapi Cloudの2本立てです（いずれも2026年9月28日時点・税別）。CMSプランはセルフホストでもCloudでも同じ体系で、Cloudの料金はその上に乗るホスティング費です。出典は[公式CMS料金](https://strapi.io/pricing-cms)と[公式Cloud料金](https://strapi.io/pricing-cloud)です。

| CMSプラン     | 月額                 | 主な追加機能                                     |
| ---------- | ------------------ | ------------------------------------------ |
| Community  | 無料                 | REST・GraphQL・RBAC・i18n、件数無制限               |
| Growth     | 45ドル（3席込み）         | Releases、Content History（14日）、Live Preview |
| Growth＋SSO | 150ドル追加（追加席50ドル／席） | Okta等のSAML・OAuth2ログイン                      |
| Enterprise | 個別見積もり             | Review Workflows、Audit Logs                |

| Cloudプラン | 月額／プロジェクト | APIリクエスト／月 | 待機時            |
| -------- | --------- | ---------- | -------------- |
| Starter  | 35ドル      | 10万        | スリープ           |
| Pro      | 90ドル      | 100万       | 常時稼働           |
| Business | 450ドル     | 1,000万     | 常時稼働・SLA 99.9% |

Growthの席は3席を超えると1席あたり月15ドルずつ増えます。編集部が変更履歴の復元や公開日の予約をまとめて使いたいならGrowth、公開前の承認フロー（Review Workflows）が必須の組織はEnterpriseしか選択肢がありません。

Cloudの料金表に載っているのはStarter・Pro・Businessの3つで、無料プランの掲載はありません。Starterはアイドル状態が続くとスリープし、次のリクエストで復帰するまで待ちが生じます。ビルド時にだけAPIを呼ぶ静的サイトなら影響は小さく、閲覧のたびにAPIを呼ぶ構成で常時稼働が要るならPro以上を選びます。

CloudのプランはホスティングだけでCMSの有料機能を含みません。Cloud上でContent HistoryやSSOを使うには、Growth以上のCMSライセンスを別に購入してプロジェクトに適用します。

## Strapiを選ぶ場面・選ばない場面

### Strapiの採用条件：自社DBでの保管とAPIの独自設計

CommunityプランはAPIリクエスト数・件数・ロール数がすべて無制限で、ライセンス料がかかりません。運用費はサーバー代とアップデート・監視の人件費になります。ContentfulのようなSaaS型はレコード数やAPI呼び出し数で料金が上がるため（詳細は[Contentfulとは？API構成と料金の増え方・移行手順を実コードで解説](/tech/details/17724/)）、件数が多いカタログやアクセスの多い会員サイトではStrapiのほうが費用を読みやすくなります。コントローラーを書き換えてAPIの返し方を変えられるので、既存システムとの連携で独自のエンドポイントが要る場合にも向きます。

### Strapiの不採用条件：保守担当の不在と自由配置のページ編集

StrapiのセキュリティポリシーはサポートをStrapi 5の最新の安定版だけに限っています。2026年9月のように毎週版が上がる製品を、アップデート担当者のいない体制でセルフホストすると、脆弱性の修正が届かない古い版のまま放置されます。保守の人手を確保できないなら、Cloudを使うかSaaS型を選びます。

編集者が白紙からページのレイアウトを自由に組みたい場合もStrapiは合いません。Dynamic Zonesを使えば、開発者があらかじめ用意した部品（見出し・画像・CTAなど）を編集者が追加・並べ替えできますが、新しい見た目の部品を増やすにはフロントエンドの実装が要ります。自由配置のページビルダーが前提ならWordPressのほうが早く立ち上がります。スキーマをTypeScriptのコードで定義し、Next.jsと同じアプリに同居させたい場合は[Payload CMSとは？使い方・Next.js統合・Strapiとの違いを解説](/tech/details/8065/)で比較した Payload が候補になります。

## Strapi v4のサポート終了とv5への移行判断

公式の[セキュリティポリシー](https://github.com/strapi/strapi/security/policy)では、v4は通常サポートが2025年10月、セキュリティ更新が2026年4月に終わり、End Of Lifeとされています。v4で稼働しているサイトは、脆弱性が見つかっても修正版が出ない状態です。

移行は `npx @strapi/upgrade` のコード変換ツールで一部を自動化できますが、前述のレスポンス形式のフラット化と `documentId` への切り替えはフロントエンド側の改修が要ります。MySQL 5の非対応、SQLiteドライバーの `better-sqlite3` への一本化もDB側の確認項目です。v5の新機能と移行手順の詳細は[Strapi v5が開発現場で注目される背景と基本アーキテクチャの全体像](/tech/details/11296/)で解説しています。

Strapiの開発チームはGitHub Discussion #25117で「2026年にStrapiのメジャー版を出す予定はない」と明言しました。この計画どおりなら、v5へ移ったサイトは2026年中にメジャー版の移行作業を抱えずに済む見込みです。

## Strapiに関するよくある質問

### Strapiの読み方は？

日本語では「ストラピ」と読みます。綴りは S-t-r-a-p-i です。npmのパッケージ名は `@strapi/strapi`、プロジェクト作成用のコマンドは `create-strapi` で、どちらも同じ綴りです。

### Strapiは無料で使えますか？

自社サーバーで動かすCommunityプランは無料で、件数やAPIリクエスト数の上限もありません。Content HistoryやReleasesを使うには月45ドルのGrowth、承認フローにはEnterpriseが必要です。ホスティングまで任せるStrapi Cloudは月35ドルのStarterからで、2026年9月時点の料金表に無料プランはありません。

### StrapiとWordPressはどちらを選ぶべきですか？

Webサイト1つを編集者中心で運用するならWordPressです。テーマで表示まで完結し、フロントエンドの開発が要りません。Webとアプリに同じデータを配信する、表示をNext.jsなどで作り込むといった要件があり、Node.jsのサーバーを保守できる体制があるならStrapiが向きます。

### Strapiの管理画面は日本語化できますか？

できます。`src/admin/app.example.tsx` を `app.tsx` に改名し、`config.locales` に `'ja'` を入れると管理画面の言語に日本語が加わります。訳文ファイルは標準で同梱されています。訳が欠けている項目は `config.translations` で上書きします。

### Strapi 6はいつ出ますか？

公式の発表はありません。開発チームはGitHub Discussion #25117で、2026年中はメジャー版を出さず、安定性とアップグレードのしやすさを優先すると表明しています。2026年9月時点の最新版は5.55.1で、当面は5.x系のマイナー版が続く見込みです。

## 関連記事

- [ヘッドレスCMSとは？従来型CMSとの違い・主要サービス比較と選び方【2026年最新】](/tech/details/1317/)
- [Strapi v5が開発現場で注目される背景と基本アーキテクチャの全体像](/tech/details/11296/)
- [Payload CMSとは？使い方・Next.js統合・Strapiとの違いを解説](/tech/details/8065/)
- [Contentfulとは？API構成と料金の増え方・移行手順を実コードで解説](/tech/details/17724/)
- [GraphQLとは？REST APIとの違い・メリット・デメリットをわかりやすく解説](/tech/details/2924/)

---

出典: [Strapiとは？読み方・使い方と料金を最新版5.55で解説【2026年9月】](<https://www.issoh.co.jp/tech/details/8082/>)（株式会社一創）
