TL;DR
There is no @type: "Manufacturer" in schema.org. If you searched the literal string in your JSON-LD, you have a bug. Manufacturer is a property on Product, and its value is an Organization object. Replace "@type": "Manufacturer" with "@type": "Organization" inside the manufacturer node, add a stable @id, and revalidate. The fix is usually a single word.
The Mistake You're Searching For
If you typed "@type": "Manufacturer" schema.org into Google, you probably opened your Product JSON-LD, saw something like the snippet below, and went hunting for whether it is correct.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Example Device",
"manufacturer": {
"@type": "Manufacturer",
"name": "Acme Medical, Inc."
}
} It is not. Schema.org has no type named Manufacturer. The vocabulary defines a property called manufacturer, and that property expects an Organization as its value. Writing "@type": "Manufacturer" looks plausible because every other node in JSON-LD has a recognizable type — but in this case the parser sees an unknown extension type and silently drops the entity linkage you were trying to create.
The good news is that the fix is small. The bad news is that the bug is everywhere. I have seen it baked into popular plugins, Shopify schema.liquid templates, and custom CMS implementations across dozens of medical device websites. If you found this page, you are not the first person to write the bug, and you will not be the last.
Why Validators Flag It (Or Don't)
Two tools matter when you debug schema, and they behave differently here.
The Schema Markup Validator at validator.schema.org is the strict one. It validates your JSON-LD against the schema.org vocabulary itself, with no Google-specific leniency layered on top. Feed it "@type": "Manufacturer" and it will flag the type as unrecognized and warn that the property cannot resolve to a known entity. This is the warning developers see most often when they search the literal query that brought you here.
The Google Rich Results Test is more lenient. It is checking whether your page qualifies for specific Google rich result features (Merchant Listings, Product Snippets, etc.), so it tolerates extension types that schema.org does not define. The Rich Results Test will often pass a page that has "@type": "Manufacturer" embedded, because the surrounding Product schema still has the required brand, name, and offers properties. That tolerance is what makes the bug so persistent — it does not break the page in any visible way, so it ships and stays shipped.
The practical impact is that you keep Merchant Listings eligibility (because Google ignores the bad inner type) but lose the entity linkage to your Organization in the Knowledge Graph. For regulated YMYL categories, that linkage is exactly the signal you wanted.
The Correct JSON-LD Pattern
Here is what your manufacturer node should look like. The inner type is Organization, and it carries enough properties for Google to verify the entity behind your product.
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://www.example.com/products/widget/#product",
"name": "Widget Surgical Instrument",
"sku": "WX-2400-S",
"brand": {
"@type": "Brand",
"name": "Widget Surgical"
},
"manufacturer": {
"@type": "Organization",
"@id": "https://www.example.com/#organization",
"name": "Example MedDevice, Inc.",
"url": "https://www.example.com",
"logo": "https://www.example.com/logo.png",
"address": {
"@type": "PostalAddress",
"streetAddress": "1000 Industrial Way",
"addressLocality": "Nashville",
"addressRegion": "TN",
"postalCode": "37210",
"addressCountry": "US"
},
"sameAs": [
"https://www.linkedin.com/company/example-meddevice",
"https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfRL/rl.cfm?lid=12345"
]
},
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "1495.00",
"availability": "https://schema.org/InStock"
}
} Three details do most of the work:
- The inner
@typeisOrganization— or a valid subtype like Corporation. NeverManufacturer. - The
@idmatches your homepage Organization@id. That is what tells Google "this product is made by the same entity as the one defined on the homepage" instead of creating a fresh, fragmentary entity per page. sameAslinks to authoritative external profiles. LinkedIn and the FDA Establishment Registration are the highest-signal pair for medical device manufacturers. Wikipedia and Crunchbase help when they exist.
For the broader strategic picture — why this matters for medical device SEO specifically — see Manufacturer Schema.org Type: A Medical Device SEO Guide.
Free: Medical Device Schema Audit
30-minute review of your Product, Organization, and Manufacturer schema. We'll find the bugs and show you the rich results you're leaving on the table.
Book Your Free Audit →Where the Bug Lives in Common Stacks
The same one-word fix shows up in different files depending on your platform. Here is where to look first.
WordPress
Most WordPress sites generate Product schema through an SEO plugin or a custom mu-plugin. Yoast and Rank Math both produce correct manufacturer markup by default, but theme overrides and custom JSON-LD blocks frequently introduce the bug. Search your theme's functions.php, your active mu-plugins folder, and any custom blocks for the literal string "Manufacturer" inside JSON-LD output. The replacement is exactly one word.
If you use WooCommerce with a custom Product schema filter, the typical location is a woocommerce_structured_data_product filter that maps your custom fields to schema. That mapping is where developers commonly invent @type: "Manufacturer" when they should be emitting @type: "Organization".
Shopify
Shopify themes that ship JSON-LD usually produce it from snippets/product-json-ld.liquid or directly inside templates/product.liquid. The Dawn theme generates correct schema by default, but custom themes — especially those built before 2023 — frequently include hand-rolled JSON-LD with the bad inner type. Open the relevant snippet, find the manufacturer block, and change the inner @type to "Organization".
Custom CMS or Headless
If you control your own JSON-LD template, the fix is wherever your product detail template renders the script tag. Replace the inner type and add a stable @id that matches your homepage Organization. If your homepage does not yet emit an Organization with a canonical @id, add that first — it is the anchor every other Organization reference on your site should point to.
If you are working through a broader cleanup, our guide to schema markup for medical device websites walks through Product, Organization, FAQ, and Article schema together, and our piece on advanced structured data for medical device SEO covers entity graph construction across a multi-page site.
Validate, Then Re-Submit
After the fix, run the page through both validators in sequence.
Start with validator.schema.org. The unrecognized-type warning should disappear. If it does not, you have a stale cached version, a second JSON-LD block elsewhere on the page, or a typo in the replacement.
Then run search.google.com/test/rich-results. Confirm the page is still eligible for Merchant Listing or Product Snippets. The eligibility should be unchanged — the fix is purely about entity quality, not eligibility.
Finally, in Google Search Console, request indexing on a representative product URL. Watch the Products report under Enhancements over the following two to three weeks. The number of valid items should hold steady or climb; warnings related to manufacturer should clear as Google re-crawls the affected templates.
Apply the fix to one product first, validate, then roll it out across your full template. Doing the rollout in two phases catches edge cases where the manufacturer block was authored differently for specific product types.
What This Looked Like on a Recent Audit
A surgical robotics company we audited had "@type": "Manufacturer" hard-coded into a Liquid snippet inherited from a theme they bought four years ago. Every one of their 38 product pages emitted the bad inner type. Google's Rich Results Test passed all 38 pages cleanly, so the bug had survived three SEO audits. The Schema Markup Validator surfaced it in seconds.
The fix was a one-word change in snippets/product-json-ld.liquid plus the addition of a canonical Organization @id emitted from theme.liquid. After re-crawl, branded queries that pair the company name with product names began surfacing the product pages directly in autocomplete, and the company's Knowledge Panel started linking out to specific products instead of just the homepage.
The Bottom Line
If you searched "@type": "manufacturer" schema.org because something looked off in your JSON-LD, your instinct was right. The literal type does not exist in the vocabulary. Manufacturer is a property whose value is an Organization, and the inner @type in your Product schema needs to read Organization (or a valid Organization subtype). Add a stable @id, link to your verified profiles with sameAs, and revalidate.
That one-word change reconnects every product page on your site to your brand entity in Google's Knowledge Graph — and for regulated medical device categories, that connection is one of the highest-leverage technical SEO fixes you can make.
