앱 스토어 최적화(ASO)
출처: Dev.to
원본은 thatdevpro.com에 게시되었습니다. 이 프레임워크 레퍼런스는 ThatDevPro의 14단계 엔진 최적화 스택 중 하나이며, SDVOSB 인증을 받은 베테랑 소유 웹 + AI 엔지니어링 스튜디오에서 만든 것입니다. 현재 보고 있는 dev.to 미러는 진본(소스‑오브‑트루스) 버전이며, 검증 도구가 내장된 정식 버전은 위 링크에 있습니다.
App Store Connect와 Google Play Console의 순위 신호, 시각 자산 CRO, 리뷰·평점 속도, SEO + ASO 조정 레이어, App Pack 포함, 그리고 Apple Intelligence 앱 검색
앱 스토어 최적화(App Store Optimization, 이하 ASO)를 위한 포괄적인 설치 및 감사 레퍼런스입니다. ASO는 SEO와 병행되는 분야로, Apple App Store와 Google Play 안에서 모바일 앱이 어떻게 발견되는지를 관리합니다. ASO는 자체적인 표면(스토어 내 검색·탐색, 편집 피처, 스토어 레벨 개인화)과 웹 레이어(앱을 홍보하는 마케팅 페이지, Google SERP의 App Pack 포함, Apple Spotlight 색인, Siri 제안, 웹 URL을 앱 내 목적지와 연결하는 딥링크 인프라)와 겹칩니다.
두 가지 목적: 설치 매뉴얼 및 감사 문서.
교차 스택 구현 참고
ASO는 스택에 구애받지 않는 웹 레이어(마케팅 페이지, 딥링크 설정 파일, 스키마, App Pack 신호)와 앱 전용 레이어(App Store Connect, Play Console, 인앱 리뷰 API, 디바이스 내 색인)로 구성됩니다. 웹 레이어 코드 샘플은 가독성을 위해 순수 HTML로 제공됩니다. React, Vue, Svelte, Next.js, Nuxt, SvelteKit, Astro, Hugo, 11ty, Remix, WordPress, Shopify, Webflow 등에 대한 구현 예시는 framework-cross-stack-implementation.md를 참고하세요. 순수 CSR SPA는 framework-react.md를, Tailwind 관련 내용은 framework-tailwind.md를 확인하십시오. 앱 전용 레이어는 개발자 콘솔 내부에 존재하며, 웹 스택과 무관하게 플랫폼에 종속됩니다.
ASO는 Apple App Store와 Google Play 내에서 앱을 순위 매기고, 웹 SEO와 스토어 내 발견 사이의 조정 레이어를 담당합니다. 모바일 앱을 배포하는 모든 클라이언트와, Google SERP에서 App Pack 포함을 원하거나 Apple Intelligence(Spotlight·Siri 제안) 가시성을 원하는 모든 웹 자산에 필수적입니다.
App Pack은 SERP 기능이며(2016 ~ 현재, Search Engine Land), Apple은 2025 년 6월부터 스크린샷 캡션 텍스트를 AI로 추출해 순위 메타데이터로 활용하기 시작했습니다(앱피겨(Appfigures) “The Biggest App Store Algorithm Change is Here”, 2025 년 6월; WWDC 25에서 AI 추출로 확인). Apple Intelligence 앱 검색(Spotlight, Siri 제안, AI‑태그된 App Store 탐색)은 iOS 26 베타에서 공개되었습니다(TechCrunch, 2025 년 6월).
다루는 내용: 양 플랫폼의 스토어 순위 신호, 키워드 조사, 시각 자산 CRO, 리뷰·평점, 웹 마케팅 페이지, 딥링크 인프라, SoftwareApplication/MobileApplication 스키마, App Pack, Apple Intelligence 앱 검색, Core Spotlight 색인, 일반적인 거절 패턴, 감사 루브릭. 다루지만 완전하게 다루지는 않음: 인앱 수익화, 유료 획득 비용, 어트리뷰션 플랫폼 설정, SDK 통합.
진행 모드
- Mode A – 설치: 처음부터 ASO 구축. 섹션 2 ~ 14를 순서대로 진행.
- Mode B – 감사: 기존 현황 평가. 섹션 13으로 바로 이동.
- Mode C – 하이브리드: 감사 후 문제 항목에 대해 설치 진행.
읽기 순서
- 섹션 2 (클라이언트 변수)
- 섹션 3 (SEO vs ASO 유사점)
- 섹션 4 ~ 7 (스토어 내 최적화) 적용
- 섹션 8 ~ 11 (웹 + Apple Intelligence) 적용
- 섹션 13 검증
- 섹션 14 보고서 생성
충돌 규칙
| 상황 | 조치 |
|---|---|
| 메타데이터 오류가 있는 리스트 | 감사 후 수정. 삭제 후 재생성 금지 – 순위 히스토리를 잃게 됩니다. |
| 동일 앱에 대한 다중 리스트 | 해당 콘솔에서 중복 제거 요청 제출. |
| 마케팅 페이지가 얇음 | 섹션 8 표준에 맞게 풍부하게 작성. placeholder가 아닌 이상 noindex 설정 금지. |
| 거절 진행 중 | ASO 작업을 일시 중단하고, 거절 사유를 먼저 해결. |
| 클라이언트가 리뷰 인센티브 요청 | 거부 – Apple 가이드라인 1.1.7 및 Google Play 정책 위반, 앱 삭제 위험 존재. |
주요 툴 및 서비스
- App Store Connect, Google Play Console – 네이티브 콘솔.
- Apple Search Ads (searchads.apple.com) – Apple 자체 키워드 인기 데이터, 무료 계정.
- AppTweak, Sensor Tower, data.ai, AppFigures, Mobile Action – 유료 ASO 인텔리전스.
- SplitMetrics, Storemaven – 플랫폼 외 사전 출시 A/B 테스트.
- AppFollow, App Radar – 리뷰 관리·ASO 추적.
- curl + jq –
.well-known아래apple-app-site-association및assetlinks.json검증.
설정 파일 예시 (YAML)
# --- App Identity (REQUIRED) ---
app_name: "" # 스토어에 표시되는 정식 앱 이름
developer_account_name: "" # Apple 팀명 / Google Play 개발자명
bundle_id_ios: "" # com.example.app
package_name_android: ""
app_store_id_ios: 0 # App Store URL에서 추출한 숫자 ID
play_store_url: ""
# --- Platforms ---
platforms:
ios: false
android: false
ipados: false
mac_catalyst: false
vision_os: false
android_tablets: false
android_tv: false
wear_os: false
# --- Distribution Status ---
ios_status: "" # live | in_review | rejected | unpublished | not_submitted
android_status: "" # live | internal_testing | closed_testing | open_testing | unpublished
launch_date_ios: "" # YYYY-MM-DD
launch_date_android: ""
# --- Current Performance ---
downloads_ios_total: 0
downloads_android_total: 0
downloads_last_30d_ios: 0
downloads_last_30d_android: 0
mau_ios: 0
mau_android: 0
rating_ios: 0.0
rating_android: 0.0
review_count_ios: 0
review_count_android: 0
review_count_last_30d_ios: 0
review_count_last_30d_android: 0
crash_rate_ios: 0.0 # Xcode Organizer
crash_rate_android: 0.0 # Android Vitals
anr_rate_android: 0.0
# --- Category and Competition ---
primary_category_ios: ""
secondary_category_ios: ""
primary_category_android: ""
top_competitors: []
# --- Current ASO State ---
title_ios: "" # 최대 30자
subtitle_ios: "" # 최대 30자
keyword_field_ios: "" # 최대 100자
promotion
al_text_ios: "" # 최대 170자
description_ios: "" # 최대 4000자
title_android: "" # 최대 30자
short_description_android: "" # 최대 80자
long_description_android: "" # 최대 4000자
screenshot_count_ios: 0
screenshot_count_android: 0
preview_video_ios: false
preview_video_android: false
custom_product_pages_ios: 0 # CPP
custom_store_listings_android: 0 # CSL
ppo_tests_ios: 0
sle_tests_android: 0
# --- Web Coordination Layer ---
marketing_page_url: ""
universal_links_configured: false # .well-known 아래 apple-app-site-association
android_app_links_configured: false # .well-known 아래 assetlinks.json
smart_app_banner_present: false # iOS Safari 메타 태그
applinks_meta_present: false
softwareapplication_schema_present: false
app_pack_visibility: "" # yes | no | intermittent | unknown
spotlight_indexing_implemented: false
nsuseractivity_implemented: false
# --- Localization ---
primary_languages_ios: []
primary_languages_android: []
cross_localization_enabled: false # 예: English (US) + Spanish (MX) 스택 등
# --- Goals ---
primary_goal: "" # increase_organic_installs | improve_cvr | expand_keywords | recover_rating | win_app_pack | launch_new
target_keywords_brief: ""
# Platforms block determines which sections apply.
# ASO is SEO inside the app stores. A ranking algorithm scores entities (apps) against queries and returns a ranked list.
# Both disciplines share a vocabulary (keyword research, metadata, conversion optimization, reviews as trust signals, branded vs unbranded search, head vs