Home
Services
AI SEO & Entity Authority AI Content Marketing Link Building & Digital PR AI Search Visibility (AEO) Conversion Rate Optimisation Paid Growth & Performance
Company
About Us Who It's For Careers
More
Blog Get a Quote Book a Free Strategy Call
AI

Schema Markup Every AI Product Website Should Use

The schema every AI product site should ship
What a person reads

Northstar is an AI research assistant that runs in the browser, costs $29 a month, and holds a 4.8 rating from 2,400 teams.

the same facts, structured
what a machine readsproduct-page.jsonld
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Northstar",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web",
  "offers": {
    "@type": "Offer",
    "price": "29",
    "priceCurrency": "USD"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "ratingCount": "2400"
  }
}

For a decade, structured data earned you a prettier search result: a star rating here, a price badge there. That job still exists, but it is no longer the main one. The systems that now decide whether your product gets mentioned, ChatGPT, Perplexity, Google's AI Overviews, and Copilot, do not skim your landing page the way a person does. They look for labeled facts they can trust and repeat.

Schema markup is how you hand those facts over directly. When the block at the top of this page is missing, an AI has to infer everything from your prose, and it guesses wrong more often than you would like, mixing up pricing tiers, misstating features, or filing you under the wrong category.

The payoff is unusually clean. Rankeo's 2026 study found AI engines are 2.7 times more likely to describe a product accurately when schema is present, Alhena put structured data on 65 percent of pages cited in AI answers, and Merkle found only 30 percent of SaaS sites have comprehensive markup. The cheapest lever in search is still sitting untouched on most of your competitors' sites.

65%
of pages cited in AI answers carry structured data (Alhena, 2026)
2.7x
more likely an AI describes your product correctly with schema present (Rankeo, 2026)
40%
more AI Overview appearances for sites with complete core schema (Stackmatix, 2026)
30%
of SaaS sites have comprehensive schema, so the field is wide open (Merkle, 2025)
The stack

The schema an AI product site should ship

Think of your markup as a stack, built in a set order. Identity first, so machines know who you are. Then the product, so they know what you sell. Then trust, so they know why to recommend it. Then the connective tissue that helps them read the rest of your site. Each layer below ships one or two JSON-LD blocks you can copy and adapt.

1IdentityOrganization, WebSite 2ProductSoftwareApplication, Offer 3TrustAggregateRating, Review 4ComprehensionFAQPage, Article, Breadcrumb
Build in this order. Each layer gives an AI another labeled fact to stand on.
1Identity
@type Organizationyour identity anchor

Every other block points back to this one, and the sameAs list is what lets an AI confirm that the Northstar on your site is the same Northstar on LinkedIn, Crunchbase, and G2. Set it once, site wide.

nameurllogosameAs@id
organization.jsonld
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://northstar.ai/#organization",
  "name": "Northstar",
  "url": "https://northstar.ai",
  "logo": "https://northstar.ai/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/northstar",
    "https://www.crunchbase.com/organization/northstar",
    "https://www.g2.com/products/northstar"
  ]
}
@type WebSitenames the site as an entity

Declares your site as a thing machines can reference, and through SearchAction it tells Google how your internal search works. This is also where the sitelinks search box comes from.

nameurlpotentialActionpublisher
website.jsonld
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://northstar.ai/#website",
  "url": "https://northstar.ai",
  "publisher": { "@id": "https://northstar.ai/#organization" },
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://northstar.ai/search?q={q}"
    },
    "query-input": "required name=q"
  }
}
publisher publisher WebSite@id SoftwareApplication@id NorthstarOrganization sameAs LinkedIn Crunchbase G2
Solid lines link your entities by @id. Dashed sameAs lines tie you to the profiles an AI checks to confirm you are you.
2Product
@type SoftwareApplicationthe star of the page

The type AI engines reach for when they answer questions like which tool does X. Google treats three fields as non negotiable for a rich result: a name, a price inside offers (use 0 for a free plan), and either an aggregateRating or a review.

