JSON-LD for SEO vs. Native Structured Data: Build or Buy Schema?
Building structured data on Shopify wins for any store with a developer: the native structured_data Liquid filter outputs Product, ProductGroup and Article JSON-LD (per Shopify developer docs, Sep 2026). A few hundred lines of theme JSON-LD add Organization, BreadcrumbList, FAQ and review markup you own forever, an estimated $2,000–$6,000 (Deploi estimate, illustrative). Buy JSON-LD for SEO at $399/year (verified Sep 2026) only for a no-dev team that needs the full set plus rich-results monitoring.
Your profile — see how the verdict shifts
- Confidence
- High — The filter's scope is documented on shopify.dev (product and article only, ProductGroup since July 16, 2024), and the app's single $399/year plan is verified (verified Sep 2026). Money is a wash at this size; the boundary is whether anyone on your side can edit theme Liquid.
- Reference scenario
- $20M–$100M GMV · Online Store 2.0 theme · 500–5,000 products with variants · reviews app already installed · agency dev bench
- As of
- September 2026
Decision at a Glance
| Your profile | Verdict | Why |
|---|---|---|
| No developer, no agency, schema needed this month | BUY | JSON-LD for SEO installs the full schema set with rich-results monitoring for $399/year (verified Sep 2026), and nobody touches theme.liquid. The subscription is cheaper than one emergency dev day. |
| Any dev bench, standard catalog, reviews app installed | BUILD | The native filter covers products and articles (per Shopify developer docs, Sep 2026); Organization, BreadcrumbList and FAQ nodes are a bounded theme task at $2,000–$6,000 (Deploi estimate, illustrative), and your reviews app usually emits its own review markup. |
| Custom theme with duplicate or conflicting schema from past apps | BUILD | The fix is an audit and one owned JSON-LD layer, not another injector; a second app adds nodes on top of the ones already fighting. Strip, rebuild on the native filter, validate in the Rich Results Test. |
| Multiple storefronts or markets with a thin dev bench | DEPENDS | One theme JSON-LD layer ports across stores at near-zero marginal cost, which favors building; a team with no theme owner buys JSON-LD for SEO per store at $399/year each (verified Sep 2026) and accepts vendor-managed markup. |
What JSON-LD for SEO vs. native structured_data Liquid filter + theme JSON-LD Actually Drives
| Outcome | Impact | How it works |
|---|---|---|
| Revenue — indirect | High | Product, ProductGroup and review markup unlock price, availability and rating rich results that lift click-through from search; both lanes deliver the core product nodes. |
| Data & insight | Medium | Structured data is the machine-readable layer Google Merchant Center and AI engines read; an owned layer maps your metafields exactly, and the app maps its template. |
| Operational efficiency | Medium | Monitoring is the hidden job: the app's ongoing rich-results monitoring (verified Sep 2026) replaces a quarterly Search Console check on the build lane. |
| Customer experience | Low | Breadcrumb and FAQ rich results shape how the listing reads in search; on the page itself, shoppers never see the markup. |
| Revenue — direct | Low | Schema never converts on its own; it earns the click, and the page does the rest. |
Spend ceiling: Schema is a few hundred lines of code or $399/year (verified Sep 2026), so cap the spend at one theme sprint, $2,000–$6,000 (Deploi estimate, illustrative), and never pay for two schema sources at once; duplicate nodes cost more than either lane.
What buying enables (top apps)
- + Expanded schema.org markup across the common node set with no theme edits (verified Sep 2026)
- + Ongoing rich-results monitoring and a structured data audit, so a Google change doesn't go unnoticed (verified Sep 2026)
- + Merchant Center compatibility and a video course for the team, on one $399/year plan with a 7-day trial (verified Sep 2026)
What building additionally unlocks
- + Nodes mapped from your own metafields: materials, dimensions, compatibility, FAQ blocks, whatever your data model carries
- + One layer that ports across storefronts and themes at near-zero marginal cost and survives any vendor decision
- + Zero conflict with the markup your reviews app and theme already emit, because you decide what renders
Find Your Verdict in 3 Questions
Do you have a developer or agency who can edit theme Liquid?
Yes: Go to question 2.
No: Your verdict: BUY — JSON-LD for SEO installs the full schema set with rich-results monitoring for $399/year (verified Sep 2026); nobody touches the theme.
Does your theme or an old app already emit Product, review or Organization markup?
Yes: Your verdict: BUILD — audit and strip the duplicates, then rebuild one owned layer on the native structured_data filter; a second injector adds conflicting nodes.
No: Go to question 3.
Do you need rich-results monitoring more than you need control of the markup?
Yes: Your verdict: BUY — the app's ongoing monitoring and structured data audit are the product at $399/year (verified Sep 2026); confirm on the current listing how it handles markup your theme already emits.
No: Your verdict: BUILD — the native filter plus a 1–2 week theme JSON-LD layer at $2,000–$6,000 (Deploi estimate, illustrative) gives you every node, owned forever.
The TCC Scorecard — 12 Dimensions
TCC — Total Cost of Capability: what it actually costs to have this capability over three years, whichever way you get it. Each dimension is scored 0–5 for both paths. How we score →
| Dimension | Buy | Build | Why |
|---|---|---|---|
| Cost | |||
| Acquisition & implementation | The app installs in minutes with a 7-day trial (verified Sep 2026); the theme layer is a 1–2 week task for a developer who knows Liquid (Deploi estimate, illustrative). | ||
| Recurring fees | JSON-LD for SEO costs $399/year on its single Annual Pro plan, with no monthly option or free tier (verified Sep 2026); the theme layer costs nothing after it ships. | ||
| Maintenance & upgrades | The app tracks schema.org and Google changes for you; owned JSON-LD needs a check when Google revises a rich-result type, roughly once or twice a year, and a re-apply after a theme swap. | ||
| Switching & exit | Uninstalling an injector removes every node it emitted, so rich results drop until you rebuild; theme JSON-LD is code in your repo that survives any vendor decision. | ||
| Risk | |||
| Vendor risk | JSON-LD for SEO is a long-running single-developer listing at 4.9★ across 350 reviews (verified Sep 2026); the native filter is first-party and the theme code has no vendor. | ||
| Security & compliance surface | Schema injection is read-only storefront output either way; the app adds one more app with theme access, and the build adds nothing. | ||
| Platform-deprecation exposure | The structured_data filter gained ProductGroup on July 16, 2024 to match Google's recommendations (per Shopify developer docs, Sep 2026), so the native primitive is actively maintained; the app depends on injection surfaces Shopify has revised before. | ||
| Value | |||
| Fit to requirement | The app's expanded markup covers the common node set; a theme layer emits exactly your metafields, your FAQ blocks and your breadcrumb trail, and nothing that conflicts with your reviews app. | ||
| Time to market | Minutes versus 1–2 weeks (Deploi estimate, illustrative); the app wins this row outright. | ||
| Performance & scale | Both emit static JSON-LD; the theme layer renders server-side with no app script, and the native filter's output updates with the product automatically. | ||
| Data ownership & AI-readiness | Structured data is the machine-readable layer AI engines and Merchant Center read; owning it in the theme means the schema follows your data model, not a vendor's template. | ||
| Focus & opportunity cost | A bounded 1–2 week task rarely displaces roadmap work, and $399/year (verified Sep 2026) rarely strains a budget; neither lane costs much focus. | ||
The App Landscape
| App | Status | Pricing | Best for |
|---|---|---|---|
| JSON-LD for SEO | Live — 4.9★, 350 reviews; listed as Ilana's JSON-LD for SEO; single annual plan | Annual Pro $399/year, the only plan: expanded schema.org markup, ongoing rich-results monitoring, a structured data audit, Merchant Center compatibility and the SEO Simplified video course; 7-day free trial, no monthly option or free tier (verified Sep 2026) | No-dev teams that want the full schema set and rich-results monitoring without touching the theme |
| Native structured_data filter + theme JSON-LD | Build lane — First-party Liquid filter; no App Store listing; on the product object it outputs Product, or ProductGroup when variants exist, and on the article object it outputs Article (per Shopify developer docs, Sep 2026); Organization, BreadcrumbList, FAQ and review nodes are theme code | Included with every Shopify theme; the remaining nodes run an estimated $2,000–$6,000 of theme work (Deploi estimate, illustrative) | Any store with a developer who can ship a few hundred lines of Liquid and validate them |
The Build Path
- Native filter for products and articles: Render the structured_data filter on product and article templates inside an application/ld+json script tag; products output as Product, products with variants as ProductGroup, articles as Article (per Shopify developer docs, Sep 2026).
- Theme JSON-LD for the rest: A snippet emitting Organization on every page, BreadcrumbList from the collection and product path, FAQPage from a metafield-driven FAQ section, and nothing your reviews app already emits; 1–2 weeks (Deploi estimate, illustrative).
- Audit and de-duplicate: Strip legacy schema left by earlier apps and theme versions, then validate every template in Google's Rich Results Test and Merchant Center; the step most stores skip, and the one most rich-result losses trace back to.
- Effort band
- $2,000–$6,000 for the theme JSON-LD layer plus audit (Deploi estimate, illustrative); below the $10–25K contact-form band, so it usually ships inside a theme sprint
- Typical timeline
- The app: minutes. The theme layer: 1–2 weeks including validation (Deploi estimate, illustrative)
- Maintenance, honestly
- ~15–20% of build cost per year (Deploi estimate), which on a $2,000–$6,000 layer is a few hundred dollars: a re-check when Google revises a rich-result type and a re-apply after a theme swap. There is no subscription line; the native filter updates itself with the product.
- What you own — and what you take on
- You own: every node, the mapping from metafields to schema, and the validation history. You take on: watching Google's rich-result documentation once or twice a year, which the app would otherwise do for $399/year (verified Sep 2026).
3-Year Total Cost of Capability
| Buy (app path) | Build (custom path) | |
|---|---|---|
| Year 0 (setup) | $100–$300 (setup, validation) | $2,000–$6,000 |
| Years 1–3 (recurring) | ≈$1,200 (three years at the listed rate) | $900–$3,600 (upkeep) |
| 3-year total | ≈$1,300–$1,500 | ≈$2,900–$9,600 |
- † All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
- † App column: Annual Pro at $399/year held flat (verified Sep 2026); an hour of setup and validation up front.
- † Build column: theme JSON-LD layer plus audit at $2,000–$6,000 (illustrative) with 15–20% yearly upkeep; three-year horizon.
What the Sticker Price Hides
On the buy path
- — Uninstalling removes every node the app injected, so rich results and Merchant Center eligibility drop until you rebuild the markup
- — A second schema source on a theme that already emits Product or review markup creates duplicate or conflicting nodes, the most common cause of rich-result loss (community-reported pattern)
- — Annual-only billing at $399/year with no monthly option (verified Sep 2026) means a trial that ends badly still rolls into a year
- — The app's template decides what your Product node says; metafield-driven attributes it doesn't map stay invisible to Google and AI engines
On the build path
- — The native filter covers product and article objects only (per Shopify developer docs, Sep 2026); Organization, BreadcrumbList, FAQ and review nodes are yours to write and validate
- — A theme swap drops the custom layer unless it lives in a snippet you carry over; keep it in the repo, not in a settings block
- — Nobody monitors rich results for you; a quarterly Search Console check replaces the app's ongoing monitoring
- — ~15–20% of build cost per year in upkeep (Deploi estimate), small in dollars but easy to forget
What Merchants Say
Schema-app complaints cluster on conflicts: two apps, or an app plus the theme, emitting Product markup, followed by a Search Console warning and a drop in rich results.
Merchants who built their own JSON-LD describe the same lesson: the code was easy, and the audit of what the old apps left behind was the real work.
If You Change Your Mind Later
If you bought and outgrow it
Leaving JSON-LD for SEO removes every node the app emitted the moment you uninstall, so rich results, Merchant Center eligibility and AI-engine parsing drop until the theme layer is live. Build the replacement first, validate it in the Rich Results Test, then uninstall; the $399/year plan is annual-only (verified Sep 2026), so time the exit to the renewal.
If you built and want out
Leaving the owned layer never strands anything: the snippet stays in your theme repo, and the native structured_data filter keeps emitting Product, ProductGroup and Article markup regardless (per Shopify developer docs, Sep 2026). If you later install an app, remove the custom nodes it duplicates first; the exit cost is a code review, not a rebuild.
When This Answer Changes
We're watching for:
- ▸ Shopify extending the structured_data filter beyond product and article, for example to collections, breadcrumbs or the shop object (product and article only as of September 2026), which would shrink the theme layer to almost nothing
- ▸ Google adding or retiring a rich-result type your category depends on, which is the moment the app's monitoring earns its $399/year (verified Sep 2026)
- ▸ Losing your theme developer, which turns a bounded owned layer into unowned code and moves the answer toward the app
Verdict change log:
No changes since first publication (September 2026).
Common Questions
Does Shopify add structured data automatically?
Shopify adds structured data only through the native structured_data Liquid filter, which a theme must call (per Shopify developer docs, Sep 2026). On the product object the filter outputs Product, or ProductGroup when variants exist; on the article object it outputs Article. Organization, BreadcrumbList, FAQ and review markup remain theme or app work. Many themes already emit product markup, so check your rendered source before buying anything.
How much does JSON-LD for SEO cost?
JSON-LD for SEO costs $399/year on a single Annual Pro plan, with no monthly option or free tier (verified Sep 2026). The plan includes expanded schema.org markup, ongoing rich-results monitoring, a structured data audit, Merchant Center compatibility and a video course, plus a 7-day trial (verified Sep 2026). Three years run about $1,200 (illustrative, from the listed rate), under the $2,000–$6,000 theme layer (Deploi estimate, illustrative), so the build case rests on control, not cost.
Should I build my own JSON-LD schema on Shopify or use an app?
Build your own JSON-LD schema on Shopify when you have a developer: the native structured_data filter covers products and articles (per Shopify developer docs, Sep 2026). Organization, BreadcrumbList and FAQ nodes are a 1–2 week theme task, $2,000–$6,000 (Deploi estimate, illustrative). Use JSON-LD for SEO at $399/year (verified Sep 2026) when nobody can edit the theme, or when rich-results monitoring matters more than owning the code. Never run both; duplicate nodes cost rich results.
Your Next Steps
If you're going with BUILD(matches your selected profile)
- View source on a product, article and collection page; list every JSON-LD block already present and who emits it
- Strip legacy schema left by old apps and theme versions before adding anything
- Call the native structured_data filter on product and article templates (per Shopify developer docs, Sep 2026)
- Add a snippet for Organization, BreadcrumbList and metafield-driven FAQPage; leave review markup to your reviews app
- Validate every template in Google's Rich Results Test and diary a quarterly Search Console check
If you're going with BUY
- Start the 7-day trial and confirm the app's handling of markup your theme already emits (verified Sep 2026)
- Run the app's structured data audit before and after install; the delta is your baseline
- Watch Search Console's enhancement reports for duplicate or conflicting nodes in the first month
- Diary the annual renewal at $399/year (verified Sep 2026) and re-decide when a theme developer joins the bench
Official Docs & Sources
- structured_data Liquid filter — shopify.dev
- Improving search engine optimization (SEO) — Shopify Help Center
- SEO — shopify.dev
Official documentation linked for verification — our verdicts and estimates are our own.
Related Decisions
Build or Buy Structured Data & Schema Markup on Shopify?
Structured data on Shopify is a BUILD for any store with a developer: the native structured_data filter plus a little theme code beats a schema subscription.
Should You Build or Buy Your Blog & Content SEO Stack on Shopify?
Blog and content SEO apps are a DEPENDS on Shopify: stay native for a few posts a month, buy an app for multi-author editorial teams.
Build or Buy Image Optimization & Alt Text on Shopify?
Image optimization on Shopify is a WAIT: the native CDN already serves WebP or AVIF and resizes on request; alt text and lazy loading are a bulk-edit or theme job.
Build or Buy Redirects & Broken-Link Management on Shopify?
Redirects and broken-link management on Shopify is a WAIT for most stores: native URL redirects with CSV import cover migrations and retired products at no cost.
Build or Buy Performance Monitoring & App Audits on Shopify?
Measurement is free on Shopify; storefront speed comes from an audit-and-remediation program, not a speed app.
Ready to own your structured data?
We'll audit what your theme and old apps already emit, rebuild one clean JSON-LD layer on the native filter, and validate every template so rich results stay put.
Contact us todayVerdict scored for the reference scenario above. Estimates are not quotes; JSON-LD for SEO's pricing carries its verification date and gets re-verified quarterly, and the native filter's scope comes from Shopify's developer docs. The parent structured data and schema markup page settles the category; this page prices the named head-to-head plus the native lane it hides. Full scoring anchors: see the TCC methodology.
Read how we score these decisions (the TCC Framework). No affiliate links, no paid placement — no app vendor pays to appear here.