壁紙アプリのマイナーアップデートを審査に出そうとしていた夜、App Store Connect のキーワード欄を何気なく開いて、手が止まりました。アプリ名にある単語がそのまま並び、カンマの後ろにはご丁寧にスペースが入っていて、100文字のうち実際に働いている文字は半分ほどしかなかったのです。
スクリーンショットの差し替えには週末をまるごと使っていたのに、この欄だけは初回リリースのときに数分で埋めたまま、何年も触っていませんでした。そのことに気づいたのは、検索経由のインストールが伸び悩む理由を探して Analytics を眺めていたときでした。
Rork で作ったアプリを日本の App Store で見つけてもらうために、キーワードフィールドをどう設計しているかを、実際に使っている手順と一緒に書き残します。最後に、残り文字数と重複を機械で数える小さなスクリプトも置いておきます。
なぜキーワードフィールドだけで検索順位が変わるのか
App Store の検索結果は、アプリ名・サブタイトル・キーワードフィールド・カテゴリ・ダウンロード数・レビュー評価といった要素の組み合わせで決まります。このうち開発者が直接書き換えられて、しかも「この単語で検索対象にしてほしい」と明示的に伝えられるのが、キーワードフィールドです。
裏返すと、アプリ名にもサブタイトルにもキーワード欄にも出てこない単語では、そのアプリはまず検索結果に現れません。ここに一語足すだけで検索対象になる語が、どのアプリにも必ず残っているのです。
広告予算を持たない個人開発では、新しいユーザーと出会える場所はほぼオーガニック検索だけです。100文字は、広告費ゼロで使える集客チャネル——私はそう捉えて、リリースのたびに見直すようにしております。
もう一つ、この欄には利点があります。エンドユーザーの目には触れないことです。アプリ名やサブタイトルと違って見た目を気にせず、「記録」「一覧」「管理」といった味気ない語を詰め込めます。タグラインに書くと締まらない言葉こそ、検索バーに実際に打ち込まれる言葉なのだと思います。
100文字の数え方と、私が長く勘違いしていたこと
キーワードフィールドは100文字までですが、何を1文字と数えるかには決まりがあります。
- カンマ(
,)は1文字として数えられます - カンマの前後にスペースを入れると、そのスペースも1文字を消費します
- 日本語の全角1文字も、英数字1文字と同じ「1文字」です
- 改行は使えません
- 英語の単数形と複数形を両方入れるのは文字数の無駄になりがちなので、私はどちらか一方に絞っています
私が長く勘違いしていたのは、スペースの扱いでした。「読みやすいから」とカンマの後ろに空白を入れ続けていたせいで、12語のリストなら11文字——短い一語ぶんがまるごと消えていたのです。
❌ カンマの後にスペース(4文字が空白に消える)
動画編集, 写真加工, 字幕, AI, テンプレート
✅ スペースなしで詰める
動画編集,写真加工,字幕,AI,テンプレート
たった数文字の差ですが、100文字を使い切る設計では一語か二語の余裕になります。この空白を消すところが、いちばん手軽で、いちばん確実な改善でした。
アプリ名・サブタイトル・キーワードの役割を分ける
最初にお伝えしたいのは、アプリ名やサブタイトルにすでに含まれている単語を、キーワード欄にもう一度書く必要はない、ということです。
App Store の検索は、アプリ名とサブタイトルに含まれる語をキーワード欄の語よりも強く扱い、しかもそれらは自動的に検索対象になります。アプリ名が「シンプル家計簿」、サブタイトルが「毎日続く支出管理アプリ」なら、キーワード欄に「家計簿」「支出」「管理」を書いても、100文字を削っているだけなのです。
| フィールド | 文字数 | 検索の重み | 入れるべきもの |
|---|---|---|---|
| アプリ名 | 30文字 | 最も強い | いちばん大きなキーワード1〜2語+アプリの個性 |
| サブタイトル | 30文字 | 強い(アプリ名に準ずる) | アプリ名で取り切れない補足キーワード+ターゲット読者像 |
| キーワードフィールド | 100文字 | 中 | 上2つに含めなかった、検索されうる関連語をできるだけ多く |
サブタイトルは検索対象としてアプリ名に準ずる強さを持つので、ここを「なんとなく機能の説明」で埋めてしまうのはもったいない使い方です。私は三つの欄を一枚のスプレッドシートに横並びにして、重複した語を消してから設計を始めるようにしています。アプリ名とサブタイトルは看板、キーワード欄は看板に書けなかった言葉の置き場。 この線引きを決めてから、取りこぼしがほとんどなくなりました。
日本語アプリで効くキーワードの選び方
日本語の App Store では、英語圏とは少し違う選び方が効きます。
ひらがな・カタカナ・漢字の表記揺れを拾う
「家計簿」「かけいぼ」「カケイボ」では、当たる検索が違います。多くのアプリは漢字だけを入れていますが、スマートフォンでひらがなのまま打つ方は一定数いらっしゃいます。文字数が許す範囲で、主要な語だけでも表記を2〜3パターン入れておくと、それだけで取りこぼしが減ります。
英語の語を一つか二つ混ぜる
日本のストアで「expense」「budget」のように英語で検索する方は、案外いらっしゃいます。技術系やクリエイター向けのアプリではとくにそうで、英語の語を一つか二つ混ぜるだけで、日本語 UI のまま海外にお住まいの方にも届きやすくなります。
競合アプリ名は入れない
「○○の代わりになるアプリ」を狙って他社のアプリ名を入れたくなりますが、これは App Store Review Guidelines に抵触し、リジェクトの対象になります。商標登録された他社のプロダクト名も同じです。短期的に効いたとしても、私は入れないと決めています。
サジェストを iPhone と iPad の両方で観察する
App Store の検索バーにジャンル名を打つと、サジェストに関連語が並びます。実際に検索されている語の集合なので、必ず確認します。「家計簿」なら「家計簿 無料」「家計簿 シンプル」「家計簿 夫婦」といった語が出てきますが、iPhone と iPad で候補が微妙に違うことがあり、両方に対応しているアプリなら両方で拾っておくと安心です。
Rorkで作ったアプリに使っている設計の5ステップ
ここからは実践です。Rork で生成したアプリのキーワード欄を設計するとき、私が普段たどっている順番です。
- アプリの「核となる動詞」を1つ決めます — そのアプリでユーザーが何をするのかを動詞で書き出します(記録する、編集する、共有する、計算する など)
- その動詞に紐づく名詞を5〜10個リストアップします — 動詞の対象を具体的に書き出します
- App Store サジェストで関連語を10〜15個拾います — 上記の名詞を1つずつ検索バーに入れて、サジェストに出てきた語をメモします
- アプリ名とサブタイトルに含まれる単語を除外します — リストから、すでにアプリ名やサブタイトルにある単語を消します
- 残ったキーワードを表記揺れ込みで、スペースなしのカンマ区切りに詰めます — 100文字に収まるまで取捨選択します
4 と 5 は、手でやると必ずどこかで数え間違えます。私は次のスクリプトに任せています。
残り文字数と重複を機械で数える
候補の配列を書き換えて node keyword-budget.mjs と打つだけで、アプリ名・サブタイトルと重なる語を落とし、残り文字数を表示します。文字数は Array.from でコードポイント単位に数えるので、絵文字や結合文字が混じっても String.length のように狂いません。
// keyword-budget.mjs — アプリ名・サブタイトルとの重複を消し、残り文字数を数える
const name = "シンプル家計簿";
const subtitle = "毎日続く支出管理アプリ";
const candidates = [
"家計簿", "かけいぼ", "カケイボ", "家計管理", "支出記録", "家計予算", "money",
"expense", "お小遣い", "節約", "貯金", "出費", "収支", "レシート", "固定費",
"予算管理", "袋分け", "共有", "夫婦", "budget", "節約 ", "小遣い帳",
];
const LIMIT = 100;
const covered = `${name} ${subtitle}`.toLowerCase();
const length = (s) => Array.from(s).length; // コードポイント単位で数える
const kept = [];
const dropped = [];
for (const raw of candidates) {
const kw = raw.trim().toLowerCase();
if (covered.includes(kw)) { dropped.push(`${kw}(アプリ名/サブタイトルに含まれる)`); continue; }
if (kept.includes(kw)) { dropped.push(`${kw}(重複)`); continue; }
kept.push(kw);
}
const field = kept.join(",");
const used = length(field);
console.log(field);
console.log(`使用 ${used} / ${LIMIT} 文字(残り ${LIMIT - used})`);
for (const d of dropped) console.log(`- 除外: ${d}`);
if (used > LIMIT) console.log(`超過 ${used - LIMIT} 文字。末尾から削ってください`);
if (/,\s|\s,/.test(field)) console.log("カンマの前後に空白があります");手元で実行すると、次のように出ます。
かけいぼ,カケイボ,家計管理,支出記録,家計予算,money,expense,お小遣い,節約,貯金,出費,収支,レシート,固定費,予算管理,袋分け,共有,夫婦,budget,小遣い帳
使用 91 / 100 文字(残り 9)
- 除外: 家計簿(アプリ名/サブタイトルに含まれる)
- 除外: 節約(重複)
「家計簿」はアプリ名に含まれるので落ち、末尾に空白の混じった「節約 」は trim されて重複として落ちています。残り9文字なので、サジェストから拾った短い語をもう一つか二つ足せる、という判断がその場でできます。
一つだけ注意があります。この判定は部分一致なので、「家計管理」のようにサブタイトルの「管理」と一部だけ重なる語は残ります。そこは機械に任せず、自分の目で「この語が単独で検索されるか」を考えて決めるようにしています。
地域別・言語別にキーワードフィールドを使い分ける
見落とされがちですが、効果の大きい一手です。App Store Connect では、アプリが対応しているロケアルごとに別々のキーワード欄を設定できます。「日本語」の欄と「英語(米国)」の欄は、それぞれ独立した100文字のキャンバスです。
Rork で作ったアプリを多言語対応させたとき、ここを空欄のまま、あるいは英語のキーワードをそのままコピーして済ませてしまうと、100文字を捨てているのと同じです。地域ごとに、次の点を調整します。
- その言語圏で実際に使われる語で埋め直します — 直訳ではなく、その国の方が検索バーに打つ言葉を使います。同じ「割り勘」でも、英語圏では「split bill」が主流で、地域によっては別の言い回しが使われます
- サジェストもロケアルを切り替えて観察します — App Store の地域を切り替えると、サジェストに出る語も変わります。各ロケアルで拾い直すのが理想です
- 通貨や単位の表現に注意します — 金額系のアプリなら、その地域の通貨名や単位が検索語に混じることがあります
上のスクリプトはロケアルごとに name subtitle candidates を差し替えて回すだけで使い回せます。まずは主要な2〜3ロケアルだけでも、キーワード欄を個別に設計するところから始めるのが現実的だと感じています。
キーワードを更新したら必ずやること
App Store Connect でキーワード欄を変更しても、すぐに検索順位へ反映されるわけではありません。変更したあとに私が必ずやっているのは、次の3つです。
- 新しいバージョンと一緒に提出します — キーワード欄の変更はバージョン提出時に反映されるため、提出しない限り検索は古いキーワードで動き続けます
- 更新後1〜2週間は、毎日インプレッションを見ます — App Store Connect の Analytics でインプレッション数とユニット数の推移を追います。下がった場合は、足した語が逆効果だった可能性があります
- 変更前後のキーワードリストをスプレッドシートに残します — 「何を変えて結果がどう動いたか」の記録が、次のアップデートの判断材料になります
App Store の検索は少しずつ変わっていくので、3〜6ヶ月に一度は見直すのが理想です。完璧を目指す必要はありません。いまのキーワードよりほんの少しましなものを定期的に投入する、それで十分なのだと思います。私自身は、審査提出が必要なマイナーアップデートのたびに、ついでにキーワードも一語か二語だけ入れ替える運用に落ち着きました。これなら追加の手間はほぼゼロで続けられます。
よくある失敗と、その直し方
個人開発者のキーワード欄で私が繰り返し見てきた失敗を、対処とセットで挙げておきます。
- アプリ名の単語をキーワード欄にも重複させている → 重複ぶんを消し、空いた文字数でサジェスト由来の関連語を足します
- カンマの後にスペースを入れている → スペースを全部削って詰め直します。これだけで一語か二語増えます
- 漢字表記だけで、ひらがな・カタカナを入れていない → 主要な語だけでも表記揺れを1〜2パターン足します
- 多言語対応なのに全ロケアルで同じキーワードを使い回している → 主要ロケアルだけでも個別に設計し直します
- 効果測定をせず、なんとなく単語を入れ替えている → 変更前後をスプレッドシートに残し、Analytics のインプレッション推移と突き合わせます
どれも一晩あれば直せるものばかりです。派手さはありませんが、こうした小さな修正の積み重ねが検索流入を底上げしていくのだと、いまも感じています。
今夜30分でできること
今夜、寝る前の30分でかまいませんので、ご自身のアプリのキーワード欄を開いてみていただければと思います。アプリ名とサブタイトルにすでに含まれている単語があれば、そこから消します。空いた文字数に、App Store のサジェストから拾った関連語を一つか二つ足します。これだけでも検索流入は変わります。
Rork でアプリを作る速度が上がったぶん、こうした細かな最適化に時間を回せるはずです。私はこの100文字を、リリースのたびに一度は開いて読み返す——その習慣だけは、忙しい週でも崩さないようにしています。
ASO をもう一段深く理解したい方には、Rork で作ったアプリを App Store でヒットさせる — ASO・価格・課金設計の実践ガイドで全体像を確認したあと、16言語のASOキーワードを機械で検査する — App Store Connect の160文字を取りこぼさない運用で多言語対応の考え方まで広げてみるのがおすすめです。リリース直後のグロースフェーズについてはRork アプリで最初の10万円を稼ぐまでの実戦手順 — ASO・価格・マーケの初動設計が地続きの内容になっています。