Guide : SoftwareApplication Schema

Comment implement SoftwareApplication schema (schema.org/SoftwareApplication) pour Google's Software App rich résultat — le requis nom/offers/rating champs, le applicationCategory enum, choosing WebApplication vs MobileApplication, quand à utiliser il au lieu de Produit schema, et le genuine-rating règles que garder vous out de trouble.

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

SoftwareApplication schema (schema.org/SoftwareApplication) est données structurées que indique moteur de recherches an app's nom, category, operating système, price, et rating donc lune page peut qualify pour Google's Software App rich résultat — le star rating, examiner count, price, et OS affiché dans le extrait. Google's requis champs sont narrow: nom, offers (avec a price; définir il à 0 pour gratuit apps), et au moins un de aggregateRating or examiner; applicationCategory et operatingSystem sont recommended. Le deux choses la plupart guides obtenir incorrect: ils présent le entier schema.org property liste (downloadUrl, fileSize, screenshot) as si il affecte le rich résultat quand il ne fait pas, et ils blur SoftwareApplication avec Produit schema — mais ils sont séparé types avec séparé rich-résultat surfaces, donc a payant SaaS or web app devrait généralement utiliser SoftwareApplication (or a WebApplication/MobileApplication subtype), pas Produit. Et le ratings ont à être genuine et utilisateur-sourced; fabricated or incentivized stars risque a manual action, pas simplement a validation warning.

TL;DR — schema.org/SoftwareApplication markup (généralement JSON-LD) rend an app or software page eligible pour Google’s Software App rich résultat (rating, examiner count, price, OS dans le extrait). Google’s requis champs sont narrow: name, offers (avec price; 0 pour gratuit apps, priceCurrency recommended une fois price

0), et au moins un de aggregateRating or review. applicationCategory (depuis a fixed enum) et operatingSystem sont recommended. Le rest de le grand schema.org property liste (downloadUrl, fileSize, screenshot, permissions…) est spec-valide mais SEO-inert pour ce résultat. Préférer le la plupart spécifique subtype (WebApplication, MobileApplication, VideoGame) over générique SoftwareApplication. c’est a séparé type depuis Produit avec a séparé rich-résultat surface — a payant SaaS/web app devrait généralement utiliser SoftwareApplication, pas Produit. Ratings doit être genuine et utilisateur-sourced; fabricated or misleading examiner markup violates Google’s structured-données policies.

Preuve à l’appui de cette affirmation Schema.org SoftwareApplication describes a software application and includes application category, operating system, offers, and review metadata. Portée : Schema.org vocabulary. Niveau de confiance : élevé · Vérifié : Schema.org: SoftwareApplication Preuve à l’appui de cette affirmation Google's software app feature requires name, offers.price, and either aggregateRating or review; markup must describe a real app visible on the page. Portée : Current Google Software app structured-data requirements and policies. Niveau de confiance : élevé · Vérifié : 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 for app and software pages that can surface the star rating, review count, price, and supported operating system in the snippet. schema.org describes the type itself in a single line — “A software application.” — and Google’s Search Central docs turn that into a specific eligibility spec for the rich result. The whole point of getting this markup right is to be eligible for that snippet; valid markup only puts you in the running, it doesn’t guarantee display — and it doesn’t promise downloads, rankings, CTR, star visibility, or AI-search citations either. Google says it plainly: “Google does not guarantee that your structured data will show up in search results, even if your page is marked up correctly.” » (Traduction) (Résumé en français de la section vingt et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Required and recommended properties » (Traduction) (Résumé en français de la section vingt-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Google’s requirements here are refreshingly narrow — narrower than most third-party guides make them look. Here’s the actual split from Google’s Software App docs: » (Traduction) (Résumé en français de la section vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«| Property | Status | Notes | | --- | --- | --- | | name | Required | “The name of the app.” | | offers | Required | “An offer to sell the app.” Use price: 0 for free apps. | | aggregateRating or review | Required (one of) | An average score or a single review — at least one. | | applicationCategory | Recommended | “The type of app (for example, BusinessApplication or GameApplication).” | | operatingSystem | Recommended | “The operating system(s) required to use the app (for example, Windows 7, OSX 10.6, Android 1.6).” | | priceCurrency (in offers) | Recommended (when price > 0) | Google will try to infer currency if you omit it, but set it. | » (Traduction) (Résumé en français de la section vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

c’est le entier eligibility surface. name + offers + un-de-rating/examiner, avec applicationCategory et operatingSystem as le deux recommendations worth ajout chaque temps.

Handling gratuit apps vs. payant apps

