Guide : SoftwareApplication Schema

How to implement SoftwareApplication schema (schema.org/SoftwareApplication) pour Google's Software App rich result — the requis nom/offers/rating fields, the applicationCategory enum, choosing WebApplication vs MobileApplication, quand to utiliser it au lieu de Product schema, and the genuine-rating rules que garder vous out of trouble.

Première publication : 1 juil. 2026 · Dernière mise à jour : 3 août 2026 · Advanced
Langues

SoftwareApplication schema (schema.org/SoftwareApplication) is données structurées que indique moteur de recherches an app's nom, category, operating system, price, and rating so lune page peut qualify pour Google's Software App rich result — the star rating, examiner count, price, and OS affiché in the snippet. Google's requis fields are narrow: nom, offers (with a price; définir it to 0 pour free apps), and au moins un of aggregateRating or examiner; applicationCategory and operatingSystem are recommended. The two choses la plupart guides obtenir incorrect: ils présent the whole schema.org property liste (downloadUrl, fileSize, screenshot) as si it affecte the rich result quand it doesn't, and ils blur SoftwareApplication with Product schema — but they're separate types with separate rich-result surfaces, so a paid SaaS or web app devrait généralement utiliser SoftwareApplication (or a WebApplication/MobileApplication subtype), pas Product. And the ratings have to be genuine and user-sourced; fabricated or incentivized stars risk a manual action, pas simplement a validation warning.

TL;DR — schema.org/SoftwareApplication markup (usually JSON-LD) rend an app or software page eligible pour Google’s Software App rich result (rating, examiner count, price, OS in the snippet). Google’s requis fields are narrow: name, offers (with price; 0 pour free apps, priceCurrency recommended une fois price

0), and au moins un of aggregateRating or review. applicationCategory (from a fixed enum) and operatingSystem are recommended. The rest of the grand schema.org property liste (downloadUrl, fileSize, screenshot, permissions…) is spec-valid but SEO-inert pour ce result. Préférer the la plupart spécifique subtype (WebApplication, MobileApplication, VideoGame) over generic SoftwareApplication. It’s a separate type from Product with a separate rich-result surface — a paid SaaS/web app devrait généralement utiliser SoftwareApplication, pas Product. Ratings doit be genuine and user-sourced; fabricated or misleading examiner markup violates Google’s structured-data policies.

Evidence for this claim Schema.org SoftwareApplication describes a software application and includes application category, operating system, offers, and review metadata. Scope: Schema.org vocabulary. Confidence: high · Verified: Schema.org: SoftwareApplication Evidence for this claim Google's software app feature requires name, offers.price, and either aggregateRating or review; markup must describe a real app visible on the page. Scope: Current Google Software app structured-data requirements and policies. Confidence: high · Verified: Google Search Central: Software app structured data

Ce que SoftwareApplication schema unlocks

The concrete payoff is the Software App rich result — Google’s enhanced listing pour app and software pages que peut surface the star rating, examiner count, price, and pris en charge operating system in the snippet. schema.org describes the type itself in a unique line — “A software application.” — and Google’s Search Central docs turn que into a spécifique eligibility spec pour the rich result. The whole point of getting ce markup correct is to be eligible pour que snippet; valid markup seulement puts vous in the running, it doesn’t guarantee afficher — and it doesn’t promise downloads, rankings, CTR, star visibility, or AI-search citations soit. Google dit it plainly: “Google ne fait pas guarantee que votre données structurées va montrer up in résultats de recherche, même si votre page is marked up correctement.”

Google’s requirements ici are refreshingly narrow — narrower que la plupart third-party guides faire les regarder. Here’s the réel split from Google’s Software App docs:

PropertyStatusNotes
nameRequis”The name of the app.”
offersRequis”An offer to sell the app.” Utiliser price: 0 pour free apps.
aggregateRating or reviewRequis (un of)An average score or a unique examiner — au moins un.
applicationCategoryRecommended”The type of app (for example, BusinessApplication or GameApplication).”
operatingSystemRecommended”The operating system(s) required to use the app (for example, Windows 7, OSX 10.6, Android 1.6).”
priceCurrency (in offers)Recommended (quand price > 0)Google va essayer to infer currency si vous omit it, but définir it.

That’s the entier eligibility surface. name + offers + one-of-rating/examiner, with applicationCategory and operatingSystem as the two recommendations worth ajout every temps.

Handling free apps vs. paid apps

Google is explicit à propos de free apps: “Si the app is disponible sans payment, définir offers.price to 0.” Don’t drop offers entirely parce que the app is free — offers is on the requis liste; a free app devrait inclure it with price: 0, pas omit it. And pour paid apps: “Si the app has a price supérieur que 0, we recommend aussi notamment the offers.priceCurrency property (or Google va essayer to trouver the correct currency).” So définir priceCurrency to a valid ISO 4217 code comme USD une fois you’re charging anything.

