AppCotton では、1つのライセンスキーが 何サイトまで使用できるか を
activation_limit によって制御します。
これにより、
- 1サイトライセンス
- 3サイトライセンス
- 10サイトライセンス
- 無制限ライセンス(-1)
など、柔軟な販売が可能になります。
activation_limit とは
プランごとに決められた 利用可能なサイト数の上限 を表します。
| 値 | 意味 |
|---|---|
1 | 1ドメインのみ利用可能 |
3 | 3ドメインまで利用可能 |
5 | 5ドメインまで利用可能 |
-1 | 無制限 |
この値は、製品プラン作成時に設定します。
現在のアクティベーション数のカウント方法
以下のテーブルで「active」状態の行を数えます:
wp_appcotton_license_activations
| 条件 | カウント対象 | 説明 |
|---|---|---|
status = active | ✅ | 利用中のドメインとして扱う |
status = deactivated | ❌ | 解除済み(カウントしない) |
制限を超えた場合の認証結果
ユーザーが新しいドメインで認証したとき、
すでに 上限以上のドメインが使用されている場合:
→ 認証は拒否される
→ エラー: domain_limit_reached
APIレスポンス例
{
"error": "domain_limit_reached",
"message": "このライセンスで使用できるサイト数の上限に達しています。不要なサイトを解除してください。",
"remaining_slots": 0
}
クライアント側(プラグイン / SaaS)での推奨UI
ケース:上限に達した場合
プレミアム機能がロックされる
↓
ユーザーに「ドメイン管理ページへの誘導リンク」を表示
例(UIテキスト):
このライセンスは、利用できるサイト数の上限に達しています。
不要なサイトを解除することで、このサイトで使用できるようになります。
マイページへ →
ユーザーができること:ドメイン解除
ユーザーは、マイページから不要ドメインを解除できます。
マイページ → ライセンス → ドメイン管理 → [解除]
解除したドメインは
status: active → deactivated
→ 利用可能枠が1つ戻る
制限を柔軟にするオプション(運用設計)
| オプション | 内容 | 企業向けに有効 |
|---|---|---|
| 自動解除ポリシー | last_checked_at が 90日以上のドメインを自動解除 | 納品先変更の多い制作会社向け |
| グレース追加 | activation_limit +1 を許可して通知 | 顧客トラブル回避用 |
| instance_id 制御 | 同一ドメイン内で dev / staging を区別しない | SaaS / WordPress制作向け |
例:典型的な利用シナリオ
3サイトライセンス
example.com → active
blog.example.com → active
client-site.jp → active
ここで新ドメイン test.example.net を認証しようとすると:
認証拒否(上限超過)
↓
ユーザーが不要サイト 1つを解除
↓
再認証 → 成功
まとめ
• activation_limit により「利用できるサイト数」を制御する
• 使用中のサイトは wp_appcotton_license_activations に記録される
• 上限超過時は domain_limit_reached エラーを返す
• ユーザーは不要ドメインを解除して再利用できる
• 実運用に合わせて、自動解除やグレース枠を設計できる