Google est explicit à propos de gratuit apps: “Si le app est disponible sans payment, définir offers.price à 0.” ne pas drop offers entirely parce que le app est gratuit — offers est on le requis liste; a gratuit app devrait inclure il avec price: 0, pas omit il. Et pour payant apps: “Si le app a a price supérieur que 0, nous recommend aussi notamment le offers.priceCurrency property (or Google va essayer à trouver le correct currency).” Donc définir priceCurrency à a valide ISO 4217 code comme USD une fois vous êtes charging n’importe quoi.

Preuve à l’appui de cette affirmation offers.price is required; use 0 for an app available without payment, and for price above 0 Google recommends priceCurrency or may infer it. Portée : structured data and commerce Niveau de confiance : élevé · Vérifié : SoftwareApplication structured data

Le applicationCategory enum — et le quiet mistake il causes

applicationCategory seulement accepts valeurs depuis Google’s documented liste. Le accepted valeurs sont:

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 le schema.org URL formulaire (e.g. https://schema.org/GameApplication), mais le plain texte string est standard pratique. Ici’s le trap: a valeur à l’extérieur que liste — dire a descriptive "Productivity Software" — n’est pas a difficile erreur. Google simplement silently ignores il, donc le rest de votre markup valide et vous jamais voir a warning, mais le champ n’est pas doing n’importe quoi. Que quiet aucun-op est un de le la plupart Erreurs fréquentes je voudrais expect à trouver auditing app pages.

Choisir the la plupart spécifique subtype

SoftwareApplication a plusieurs plus spécifique subtypes dans schema.org — son “More specific Types” sont MobileApplication, WebApplication, VideoGame, OperatingSystem, et RuntimePlatform. Où un fits, utiliser il au lieu de le générique type:

  • WebApplication — a navigateur-based SaaS outil (ce est le courant cas pour le public Je écrire pour).
  • MobileApplication — a native iOS/Android app.
  • VideoGame — a game, mais voir le caveat ci-dessous — VideoGame alone n’est pas suffisant pour le rich résultat.

«Google’s Software App eligibility docs treat SoftwareApplication, MobileApplication, and WebApplication interchangeably, so specificity costs you nothing in eligibility for those three and adds precision. VideoGame is the one exception: Google is explicit that “Google doesn’t show a rich result for Software Apps that only have the VideoGame type. To make sure that your Software App is eligible for display as a rich result, co-type the VideoGame type with another type” — Google’s own example co-types it with MobileApplication, e.g. "@type": ["VideoGame", "MobileApplication"]. So a game page needs VideoGame plus another eligible application type in the same @type array, not VideoGame on its own. If you run a SaaS product, WebApplication is usually the honest, precise choice. » (Traduction) (Résumé en français de la section trente-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

SoftwareApplication vs. Product schema — the disambiguation que matters

Ce est le confusion Je la plupart vouloir à clair up, parce que SaaS marketers reach pour Produit schema reflexively — le app est “a thing you buy,” donc Produit feels correct. Il généralement n’est pas le correct pick. Le correct appel suit ce que lune page’s entity en réalité est et qui Google fonctionnalité vous êtes targeting — pas a blanket règle que chaque SaaS, boxed-software, subscription, or app-marketplace page defaults à un type.

SoftwareApplication et Produit sont séparé schema.org types avec séparé requis/recommended champs et séparé Google rich-résultat surfaces:

  • SoftwareApplication cares à propos de operatingSystem et applicationCategory, et feeds le Software App rich résultat.
  • Produit cares à propos de gtin/mpn/sku/brand, availability, shipping et renvoie, et feeds produit extraits et merchant listings — surfaces construit autour physical, purchasable goods et (optionally) a Google Merchant Center feed.

«Those 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 for installable or runnable software with an OS and a category, use SoftwareApplication (or a subtype). Reach for Product schema only when the item genuinely behaves like a generic sellable good — for instance boxed software sold like a retail SKU, or a subscription you’re deliberately modeling as a plain purchasable product rather than as the application itself. Picking the wrong type means Google checks for fields your markup doesn’t have and misses the ones that actually drive the result you want. (The Product schema article on this site goes deep on that side; this is the app-native counterpart to it.) » (Traduction) (Résumé en français de la section quarante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Ces ne sont pas toujours forced soit/or nodes, soit. Google’s propre worked exemple pour VideoGame co-types il avec MobileApplication dans le même @type array plutôt que picking un — proof que a unique entity peut carry plus que un type quand il genuinely est plus que un chose. Le même logic s’applique ici: si une page’s entity truthfully est les deux an application et a generically sellable bon, co-typing (or a @graph avec les deux nodes) peut être le honest réponse. ne pas reach pour que as a par défaut hedge — faire il parce que le entity en réalité prend en charge les deux, et document pourquoi.

Reviews et ratings — le eligibility règles que en réalité matter

«Because aggregateRating/review is part of the required set, the ratings rules are load-bearing here, and Google incorporates its general Review snippet guidelines by reference: the aggregateRating and review docs both say to “Follow the Review snippet guidelines and list of required and recommended” properties. The rules that bite: » (Traduction) (Résumé en français de la section quarante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

  • Ratings doit come depuis réel utilisateurs. Google: “Ratings doit être sourced directement depuis utilisateurs.”
  • ne pas pull dans autre sites’ ratings. Google: “ne pas aggregate reviews or ratings depuis autre sites web.”
  • Si vous montrer individual reviews, aussi montrer an aggregate. Google: “Si vous inclure plusieurs individual reviews, aussi inclure an aggregate rating de le individual reviews.”

Un nuance worth getting correct, parce que c’est facile à over-state. il y a a self-diffusion-reviews ineligibility règle que obtient quoted a lot — “Si le entity c’est étant reviewed contrôle le reviews à propos de itself, leur pages que utiliser LocalBusiness or quelconque autre type de Organization données structurées sont ineligible pour star examiner fonctionnalité.” Remarque ce que c’est scoped à: LocalBusiness/Organization markup. Google’s review-extrait docs liste SoftwareApplication parmi le normal reviewable élément types (alongside Product, Book, Course, Game, Movie, Recipe, et others), et il est pas swept dans que spécifique LocalBusiness/Organization ban. Donc app schema ratings on votre propre page sont eligible — mais c’est pas a loophole. Ils encore ont à être genuine et utilisateur-sourced, et Google’s broader fake-review enforcement (removal à scale, spam policies, manual actions) s’applique à app ratings simplement comme tout sinon.

Qui leads à le warning Je vouloir à faire loudly, parce que la plupart concurrent guides skip il entirely: fabricated, incentivized, or editorially-curated ratings sont a manual action risque, pas simplement a validation problème. Google’s propre guidelines section on le Software App page ties back à Recherche Essentials et le general structured-données policies: “Si votre site violates un or plus de ces guidelines, alors Google peut prendre manual action contre il. Une fois vous ont remedied le problème, vous pouvez submit votre site pour reconsideration.” Et c’est worth understanding comment beaucoup a rich-résultat manual action peut escalate — voir le Citations tab pour Danny Sullivan’s general statement que a rich-résultat manual action peut lead à votre résultats enrichis étant supprimé et peut widen dans a broader spam manual action que affecte classement. c’est general rich-résultat policy, pas a SoftwareApplication-spécifique ruling — mais c’est exactly pourquoi casually faking app stars est a mauvais 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 — “Si le fichier peut être downloaded, URL à download le binary.”
  • fileSize — “Size de le application / package (e.g. 18MB). Dans le absence de a unit (MB, KB etc.), KB va être assumed.”
  • permissions — “Permission(s) requis à exécuter le app (Par exemple, a mobile app peut exiger complet internet accès or peut exécuter seulement on wifi).”
  • screenshot — “A link to a screenshot image of the app.”

Ces sont tout valide et peut aider autre consumers (AI agents, aggregators, votre propre tooling) comprendre le app — mais none de les sont requis or recommended par Google’s Software App rich-résultat docs, et none de les affecter rich-résultat eligibility. Je’m appel ce out parce que tiers guides routinely pad leur “requirements” listes avec downloadUrl, screenshot, et fileSize à regarder comprehensive, leaving lecteurs polishing champs que ne faites pashing pour le extrait ils sont chasing. Ajouter les si ils sont utile pour autre raisons; ne pas ajouter les thinking ils’ll earn or améliorer le rich résultat.

Bing and autre engines

Bing prend en charge schema.org et JSON-LD broadly et valide markup via son Markup Validator, mais il ne fait pas publish a dedicated “Software App” requis/recommended property tableau or a distinct app rich-résultat surface le façon Google fait. Donc schema.org/SoftwareApplication est valide, generically-pris en charge markup on Bing — il y a simplement aucun bespoke Bing app rich résultat à cible. Bing recognizing le même vocabulary n’est pas fonctionnalité parity avec Google’s Software App résultat: ne pas assume le même markup earns vous an equivalent rating/price/OS extrait on Bing, since Bing hasn’t documented que il construit un.

Où ce sits in the bigger picture

SoftwareApplication est un type dans le wider données structurées / balisage de données structurées world, et le ratings mechanics il leans on sont shared avec le examiner et aggregateRating vocabularies. Pour a payant app, le Produit schema article est son closest neighbor et le placer à go quand vous decide le élément vraiment est a générique sellable bon plutôt que le application itself. Et si votre implementer est a SaaS marketing team, ce markup généralement lives on le même pricing et landing pages que le broader SaaS SEO fonctionner covers.

Ajouter une note d’expert

Épingler une citation d’expert

Nouvelle personne ? Créez son profil non revendiqué à /admin/experts/ → Épingler une citation d’expert d’abord.