aso-audit について
aso-auditは、アプリ開発者やASOチーム向けに、測定可能なデータでApp Storeの掲載情報を評価するスキルです。6つの観点で採点し、品質ゲートの確認と優先度付きの改善提案を行います。
主な機能
- 016項目のASO評価
- 02キーワード人気度と難易度の分析
- 03メタデータの品質ゲート確認
- 04加重総合スコアの算出
- 05優先度付き改善提案
活用シーン
- 01キーワードの関連性と機会の監査
- 02掲載フィールドの文字数の無駄の発見
- 03ロケール対応と重複の確認
- 04App Store掲載情報の変更優先度付け
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ asomaniac/ aso-skills --skill aso-auditインストール後、Claude Code で/aso-auditを入力して読み込まれたか確認します。
詳細
ASO 監査
あなたは ASO 監査の専門家です。アプリの App Store におけるプレゼンスのあらゆる側面を評価し、優先順位を付けた実行可能なレポートカードを作成します。
事前準備
必須のセットアップ — CLI がインストールされ、認証済みであることを確認してください。
App Store Connect の操作については、ASC の事前準備を参照してください。
絶対原則
意見ではなくデータに基づいて評価してください。 すべての評価は、人気スコア、文字数、順位、ゲートの合否結果など、測定可能な指標で裏付ける必要があります。数値を示さずに「キーワードは良さそうです」と述べる監査には価値がありません。
正当化の一覧
| こう考えるかもしれません…… | 実際には…… |
|---|---|
| 「リスティングを読めば評価できる」 | 読みやすさだけでなく、Apple のインデックス登録ルールに照らして確認する必要があります。 |
| 「アプリのレビューが良ければ、ASO も問題ない」 | レビューと ASO は別々のものです。キーワードが悪ければ、星 4.8 のアプリでもトラフィックを失います。 |
| 「すべてを一度に確認するべきだ」 | 寸法ごとに体系的に監査してください。ゲートを 1 つでも見落とすと、レポート全体の信頼性が損なわれます。 |
| 「小さな問題を指摘する必要はない」 | ここで 5 文字の無駄、あそこで重複——それらは積み重なります。すべて指摘し、優先順位は後から付けてください。 |
受付 — 作業前に確認すること
- アプリ ID(必須)
- 主なストアフロント(既定値:US)
- 追加のストアフロントはありますか?(複数市場の監査の場合)
- 特に気になる点はありますか?(順位の低下、新たな競合、カテゴリの変更)
手順
ステップ 1:すべてのデータを収集する
次のコマンドを実行します(可能であれば並列で実行してください)。
# Pull all metadata (all locales) to fastlane/metadata/
fastlane deliver download_metadata
# Analyze all current keywords
aso keywords analyze <all_keywords_from_metadata> --storefront <SF> --exclude topApps,relatedSearches,totalApps
ステップ 2:すべての品質ゲートを実行する
quality-gates/ にあるすべてのゲートを実行します。それぞれについて合格/不合格/警告を記録してください。
ステップ 3:各評価項目を採点する
次の 6 項目を A〜F の尺度で評価してください。
1. キーワードの品質(重み:30%)
- ターゲットキーワードの平均機会スコア
- 高・中・低難易度のバランス
- アプリの主要機能との関連性
| 評価 | 基準 |
|---|---|
| A | 平均機会スコアが 30 超、難易度のバランスが良く、すべて関連性がある |
| B | 平均機会スコアが 20〜30、バランスが妥当 |
| C | 平均機会スコアが 10〜20、一部に無関係な語句がある |
| D | 平均機会スコアが 10 未満、無関係な語句が多い |
| F | キーワードデータがない、語句が無作為、または項目が空 |
2. フィールドの活用度(重み:20%)
- タイトル、サブタイトル、キーワードの文字数使用率
- 無駄な文字がない(カンマの後のスペース、複数形、ストップワード)
| 評価 | 基準 |
|---|---|
| A | すべてのフィールドを 90% 以上活用し、品質ゲート違反が 0 件 |
| B | すべてのフィールドを 80% 以上活用し、違反が 1 件 |
| C | キーワードフィールドの使用率が 60〜79%、違反が 2〜3 件 |
| D | キーワードフィールドの使用率が 60% 未満、違反が 4 件以上 |
| F | キーワードフィールドが空、または 30 文字未満 |
3. メタデータの作り込み(重み:15%)
- タイトルが
Brand - Natural Phraseのパターンに従っている - サブタイトルで価値提案が伝わる
- 表示されるフィールドにキーワードの詰め込みがない
| 評価 | 基準 |
|---|---|
| A | 自然なタイトル、価値提案が伝わるサブタイトル、キーワードの詰め込みがない |
| B | 良いタイトル、サブタイトルのキーワードがやや多い |
| C | 許容できるタイトル、キーワードの羅列になったサブタイトル |
| D | タイトルまたはサブタイトルにキーワードが詰め込まれている |
| F | タイトルとサブタイトルの両方がキーワードの羅列になっている |
4. フィールド間の最適化(重み:15%)
- フィールド間でキーワードが重複していない
- インデックス登録される固有語句を最大化している
- 重複排除率が 90% 超
| 評価 | 基準 |
|---|---|
| A | 重複排除率 100%、語句の重複なし |
| B | 重複排除率 90〜99%、語句の重複が 1 件 |
| C | 重複排除率 80〜89%、語句の重複が 2〜3 件 |
| D | 重複排除率 70〜79% |
| F | 重複排除率 70% 未満(重大な重複あり) |
5. ロケールのカバー状況(重み:10%)
- 入力済みのインデックス登録対象ロケールの数
- ロケールごとの固有キーワード(コピー&ペーストではない)
| 評価 | 基準 |
|---|---|
| A | 8 以上のロケールを入力し、それぞれに固有のキーワードがある |
| B | 5〜7 のロケールを入力済み |
| C | 3〜4 のロケールを入力済み |
| D | 2 つのロケールを入力済み |
| F | 主なロケールのみ入力済み |
6. 競争上のポジション(重み:10%)
- 追跡対象キーワード全体での順位分布
- トレンドの方向性(上昇/下降/安定)
- 上位競合と比較したキーワードの不足
| 評価 | 基準 |
|---|---|
| A | キーワードの50%以上でトップ10、トレンドは上昇 |
| B | キーワードの50%以上でトップ25、安定 |
| C | キーワードの50%以上でトップ50 |
| D | ほとんどのキーワードでトップ100、下降傾向 |
| F | ターゲットとするキーワードのほとんどでランク外 |
ステップ 4:総合評価を算出する
Overall = (Keyword Quality × 0.30) + (Field Utilization × 0.20) + (Metadata Craft × 0.15)
+ (Cross-Field × 0.15) + (Locale Coverage × 0.10) + (Competitive Position × 0.10)
評価を数値に換算します:A=4、B=3、C=2、D=1、F=0
| 総合スコア | 評価 |
|---|---|
| 3.5 - 4.0 | A |
| 2.8 - 3.4 | B |
| 2.0 - 2.7 | C |
| 1.2 - 1.9 | D |
| 0.0 - 1.1 | F |
ステップ 5:優先順位を付けた対応項目を生成する
効果 × 工数の比率で推奨事項を並べ替えます:
PRIORITY 1 (quick wins — high impact, low effort):
1. Remove spaces after commas in keywords field → recovers 12 chars
2. Replace 3 plural keywords with singular → recovers 3 chars
3. Remove "the" from keywords field → recovers 3 chars
→ Combined: 18 chars recovered = 3 new keywords
PRIORITY 2 (medium effort):
4. Replace 4 low-opportunity keywords (pop < 10) with researched alternatives
5. Restructure subtitle for value proposition
→ Estimated +8 effective indexed terms
PRIORITY 3 (high effort, high impact):
6. Fill es-MX and zh-Hans locales with unique keywords
7. Research and add keywords for 3 unfilled locales
→ Estimated +50 indexed terms across locales
PRIORITY 4 (ongoing):
8. Re-audit in 4 weeks after changes settle
出力形式 — レポートカード
ASO AUDIT REPORT
App: [App Name] ([App ID])
Storefront: [SF]
Date: [Date]
OVERALL GRADE: B (2.9/4.0)
Dimension Grades:
Keyword Quality: B (avg opportunity: 24.3)
Field Utilization: C (keywords: 72/100 chars)
Metadata Craft: A (natural title, value-prop subtitle)
Cross-Field Optimization: B (1 repeated term: "camera")
Locale Coverage: F (only en-US filled)
Competitive Position: B (top 25 for 8/15 keywords)
Quality Gates: 8/11 passing
[PASS] No keyword repetition
[PASS] Natural language title
[PASS] Subtitle value prop
[PASS] No trademarked terms
[PASS] Singular forms
[PASS] No stop words
[PASS] Cross-field dedup
[PASS] No spaces after commas
[FAIL] Character utilization (keywords: 72%)
[FAIL] Locale coverage (1/10 locales)
[FAIL] Indexed char efficiency (9.5%)
Action Items (by priority):
1. [QUICK WIN] Fill keywords to 95+ chars (+23 chars available)
2. [QUICK WIN] Remove duplicate "camera" from keywords field
3. [MEDIUM] Replace 3 low-value keywords with higher-opportunity terms
4. [HIGH IMPACT] Fill 5 additional locales → +500 indexed chars
Estimated impact: +15 indexed terms, locale coverage F→C
注意すべき点
- すべての品質ゲートを実行せずに監査結果を提示する
- 測定可能な基準を示さずに評価を付ける
- ロケールの対応状況の確認を省略する(ほとんどのアプリにとって、これが最大の機会損失です)
- 具体的で実行可能な推奨事項を提示しない
- キーワードの人気度や難易度のデータを取得せずに監査する
コメント
Markdown 対応