Skip to content
← Back to the blog
websitesproduct

Structured data for a SaaS website: which schema to use

Which schema.org types are worth adding to a SaaS site in 2026, what Google still shows from them, a JSON-LD example and how to test it safely.

By Devonauts Team5 min read
Leer en español →
Long rows of labelled wooden catalogue drawers on both sides of an archive aisle

For most SaaS websites, a small set of schema.org structured data covers what's useful: Organization and WebSite on the home page, SoftwareApplication on the product or pricing page (only with real pricing and, if you have them, genuine ratings), BreadcrumbList on deeper pages, and BlogPosting on articles. Add it as JSON-LD, make sure it matches what visitors see on the page, and test it with Google's Rich Results Test. Structured data doesn't raise rankings by itself; it helps search engines understand the page and makes some pages eligible for richer results.

This guide explains what structured data is, which types matter for a software company, which ones Google has stopped showing, a working example, and how to test and maintain it.

What is structured data, in plain terms?

It's a block of machine-readable facts about the page, added to the HTML. Instead of a search engine guessing from the text that "Acme" is a company, that "Acme Planner" is its product and that it costs $19 a month, you state it explicitly using the shared vocabulary from schema.org.

Google supports three formats and recommends JSON-LD, a <script type="application/ld+json"> block that sits apart from your visible HTML. That separation makes it the easiest format to add to a React or Next.js app.

Which schema types are worth adding to a SaaS site?

PageTypeWhat it helps with
HomeOrganizationYour name, logo, official profiles (sameAs), contact point; can feed Google's knowledge panel
HomeWebSiteThe site name Google shows above your result
Product or pricingSoftwareApplicationApp name, category, operating system, price; can show rating information
Any page below the top levelBreadcrumbListThe page's position in your site, shown in place of the raw URL
Blog postsBlogPosting or ArticleHeadline, author, dates, image
Video pagesVideoObjectEligibility for video features

Google's list of supported features changes, so check its search gallery before adding anything new. In June 2025 Google announced it would phase out several rarely used rich result types to simplify search results, and the FAQ rich result stopped appearing in Google Search in May 2026. FAQPage markup is still valid schema.org and does no harm, but don't add it expecting expandable questions under your listing. HowTo rich results are also gone.

How do I mark up the software itself?

Google's SoftwareApplication rich result requires a name, an offers.price (use 0 for a free app) and either aggregateRating or review. Recommended properties are applicationCategory (for example BusinessApplication) and operatingSystem.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Acme Planner",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web",
  "offers": {
    "@type": "Offer",
    "price": "19.00",
    "priceCurrency": "USD"
  }
}
</script>

This example has no rating, so it won't qualify for the rating display, but it's still correct, honest markup that describes the product. Only add aggregateRating if real users rated the product and the rating is visible on the page.

Can I mark up my own reviews and testimonials?

Be careful. Google's review snippet guidelines say pages using Organization or LocalBusiness markup aren't eligible for star ratings when the business controls the reviews about itself. Testimonials you picked and placed on your home page fall into that category. Inventing ratings, or marking up ratings that don't appear on the page, goes against Google's structured data guidelines and can lead to a manual action, which removes rich results for the site.

What does the Organization block look like?

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Acme",
  "url": "https://acme.example",
  "logo": "https://acme.example/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/acme-example",
    "https://github.com/acme-example"
  ]
}
</script>

Put this on the home page only. Use the same name everywhere: the Organization block, the WebSite block, your page titles and your social profiles.

How do I add it to a React or Next.js app?

  • Next.js: render the JSON-LD script tag in the page component, with the object passed through JSON.stringify. It's included in the server-rendered HTML.
  • A client-rendered React app (Vite, Lovable, Bolt): you can inject the script from the page component, and Google does read structured data added by JavaScript, but it only sees it after rendering. Other consumers of structured data may never run your JavaScript. Prerendering public pages solves that and helps the rest of your SEO; see SEO for React single-page apps.
  • Generate it from your data. Build the pricing markup from the same source as the pricing table, so a price change can't leave old numbers in the markup.

How do I test it?

  1. Google's Rich Results Test shows which Google features the page is eligible for, and any errors or warnings. Test the live URL, not just pasted code, so you see what Google actually fetches.
  2. The Schema Markup Validator (validator.schema.org) checks general schema.org validity, including types Google doesn't use.
  3. Search Console lists detected structured data under its enhancement reports once Google has crawled the pages, and alerts you to new errors.

Warnings for missing recommended fields are fine to leave if you don't have the data. Errors on required fields mean the feature won't show.

How do I keep it from going stale?

Structured data breaks quietly. A redesign removes the breadcrumb component, a price changes on the page but not in the markup, a logo URL starts returning 404. Add the Rich Results Test or a structured data check to your release checklist, and look at the Search Console reports once a month. If your site is built with AI tools, check after big regenerations too, because the JSON-LD block is easy for a prompt to delete. Our MVP launch checklist includes this among the other pre-launch checks.

Quick answers

Does structured data improve rankings? Not directly. It helps Google understand the page and can make it eligible for richer displays, which can improve clicks.

Should I still add FAQPage markup? It's harmless, but Google no longer shows FAQ rich results, so it isn't worth much effort for Google Search.

Do AI answer engines read schema.org? Some crawlers may use it, but none of them document a guaranteed effect. Clear, visible content on the page matters far more.

Is JSON-LD added with JavaScript OK? Google supports it after rendering. Including it in the HTML from the server or a prerender is more reliable.

Need it set up properly?

Structured data is most useful when it's generated from your real data and kept in sync, which is a small development task rather than a one-off copy and paste. Our custom software development team can build that in, and the free health check shows what your site exposes today. Questions? Write to us. Google's Software App structured data reference lists every supported property.

Still stuck with your app?

Run the free health check on your app's URL, or get the $299 App Rescue Audit: a senior engineer reviews the code and sends you a written report in 2 business days.