nameapplicationCategoryoperatingSystemoffers.priceaggregateRating
software-application.jsonld
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "@id": "https://northstar.ai/#software",
  "name": "Northstar",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web",
  "description": "An AI research assistant that reads, summarizes, and cites sources for product teams.",
  "publisher": { "@id": "https://northstar.ai/#organization" },
  "offers": { "@type": "Offer", "price": "29", "priceCurrency": "USD" },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "ratingCount": "2400"
  }
}
@type Offerthe fact AI gets wrong most

Pricing is where assistants slip, so state it plainly. Include both price and priceCurrency (either alone is invalid), keep priceValidUntil in the future, and describe subscriptions with a UnitPriceSpecification so monthly and annual billing are unambiguous.

pricepriceCurrencypriceValidUntilavailabilitypriceSpecification
offer.jsonld
{
  "@context": "https://schema.org",
  "@type": "Offer",
  "name": "Team plan",
  "price": "29",
  "priceCurrency": "USD",
  "priceValidUntil": "2026-12-31",
  "availability": "https://schema.org/InStock",
  "priceSpecification": {
    "@type": "UnitPriceSpecification",
    "price": "29",
    "priceCurrency": "USD",
    "billingDuration": "P1M"
  }
}
3Trust
@type AggregateRating and Reviewsocial proof a machine repeats

Ratings are proof an AI will happily quote back to a buyer, but only if the math is complete. AggregateRating needs both a ratingValue and a count; a score with no count is invalid and gets dropped. Only mark up reviews that are real and visible on your own domain, never numbers you cannot show.

ratingValuereviewCountbestRatingreviewauthor
reviews.jsonld
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Northstar",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "2400",
    "bestRating": "5"
  },
  "review": {
    "@type": "Review",
    "author": { "@type": "Person", "name": "Ravi Menon" },
    "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" },
    "reviewBody": "Cut our weekly research time from days to hours."
  }
}
4Comprehension
@type FAQPagestill alive, just not for badges

Google stopped showing FAQ rich results on 7 May 2026, but the type itself is very much in use. FAQPage still labels your questions and answers so a machine can lift them cleanly into an AI response, which is exactly the surface that matters now.

mainEntityQuestionacceptedAnswer
faq.jsonld
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Does Northstar cite its sources?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, every summary links to the documents it drew from."
      }
    }
  ]
}
@type BlogPostingfor blog, docs, and case studies

Clear author, publisher, and dateModified values help AI systems judge freshness and credibility, and they feed the content recommendations that answer engines increasingly serve. Pair it with BreadcrumbList so every nested page reports where it sits.

headlineauthorpublisherdatePublisheddateModified
article.jsonld
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How Northstar grounds every answer in a source",
  "datePublished": "2026-07-15",
  "dateModified": "2026-07-28",
  "author": { "@type": "Person", "name": "Priya Shah" },
  "publisher": { "@id": "https://northstar.ai/#organization" },
  "image": "https://northstar.ai/blog/grounding.png"
}
Reference

A rich result and AI comprehension are two different things

For years these got tangled together: whether a type paints a fancier listing, and whether it helps a machine understand your page. After the 2026 changes the gap matters. The two surfaces below are fed by the same schema block, and the table shows where each type stands today.

JSON-LD northstar.ai Northstar: AI research assistant ★★★★★ 4.8 (2,400) From $29 / mo Reads, summarizes, and cites sources for product teams. GOOGLE RESULT AI Northstar is an AI research assistant that runs in the browser, priced from $29 a month and rated 4.8 by 2,400 teams. AI ANSWER
The same SoftwareApplication block drives both the rich result and the AI answer. Get it wrong in one place and it is wrong in both.
Schema typeGoogle rich result nowAI valueBest place to use
SoftwareApplicationYes, with price and ratingHighProduct and pricing pages
ProductYesHighPlan and store pages
OrganizationNo direct listingHighSite wide
WebSiteSitelinks search boxMediumHomepage
AggregateRating and ReviewYes on eligible pagesHighProduct and testimonial pages
Article and BlogPostingYesHighBlog, docs, case studies
BreadcrumbListYesMediumEvery nested page
FAQPageNot shown since May 2026MediumSupport and pricing pages
HowToRemoved back in 2023LowHow it works pages
Field note

