Keywords and tags are relevant — no competitor names or keyword stuffing
Why it matters
Apple Guideline 2.3.7 and Google Play's Spam and Minimum Functionality keyword-spam policy both result in rejection when competitor names or stuffed keywords are detected. On the App Store, the 100-character keyword field is machine-parsed; exceeding it causes an automatic metadata validation failure before a human reviewer sees your app. On Google Play, keyword stuffing in the description triggers algorithmic suppression — your app ranks lower for every keyword it over-repeats, precisely the opposite of the intended effect. Using a competitor's trademark ('Spotify', 'Headspace') as a keyword additionally exposes the developer to trademark infringement claims under Lanham Act theories.
Severity rationale
High because keyword violations cause automatic submission rejection on App Store and algorithmic ranking suppression on Google Play, directly blocking discoverability.
Remediation
Audit fastlane/metadata/ios/<locale>/keywords.txt before every submission. The entire field must be 100 characters or fewer — verify with:
wc -c fastlane/metadata/ios/en-US/keywords.txt
Remove every competitor name. Remove your app's own name (App Store indexes it automatically). Remove any keyword repeated more than once. Replace stuffed repetitions with distinct, high-intent terms your actual users search for. Keep keywords.txt version-controlled in fastlane/metadata/ so keyword changes are reviewable in git history before submission.
Detection
- ID:
keywords-no-stuffing - Severity:
high - What to look for: Read
fastlane/metadata/ios/<locale>/keywords.txt(App Store — comma-separated, 100-char limit) and any tag or keyword fields in Play Store metadata. Check for: (a) competitor app names (e.g., "Spotify", "Netflix", "Instagram", "Duolingo", "Headspace") — using competitor names as keywords is a policy violation on both platforms, (b) keyword stuffing — repeating the same word multiple times in the keywords field (e.g., "meditation, meditation app, meditation timer, best meditation"), (c) the app's own name repeated in the keywords field (App Store ignores app name in search automatically), (d) irrelevant category keywords (a flashlight app listing "social media, dating, games" as keywords), (e) exceeding platform character limits (App Store: 100 characters total including commas). For Google Play, check whether the short description and full description over-repeat keywords — Google's algorithm penalizes obvious stuffing. Before evaluating, extract and quote the keywords field or keyword-dense sections of the description to assess repetition patterns. Count all instances found and enumerate each. - Pass criteria: Keywords are relevant to the app's actual functionality. No competitor names. No excessive repetition. Within character limits. At least 1 implementation must be confirmed.
- Fail criteria: Competitor names present; same keyword repeated 3+ times; keywords entirely unrelated to the app's purpose; App Store keywords field exceeds 100 characters.
- Skip (N/A) when: No keyword metadata files are present in the repository.
- Cross-reference: The
description-accuratecheck verifies the description content that this check evaluates for keyword density. - Detail on fail:
"fastlane/metadata/ios/en-US/keywords.txt contains competitor name: 'Calm, Headspace'"or"Keywords field is 142 characters, exceeding the 100-character App Store limit". - Remediation: Keyword violations cause immediate rejection. Keyword stuffing causes algorithmic suppression.
- Remove all competitor names from keyword fields — using them violates Apple and Google policies
- Remove your app's own name from keywords (App Store automatically indexes it)
- Focus on words your target users would actually type when searching for an app like yours
- Use each meaningful word once — repetition does not improve ranking and may get you rejected
- Stay within 100 characters total for the App Store keywords field
Edit keyword fields in
fastlane/metadata/or App Store Connect. Keepsrc/store-metadata/keywords.txtas a version-controlled reference.
External references
- external · apple-guideline-2.3.7 — Apple App Review Guideline 2.3.7 — Keyword Stuffing
- external · google-play-spam-policy-keyword-spam — Google Play Developer Policy — Keyword Spam
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-metadata-listing·automated