Nearly a third of the B2B software sites we checked have structured data that says nothing about the business. Not none. Nothing useful. That distinction is the whole point of this article, and it is the reason "do you have schema?" is the wrong question to ask your developer.
The failure almost nobody notices
Install a content management system with a competent SEO plugin and you get structured data automatically. View the source of most marketing sites and you will find something like this in the head:
WebPage, WebSite, BreadcrumbList, ImageObject
Every one of those is correct. Together they say: this is a web page, it belongs to a website, here is the trail to it, here is a picture on it. A validator will pass it. A checklist that asks "is structured data present" will tick.
What none of it says is what your company does, what it sells, who it is for, or what it costs. To a model trying to work out whether to name you in an answer, that markup is furniture.
In our study of 152 sites, 16% had no structured data at all and another 16% had only this. Both are the same condition to a machine, which is why we count them as one number: 32% have nothing that describes the business.
The types that carry meaning
A short list does most of the work. You do not need forty types.
- Organization. Who you are, your logo, your URL, your social profiles. This is the anchor everything else hangs off, and it is the one most commonly missing.
- Product or SoftwareApplication. What you sell. SoftwareApplication takes an application category and an operating system, which sounds bureaucratic and is genuinely useful for disambiguating what kind of thing you are.
- Offer, nested in the above. The price and currency. If your pricing is public, putting it here removes any ambiguity about what a buyer pays.
- FAQPage. Question and answer pairs, marked as such. This is the single most quotable structure on the web, because it hands an extraction model a question already matched to its answer.
- Service. For agencies and studios, where the thing sold is an engagement rather than a product.
- BreadcrumbList. Fine to keep. Just do not mistake it for description.
Use one graph, not five scripts
A common mess is four separate JSON-LD blocks that never reference each other, so nothing knows that the Product belongs to the Organization.
Use @graph with @id values, and point the nodes at each other. Give your organisation a stable id like https://yoursite.com/#org, then have the product or service reference that id as its publisher or provider. Now the markup describes a company that sells a thing, rather than two unrelated facts on the same page.
Where it has to live
In the HTML your server sends. Not injected by a tag manager, not added after hydration.
This is the same trap as the rest of the raw-versus-rendered problem. Structured data that appears only after JavaScript runs is invisible to anything that does not run JavaScript, which includes a good share of the agents now fetching pages on a user's behalf. If your schema is coming from a tag manager, assume half your readers never see it.
Check yours in about a minute
- Open your homepage, view source, search for
application/ld+json. - Read the
@typevalues. If they are all WebPage, WebSite, BreadcrumbList and ImageObject, you have furniture. - Run
curl -s https://yoursite.com | grep -c "application/ld+json". If the browser shows schema and curl returns zero, it is being injected client side. - Paste the block into a JSON validator. Malformed JSON-LD is skipped silently, and it is more common than you would expect.
We failed our own check
Worth admitting, because it shows how easily this happens to people paying attention.
We built a free tool that checks whether a site's structured data describes the business. That tool's own page had no structured data at all. It is a standalone file that sits outside our main application, so it never inherited any of the markup the rest of the site generates, and nobody noticed while the page was unlisted.
It now carries a WebApplication describing what it is, an Organization node it references as publisher, and a breadcrumb. We verified the fix by running our own checker over the file rather than by looking at it, which is the only way to know.
The lesson is not that we were careless. It is that schema is generated by a layer most people never inspect, so the gaps appear exactly where a page falls outside the usual pipeline: landing pages, microsites, tools, anything built in a hurry.
What this is and is not worth
Structured data will not make a model cite you. Nothing will, and anyone promising otherwise is selling a guarantee they cannot honour.
What it does is remove ambiguity. It states plainly what your company is and sells, in a format built for machines, so a system assembling an answer does not have to infer it from your hero headline. That is a floor, not a lever. It is also an afternoon of work and then it is done, which makes it the best value item on any AI readiness list.
Our free tool reads the schema on your homepage and tells you which types it found, so you can see whether yours describes your business or just announces a page. Check your site, or read the full study across 152 sites.
