Schema Markup Every AI Product Website Should Use
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.
{
"@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.
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.
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.
{
"@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"
]
}
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.
{
"@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"
}
}
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.
{
"@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"
}
}
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.
{
"@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"
}
}
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.
{
"@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."
}
}
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.
{
"@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."
}
}
]
}
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.
{
"@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"
}
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.
| Schema type | Google rich result now | AI value | Best place to use |
|---|---|---|---|
| SoftwareApplication | Yes, with price and rating | High | Product and pricing pages |
| Product | Yes | High | Plan and store pages |
| Organization | No direct listing | High | Site wide |
| WebSite | Sitelinks search box | Medium | Homepage |
| AggregateRating and Review | Yes on eligible pages | High | Product and testimonial pages |
| Article and BlogPosting | Yes | High | Blog, docs, case studies |
| BreadcrumbList | Yes | Medium | Every nested page |
| FAQPage | Not shown since May 2026 | Medium | Support and pricing pages |
| HowTo | Removed back in 2023 | Low | How it works pages |
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.
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.
{
"@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" } }
]
}
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.
Week 1
Ship Organization and WebSite site wide, with a complete sameAs list pointing at every profile you own.
Week 2
Add SoftwareApplication and Offer to your product and pricing pages, with a valid price and currency on every plan.
Week 3
Add AggregateRating, Review, and Article across your testimonial, comparison, and blog pages.
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.
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.
Related Insights
How to Move from Product Hunt Traffic to Sustainable Growth
How to Create Demand When Your Product Category Is New
How Google Understands an AI Brand
How to Build Topical Authority in a New AI Category
Why Your Competitor Appears in AI Answers and You Don’t