What really happened to FAQ schema

On 7 May 2026, Google added a quiet line to its documentation: FAQ rich results no longer appear in Search. There was no blog post, just a note. It finished a withdrawal that started in August 2023, when the feature was cut back to government and health sites only, and it mirrors how HowTo rich results were retired in 2023.

Two things get confused here, so keep them apart. The rich result, that expandable panel under your listing, is gone. The FAQPage markup is not. It remains a valid type, it will not hurt your rankings, and machines still read it to understand your questions and answers. Leave it in place on pages where a genuine question and answer format helps a reader.

One housekeeping note for data teams: the Search Console FAQ report and the Rich Results Test check are being removed in June 2026, and Search Console API support ends in August 2026. If you pull that data into dashboards, update those calls before they start returning empty.

Aug 2023Cut to govand health 7 May 2026Rich resultsremoved Jun 2026Reportsretired Aug 2026API supportends
The rich result is retired in stages through 2026. The FAQPage markup stays valid the whole way.
Getting it right

Seven rules that decide whether your markup is trusted

Valid schema and trusted schema are not the same. These are the field level habits that keep an engine from quietly ignoring your work.

  • Write JSON-LD, not microdata. It keeps the data separate from your layout and is the format AI crawlers parse most reliably.
  • Put every entity in one @graph and link them with @id. A machine should see one connected identity, not scattered fragments.
  • Ship schema in the server response. If it only appears after client side JavaScript, a crawler may fetch the page before the data exists.
  • Mirror what the page shows. If your schema says 29 dollars and the page says 39, Google can ignore the block and flag the site for review.
  • Feed the sameAs list generously. LinkedIn, Crunchbase, G2, Capterra, and your official profiles are how an AI confirms you are you.
  • Keep prices honest and current. Both price and priceCurrency are required, a free plan still needs a price of 0, and a stale priceValidUntil can make an offer look expired.
  • Test, then watch. Run the Rich Results Test on your top pages, track the Enhancements report in Search Console, and re audit each quarter.
one connected identity, not fragmentsgraph.jsonld
{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Organization", "@id": "https://northstar.ai/#organization", "name": "Northstar" },
    { "@type": "WebSite", "@id": "https://northstar.ai/#website",
      "publisher": { "@id": "https://northstar.ai/#organization" } },
    { "@type": "SoftwareApplication", "@id": "https://northstar.ai/#software",
      "publisher": { "@id": "https://northstar.ai/#organization" } }
  ]
}
Rollout

A 30 day plan you can actually run

Build in the same order as the stack. Each week ships something an engine can use immediately.

1

Week 1

Ship Organization and WebSite site wide, with a complete sameAs list pointing at every profile you own.

2

Week 2

Add SoftwareApplication and Offer to your product and pricing pages, with a valid price and currency on every plan.

3

Week 3

Add AggregateRating, Review, and Article across your testimonial, comparison, and blog pages.

4

Week 4

Merge everything into a single @graph, validate every template, and put a quarterly audit on the calendar.

Give it two to six weeks and watch AI referral traffic move, not in one spike, but as a steady climb as your labeled pages pile up.

The takeaway

Schema markup is the cheapest high leverage move left in search. It costs a few kilobytes of JSON, it does not depend on writing more content, and it directly shapes how the answer engines describe you. As AI systems begin to cross reference schema against live sources, accuracy is rewarded and markup that lies is penalized. The sites that win the next round of AI visibility are not the ones with the most pages.

Hand the machines the facts, before they invent their own.