Evidence for this claim offers.price is required; use 0 for an app available without payment, and for price above 0 Google recommends priceCurrency or may infer it. Scope: structured data and commerce Confidence: high · Verified: SoftwareApplication structured data

The applicationCategory enum — and the quiet mistake it causes

applicationCategory seulement accepts valeurs from Google’s documented liste. The accepted valeurs are:

GameApplication · SocialNetworkingApplication · TravelApplication · ShoppingApplication · SportsApplication · LifestyleApplication · BusinessApplication · DesignApplication · DeveloperApplication · DriverApplication · EducationalApplication · HealthApplication · FinanceApplication · SecurityApplication · BrowserApplication · CommunicationApplication · DesktopEnhancementApplication · EntertainmentApplication · MultimediaApplication · HomeApplication · UtilitiesApplication · ReferenceApplication

Vous pouvez aussi utiliser the schema.org URL formulaire (e.g. https://schema.org/GameApplication), but the plain text string is standard pratique. Here’s the trap: a valeur outside que liste — dire a descriptive "Productivity Software" — isn’t a hard error. Google simplement silently ignores it, so the rest of votre markup validates and vous jamais voir a warning, but the field isn’t doing anything. Que quiet no-op is un of the la plupart Erreurs fréquentes I’d expect to trouver auditing app pages.

Choisir the la plupart spécifique subtype

SoftwareApplication has several plus spécifique subtypes in schema.org — its “More specific Types” are MobileApplication, WebApplication, VideoGame, OperatingSystem, and RuntimePlatform. Où un fits, utiliser it au lieu de the generic type:

  • WebApplication — a browser-based SaaS outil (ce is the courant cas pour the audience I écrire pour).
  • MobileApplication — a native iOS/Android app.
  • VideoGame — a game, but voir the caveat ci-dessousVideoGame alone isn’t suffisant pour the rich result.

Google’s Software App eligibility docs treat SoftwareApplication, MobileApplication, and WebApplication interchangeably, so specificity costs vous nothing in eligibility pour ceux three and adds precision. VideoGame is the un exception: Google is explicit que “Google doesn’t montrer a rich result pour Software Apps que seulement have the VideoGame type. To assurez-vous que votre Software App is eligible pour afficher as a rich result, co-type the VideoGame type with un autre type” — Google’s propre exemple co-types it with MobileApplication, e.g. "@type": ["VideoGame", "MobileApplication"]. So a game page nécessite VideoGame plus un autre eligible application type in the même @type array, pas VideoGame on its propre. Si vous run a SaaS product, WebApplication is usually the honest, precise choice.

SoftwareApplication vs. Product schema — the disambiguation que matters

Ce is the confusion I la plupart vouloir to clair up, parce que SaaS marketers reach pour Product schema reflexively — the app is “a thing you buy,” so Product feels correct. It usually isn’t the correct pick. The correct appel follows ce que lune page’s entity en réalité is and qui Google fonctionnalité you’re targeting — pas a blanket rule que every SaaS, boxed-software, subscription, or app-marketplace page defaults to un type.

SoftwareApplication and Product are separate schema.org types with separate requis/recommended fields and separate Google rich-result surfaces:

  • SoftwareApplication cares à propos de operatingSystem and applicationCategory, and feeds the Software App rich result.
  • Product cares à propos de gtin/mpn/sku/brand, availability, shipping and renvoie, and feeds product snippets and merchant listings — surfaces construit autour physical, purchasable goods and (optionally) a Google Merchant Center feed.

Ceux Product-side conventions — GTIN/MPN catalog matching, shipping details, merchant feeds — don’t map cleanly onto software. A downloadable app or a SaaS subscription doesn’t have a UPC or a shipping policy. So pour installable or runnable software with an OS and a category, utiliser SoftwareApplication (or a subtype). Reach pour Product schema seulement quand the item genuinely behaves comme a generic sellable bon — pour instance boxed software sold comme a retail SKU, or a subscription you’re deliberately modeling as a plain purchasable product plutôt que as the application itself. Picking the incorrect type signifie Google checks pour fields votre markup doesn’t have and misses the ones que en réalité drive le résultat vous vouloir. (The Product schema article on ce site goes deep on que side; ce is the app-native counterpart to it.)

Ces aren’t toujours forced soit/or nodes, soit. Google’s propre worked exemple pour VideoGame co-types it with MobileApplication in the même @type array plutôt que picking un — proof que a unique entity peut carry plus que un type quand it genuinely is plus que un chose. The même logic s’applique ici: si une page’s entity truthfully is les deux an application and a generically sellable bon, co-typing (or a @graph with les deux nodes) peut be the honest réponse. Don’t reach pour que as a par défaut hedge — do it parce que the entity en réalité supports les deux, and document pourquoi.

Reviews and ratings — the eligibility rules que en réalité matter

Parce que aggregateRating/review is partie of the requis définir, the ratings rules are load-bearing ici, and Google incorporates its general Examiner snippet guidelines by référence: the aggregateRating and review docs les deux dire to “Follow the Examiner snippet guidelines and liste of requis and recommended” properties. The rules que bite:

  • Ratings doit come from réel utilisateurs. Google: “Ratings doit be sourced directement from utilisateurs.”
  • Don’t pull in autre sites’ ratings. Google: “Don’t aggregate reviews or ratings from autre websites.”
  • Si vous montrer individual reviews, aussi montrer an aggregate. Google: “Si vous inclure multiple individual reviews, aussi inclure an aggregate rating of the individual reviews.”

Un nuance worth getting correct, parce que it’s facile to over-state. There’s a self-serving-reviews ineligibility rule que obtient quoted a lot — “Si the entity that’s being reviewed contrôle the reviews à propos de itself, leur pages que utiliser LocalBusiness or quelconque autre type of Organization données structurées are ineligible pour star examiner fonctionnalité.” Remarque ce que it’s scoped to: LocalBusiness/Organization markup. Google’s review-snippet docs liste SoftwareApplication among the normal reviewable item types (alongside Product, Book, Course, Game, Movie, Recipe, and others), and it is pas swept into que spécifique LocalBusiness/Organization ban. So app schema ratings on votre propre page are eligible — but that’s pas a loophole. Ils encore have to be genuine and user-sourced, and Google’s broader fake-review enforcement (removal at scale, spam policies, manual actions) s’applique to app ratings simplement comme everything sinon.

Qui leads to the warning I vouloir to faire loudly, parce que la plupart competitor guides skip it entirely: fabricated, incentivized, or editorially-curated ratings are a manual action risk, pas simplement a validation problem. Google’s propre guidelines section on the Software App page ties back to Search Essentials and the general structured-data policies: “Si votre site violates un or plus of ces guidelines, alors Google may prendre manual action contre it. Une fois vous have remedied the problem, vous pouvez submit votre site pour reconsideration.” And it’s worth understanding how beaucoup a rich-result manual action peut escalate — voir the Quotes tab pour Danny Sullivan’s general statement que a rich-result manual action peut lead to votre résultats enrichis being supprimé and peut widen into a broader spam manual action que affecte ranking. That’s general rich-result policy, pas a SoftwareApplication-specific ruling — but it’s exactly pourquoi casually faking app stars is a bad trade.

Autre schema.org properties worth knowing — but pas requis

schema.org donne SoftwareApplication a big property liste au-delà the requis définir: downloadUrl, installUrl, fileSize, screenshot, featureList, softwareVersion, permissions, memoryRequirements, storageRequirements, operatingSystem, applicationSubCategory, applicationSuite, and plus. A few, with schema.org’s propre descriptions:

  • downloadUrl“If the file can be downloaded, URL to download the binary.”
  • fileSize“Size of the application / package (e.g. 18MB). In the absence of a unit (MB, KB etc.), KB va be assumed.”
  • permissions“Permission(s) requis to run the app (Par exemple, a mobile app may exiger complet internet accès or may run seulement on wifi).”
  • screenshot“A link to a screenshot image of the app.”

Ces are tout valid and peut aider autre consumers (AI agents, aggregators, votre propre tooling) comprendre the app — but none of les are requis or recommended by Google’s Software App rich-result docs, and none of les affecter rich-result eligibility. I’m appel ce out parce que third-party guides routinely pad leur “requirements” listes with downloadUrl, screenshot, and fileSize to regarder comprehensive, leaving readers polishing fields que ne faites pashing pour the snippet they’re chasing. Ajouter les si they’re utile pour autre raisons; don’t ajouter les thinking they’ll earn or améliorer the rich result.

Bing and autre engines

Bing supports schema.org and JSON-LD broadly and validates markup via its Markup Validator, but it doesn’t publish a dedicated “Software App” requis/recommended property table or a distinct app rich-result surface the façon Google fait. So schema.org/SoftwareApplication is valid, generically-supported markup on Bing — there’s simplement aucun bespoke Bing app rich result to target. Bing recognizing the même vocabulary isn’t fonctionnalité parity with Google’s Software App result: don’t assume the même markup earns vous an equivalent rating/price/OS snippet on Bing, since Bing hasn’t documented que it builds un.

Où ce sits in the bigger picture

SoftwareApplication is un type in the wider données structurées / balisage de données structurées world, and the ratings mechanics it leans on are shared with the examiner and aggregateRating vocabularies. Pour a paid app, the Product schema article is its closest neighbor and the placer to go quand vous decide the item really is a generic sellable bon plutôt que the application itself. And si votre implementer is a SaaS marketing team, ce markup usually lives on the même pricing and landing pages que the broader SaaS SEO fonctionner covers.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.