メタデータ最適化
App Store および Google Play のメタデータを、検索視認性、コンバージョン率、明確さ、コンプライアンスのバランスを考慮して作成します。
ワークフロー
current-metadata-fetchを使用して現在の値を読み取ります。get_project_contextを使用して、ポジショニング、トーン、ターゲットオーディエンス、禁止クレームが関連する場合に取得します。- プラットフォーム、国、ロケール、ターゲットキーワード、およびページタイプ(デフォルトリスティング、リリースメタデータ、CPP/PPO ドラフト、Google リスティング)を特定します。
- ターゲットキーワードがない場合は、最初に
keyword-researchを使用します。選択したキーワードを分散させるにはkeyword-coverageを使用します。 - 要求されたロケールとフィールドのみを作成します。
appMetadataまたはgoogleMetadataを使用してvalidate_ai_companion_dataで検証します。- ユーザーが適用/入力を求めた場合は、
bulk_fillまたはbulk_fill_googleを使用します。
品質ゲート
- 推奨フィールドはコピーペースト可能であること。プレースホルダー、未解決の角括弧がないこと。正確な文字数、プラットフォーム固有の制限を遵守していること。
- アプリのポジショニング、ターゲットオーディエンス、マネタイズ方法、実績、サポートURL、ターゲットキーワードがない場合は、質問するか、分析内でそのギャップを明記します。最終メタデータ内で独自に作り出さないでください。
- 影響の大きいフィールドには代替案を提供しますが、1つの推奨オプションを明確にラベル付けします。
- 実装手順はメタデータコピーとは別に扱い、ユーザーがフィールドをそのまま貼り付けられるようにします。
ASO.dev エディタコンテキスト
ASO.dev エディタデータが利用可能な場合は、推測ではなくそれを使用します。
- スマートメタデータエディタ:現在の値、長さチェック、プレビュー、以前のバージョンの再利用/ロールバック、インポート/エクスポート、Fastlane、App Store Connect への直接保存、レビュー提出コンテキスト。
- 一括エディタ:すべてのローカライゼーション、重複検出、過去バージョンからのコピー、AI/Google/DeepL 翻訳ステータス。
- クロスローカライゼーション:国別・ローカライゼーション別のタイトル/サブタイトル/キーワードカバレッジ。
- タイムライン/チェンジログ:以前のメタデータとリリース履歴(Before/After 比較用)。
- バージョンワークフロー:アプリバージョン、リリースタイプ、ビルド選択、年齢制限、サーバー通知、プライマリローカライゼーション、ローカライゼーションの追加/削除状態。これらは安全に作成または入力できる内容に影響を与える場合があります。
プラットフォーム制限
Apple App Store
| フィールド | 制限 | 検索での役割 |
|---|---|---|
title | 30 | インデックス対象、最も重みが高い |
subtitle | 30 | インデックス対象 |
keywords | 結合文字数100 | インデックス対象、非表示 |
promotionalText | 170 | コンバージョン用、インデックス非対象、アプリバージョンなしで変更可 |
description | 4000 | コンバージョン用、App Store検索ではインデックス非対象 |
whatsNew | 4000 | アップデートのお知らせ |
Google Play
| フィールド | 制限 | 検索での役割 |
|---|---|---|
title | 30 | インデックス対象 |
shortDescription | 80 | インデックス対象、表示される |
fullDescription | 4000 | インデックス対象、コンバージョン用 |
最適化フレームワーク
タイトル
- 可能な場合は、最も強いターゲットキーワードを自然に含めます。
- ブランドが既に知られており、検索需要や信頼価値がある場合のみ、ブランドを先頭にします。
- 知名度の低いアプリの場合は、最も重要な機能キーワード/意図を先頭にし、ブランドを含める必要がある場合は末尾に配置します。これにより、App Storeのサジェストやフレーズが優先度の高いキーワードから先に形成されるのに役立ちます。
- 検索結果で読みやすい状態を保ちます。
- 法的表記が必要でない限り、文字を無駄にしません。
- タイトルを最適化する際は、3つのオプションを提供します。
良い構造:
プライマリキーワード:ベネフィットフレーズプライマリキーワード - セカンダリ意図プライマリキーワード by ブランド既知ブランド:プライマリキーワード
Apple サブタイトル
- セカンダリキーワードとベネフィット文言を追加します。
- 明確な戦略的理由がない限り、タイトルのキーワードを繰り返さないでください。
- 単なるキーワードリストではなく、コンバージョンに適したものにします。
- サブタイトルを最適化する際は、3つのオプションを提供します。
Apple キーワードフィールド
- スペースなしでカンマ区切り。
- 内部では MCP ペイロード用に配列として扱います。
- 意図的でない限り、タイトルやサブタイトルに既にある単語を繰り返さないでください。
- データが複数形をサポートしていない限り、単数形を優先します。
- アプリ名、競合ブランド、
app、freeは含めないでください。 - 最初に適合性、次に人気/機会で優先順位を付けます。
Apple 説明文
- App Store 検索はインデックスしません。主にコンバージョンのために書きましょう。
- 最初の2-3行は、ユーザーが「もっと見る」をタップする前に、コアユーザーベネフィットを伝える必要があります。
- 機能リストの前にベネフィットを記述します。
- ユーザーが提供する実際の実績(評価、受賞歴、プレスリリース、利用者数、お客様の声)のみを含めます。
- ブランドトーンがサポートしない限り、絵文字を追加しないでください。
推奨構造:
- フック
- メインベネフィット
- 主要機能
- 仕組み
- 信頼性/実績
- コールトゥアクション
Google 説明文
- コンバージョンと自然なキーワードカバレッジのバランスを取ります。
- 最初の段落で最も関連性の高い用語を前面に配置します。最初の約250文字は、展開される前でも単独で意味を成すようにします。
- バリエーションや同義語を使用し、キーワードを詰め込みすぎないでください。
- スキャンしやすいように箇条書きや改行を使用します。
- 密度は自然で読みやすい状態を保ちます。
プロモーションテキスト
タイムリーなメッセージングに使用します:
- 機能ローンチ
- 季節キャンペーン
- アプリ内イベント
- 期間限定コンテンツ
- 実際の受賞歴やマイルストーン
現在のデータやユーザーが確認しない限り、価格、日付、割引、または可用性をハードコードしないでください。
Apple ルール
- Apple キーワードはスペースなしでカンマ区切りにします。
- 意図的でない限り、タイトル、サブタイトル、キーワード間でキーワード単語の重複を避けます。
- 競合他社の商標や根拠のないクレームを追加しないでください。
- 明示的に要求されない限り、URL、プライバシーテキスト、法的コピーを変更しないでください。
- 「ようこそ...」のような弱いフックや、一般的な「最高のアプリ...」というクレームをフラグします。
- 未使用文字枠は、文字を追加することで関連性やコンバージョンが向上する場合のみフラグします。
出力
# メタデータ最適化パッケージ
アプリ:
プラットフォーム:
国:
ロケール:
ターゲットキーワード:
## 診断
| ロケール | フィールド | 問題 | 修正 |
|---|---|---|---|
## 推奨メタデータ
### locale-code
| フィールド | 推奨値 | 文字数 | カバーしたキーワード | 理由 |
|---|---:|---|---|
## 代替案
| フィールド | オプション | コピー | 文字数 | アングル |
|---|---|---|---:|---|
## キーワードカバレッジマトリックス
| キーワード | タイトル | サブタイトル/簡易説明 | キーワードフィールド | 説明文 | 備考 |
|---|---|---|---|---|---|
## Before/After
| フィールド | 現在 | 推奨 | 改善点 |
|---|---|---|---|
## 検証
- 文字数制限:
- キーワード重複:
- キーワード調査ソース:
- 根拠のないクレーム:
- URL/プライバシー/法的コピー未変更:
- MCP 検証:
- `bulk_fill` の準備完了:
入力ペイロードルール
Apple メタデータを入力する場合、以下を送信します:
{
"locales": ["en-US"],
"fields": ["title", "subtitle", "keywords"],
"data": {
"en-US": {
"title": "...",
"subtitle": "...",
"keywords": ["keyword", "keyword2"]
}
}
}