Schematic icon
Schematic · by Verlezza Labs

Rank higher on Google
without touching
a line of code.

Schematic generates JSON-LD structured data and manages meta titles/descriptions for your Shopify store. Schemas inject server-side — search crawlers see them on the very first request, no JavaScript rendering needed.

7-day free trial · No credit card required during trial · Cancel anytime

Features

Everything your store's SEO needs

From auto-generating structured data to editing every meta tag with a live Google preview — all inside your Shopify admin.

Core feature

Auto-Generate JSON-LD from your catalog

Select which schema types you want and let Schematic pull real data from your Shopify store to generate structured data automatically. Supports Product, Organization, WebSite, Article, CollectionPage, LocalBusiness, FAQPage, and BreadcrumbList schemas. A built-in quality validator discards incomplete items — no broken schemas ever reach Google.

  • Supports 5 types: Product, Article, CollectionPage, Organization, WebSite
  • Processes in batches of 50 with cursor-based pagination — safe for large catalogs
  • Quality validation: skips products without price, articles without publish date
  • Reports exactly how many schemas were created and why others were skipped
Bulk

CSV Bulk Import

Update schemas and meta tags for hundreds of pages at once. Simple 2-column format for schemas, 3-column for meta tags. Re-importing the same CSV updates existing records instead of creating duplicates.

  • Up to 5 MB per file
  • 150 resources per meta import batch
  • Smart deduplication by type + handle
Core feature

Meta Title & Description Editor with Live SERP Preview

Edit meta titles and descriptions for Products, Collections, Pages, and Articles with a real-time Google SERP preview — see exactly how your page will appear in search results as you type. Character counters turn red before you exceed the recommended limits (70 / 160). Status badges flag missing, long, or partially filled fields across your entire catalog.

  • Character counters: title 70 · description 160
  • Status badges: OK / Partial / Long / Missing
  • Full audit log of every change with before/after values
Technical

Server-side JSON-LD Injection

Schemas are injected via a Theme App Extension directly into the server-rendered HTML <head> — no client-side JavaScript. Google's crawler sees structured data on the very first HTTP response.

  • Zero added page-load time
  • Compatible with all Online Store 2.0 themes
  • No theme code edits required
Automatic

Automatic Metafield Sync

Every schema you create, edit, or delete is instantly synced to Shopify metafields. The theme extension reads directly from those metafields — no extra configuration. App-namespaced, so they never conflict with your existing store data.

New

Conflict Detection — works safely alongside other SEO apps

Many stores have two or three SEO apps installed that silently overwrite each other, or meta tags edited manually in the Shopify admin that a CSV import could accidentally destroy. Schematic now detects those situations automatically and lets you decide what to do — instead of overwriting without warning.

  • EXT badge on any meta tag set outside of Schematic — editor shows a warning before you overwrite
  • Scan for conflicts on the Schemas page detects JSON-LD from other apps in different metafield namespaces
  • Theme scan in Settings finds hardcoded JSON-LD and competing app embeds directly in your theme files
  • Policies are saved per resource per field — granular control, not an all-or-nothing toggle

How it works

Up and running in 4 steps

No developers, no Liquid code, no theme edits required.

1

Install the app

Find Schematic on the Shopify App Store and install it with one click. OAuth authentication — no credentials to manage.

2

Activate the theme embed

In your theme editor, enable the "SEO Schema Injection" App Embed. Takes under 60 seconds. The app guides you with a direct link.

3

Generate or import schemas

Auto-generate structured data from your entire catalog in one click, or upload a CSV to bulk-import custom schemas and meta tags.

4

Verify with Google

Check your storefront with Google's Rich Results Test. Your JSON-LD is already in the HTML source — no waiting, no caching issues.

Pricing

Simple, transparent pricing

7-day free trial on both plans. Billed through Shopify — appears on your regular Shopify invoice.

Monthly

$8.99 / month

Billed monthly · Cancel anytime

All schema types (8 types)
Auto-generate from catalog
CSV bulk import (schemas + meta)
Meta editor with SERP preview
Full audit log
Priority support
Start free trial

7 days free · No card during trial

All plans billed through Shopify Billing — appears on your regular Shopify invoice. No external payment processor.

Ready to show up in
Google rich results?

Documentation

Complete guide to Schematic

Everything you need to get the most out of the app.

Getting Started

1. Install the app

Go to the Schematic listing on the Shopify App Store and click Install. Shopify will ask you to authorize the permissions the app needs — these are described in detail in the Privacy & Data section. After authorizing, you'll be redirected to the Schematic dashboard inside your Shopify admin.

2. Activate the Theme App Extension

The app injects schemas into your storefront via a Theme App Extension called "SEO Schema Injection". Without it, schemas are saved but not visible to Google.

To activate it:

  1. From the Schematic dashboard, click the yellow "Activate Theme Embed" warning banner (it appears automatically if the extension is not yet enabled).
  2. This opens your theme editor directly at the App Embeds section.
  3. Toggle on "SEO Schema Injection" and click Save.
Important: If you switch to a new theme, you'll need to re-activate the extension in the new theme. The app dashboard will show the warning again automatically.

3. Define metafields (first-time setup)

Schematic stores schemas in Shopify metafields under its own app-owned namespace. On your first visit, the app registers the required metafield definitions automatically. If for any reason this needs to be done manually, go to Settings → Define Metafields inside the app and click the button.

This is a one-time setup step. The app also cleans up legacy metafield definitions from older versions automatically on the first authenticated visit.

Auto-Generate Guide

Auto-generate is the fastest way to get structured data across your entire catalog. Navigate to Auto-Generate (/app/auto-generate) from the main menu.

Supported schema types

Auto-Generate works with the following 5 types. Each pulls data directly from your Shopify store — no manual input needed.

Schema TypeSource dataNotes
ProductShopify products APIIncludes price, availability, brand, SKU, offers, variants
ArticleBlog postsheadline, author, datePublished, dateModified, publisher
CollectionPageCollectionsName, description, URL
OrganizationShop settingsShop name, logo, email, URL — one per store
WebSiteShop settingsIncludes SearchAction for Google Sitelinks Searchbox
LocalBusiness, FAQPage, and BreadcrumbList are not auto-generated. They are available as pre-built templates in the Manual Schema Editor — you fill in the fields by hand.

Quality validation

Schematic validates every schema before saving it. Incomplete items are automatically skipped — they will never reach your storefront or confuse Google. The results screen tells you exactly what was skipped and why.

Items are discarded when:

  • A product has no price or availability status
  • An article has no publication date
  • A collection has no title or URL
  • Required fields for the chosen schema type are empty

Large catalogs — cursor-based pagination

The generator processes items in batches of 50 using Shopify's cursor-based pagination. If your catalog is large, the process may take several minutes. Pagination state is persisted — if you close the tab and return, you can continue where it left off rather than starting over.

During trial: Auto-generation runs without limits — your full catalog is processed. No caps on schema count or resource type.

CSV Import Guide

CSV import lets you update schemas and meta tags in bulk. There are two separate importers — one for JSON-LD schemas, one for meta titles and descriptions.

Schema CSV format (2 columns)

Navigate to CSV Import (/app/csv-import). The file must have exactly 2 columns with a header row:

url,schema
https://my-store.myshopify.com/products/blue-shirt,{"@context":"https://schema.org","@type":"Product","name":"Blue Shirt","offers":{"@type":"Offer","price":"29.99","priceCurrency":"USD"}}
https://my-store.myshopify.com/collections/mens,{"@context":"https://schema.org","@type":"CollectionPage","name":"Men's Collection","url":"https://my-store.myshopify.com/collections/mens"}
ColumnValue
urlFull URL of the Shopify resource (product, collection, article, or page)
schemaValid JSON-LD object (single schema per row, stringified)
Deduplication: Re-importing the same CSV updates existing records instead of creating duplicates. Matching is done by @type + Shopify resource handle.

Meta tags CSV format (3 columns)

Navigate to Meta Import (/app/meta-import). The file must have exactly 3 columns:

url,meta_title,meta_description
https://my-store.myshopify.com/products/blue-shirt,Blue Shirt — Free Shipping | My Store,Premium cotton blue shirt. Available in S M L XL. Free shipping on orders over $50.
https://my-store.myshopify.com/collections/mens,Men's Collection | My Store,Shop our full range of men's clothing. New arrivals every week.

Limits & constraints

LimitValue
Max file size5 MB
Cooldown between imports10 seconds
Max resources per meta import batch150 rows

Meta Tags Editor

The Meta Tags Editor (/app/meta) lets you view and edit meta titles and descriptions across all resource types. Use the tabs at the top to switch between Products, Collections, Articles, and Pages.

Status badges

Each row shows an automatic status badge for the title and description fields:

✓ OK ◑ Partial ⚠ Long ✕ Missing
BadgeMeaning
OKFilled and within the recommended character limit
PartialFilled but shorter than recommended (may be too brief)
LongExceeds the recommended limit (Google may truncate it)
MissingNo value set — Google will use its own fallback

Live SERP preview

Click Edit on any resource to open the editor. As you type, the SERP preview panel updates in real time — showing exactly how the result will appear on a Google search page, including the blue title link and the gray description snippet. Character counters turn amber near the limit and red when exceeded.

Falling back to Shopify defaults

Leaving a meta title or description blank causes Shopify to use its own fallback — the resource's title for meta title, or an auto-generated snippet for description. To clear all custom values for a resource at once, use the Remove button in the meta tags list. There is no "Restore default" button in the editor itself — simply clear or leave the field empty.

Internal change tracking

Meta tag edits — whether made manually in the editor or via CSV import — are tracked internally. This is what powers Conflict Detection: the app can tell when another app or a Shopify admin edit has overwritten a value Schematic previously set. There is no merchant-facing audit log view in this version.

Schema Editor (Manual)

The manual schema editor (/app/schemas/new) lets you create or edit any JSON-LD schema from scratch. Use it for schema types that aren't auto-generated (LocalBusiness, FAQPage, BreadcrumbList), or when you need full control over the output.

Creating a schema from a template

  1. From the Schemas list, click the + New schema button (primary action at the top of the page).
  2. Choose a template from the dropdown — all 8 schema types are available (Product, Organization, WebSite, Article, CollectionPage, LocalBusiness, FAQPage, BreadcrumbList). The editor pre-fills the required fields for that type.
  3. Fill in the values and adjust the JSON as needed.
  4. Select the Target Type — Product, Collection, Article, Page, Blog, or Global (injected on every page).
  5. If Target Type is anything other than Global, a live resource picker appears: type the name or handle of the resource and select the match. The app saves both the handle and the internal Shopify GID — no typos, no orphaned schemas from invalid handles.
  6. Click Save. The schema is written to Shopify metafields and appears on the storefront on the next page load.

Editing existing schemas

In the Schemas list, expand any row and click the Edit button to open it in the editor. Each schema row shows its type, target resource, and last-modified date at a glance.

Available templates

The following types are only available via the manual editor (no auto-generation). Select them from the template dropdown when creating a new schema:

  • LocalBusiness — for stores with a physical address; fill in address, phone, opening hours manually
  • FAQPage — question/answer pairs; ideal for product or page-level FAQ sections
  • BreadcrumbList — breadcrumb trail for a specific URL; requires manual path input

Live JSON-LD validation

The editor validates your JSON in real time. If the JSON is malformed (missing comma, unclosed bracket, etc.) an error indicator appears inline. Schematic does not block saving on schema.org semantic errors — only on invalid JSON syntax.

After running Auto-Generate, expand any schema row and click Edit to customize it in the manual editor. Your edits are kept in your library — but by default, re-running Auto-Generate will refresh the storefront metafield to the auto-generated version. To permanently keep a manually-edited schema in the storefront, go to the Schemas page, run Scan for conflicts, and click Keep external for that resource. Schematic will then skip it on all future auto-generates and CSV imports.

Conflict Detection

Why conflicts happen

It's common for Shopify stores to have multiple SEO-related apps installed at the same time, or meta tags that were edited directly inside the Shopify admin by the merchant or a team member. When Schematic writes to those same fields without checking, it can silently overwrite values you intended to keep — and you'd only notice the next time you look at a product page in Google.

Conflict Detection solves this at three levels: meta tags, JSON-LD schemas, and theme files. In each case, Schematic spots the conflict, tells you exactly what it found, and lets you decide whether to take control or leave the existing value alone.

a) Automatic detection of external meta tags

In the meta tags list (/app/meta), any resource whose meta title or meta description was set outside of Schematic — by another app, by a Shopify admin edit, or by a previous tool — is automatically flagged with an amber EXT badge next to the affected field.

When you open the editor for one of those resources, a warning banner appears above the affected field explaining that the current value was set externally. You then choose one of two options:

OptionWhat it does
Overwrite and save Schematic replaces the external value with whatever you type and takes ownership of the field going forward.
Keep external value Schematic saves a preserve policy for that resource + field. It will never write to it again — not manually, not via CSV import, not via auto-generate — unless you explicitly change this.

CSV bulk meta import also respects this: the import page has a checkbox labelled "Overwrite externally-set meta tags" (off by default). When it's off, any row whose resource has an external value is automatically skipped. The results summary lists those rows as "skipped (external)" with the reason, so nothing is lost silently.

b) Scan for JSON-LD schema conflicts

Go to the Schemas list (/app/schemas) and click "Scan for conflicts". Schematic inspects the metafields of every resource where it has already saved a schema, and looks for JSON-LD written by other apps in different metafield namespaces.

Resources with a detected conflict show a red CONFLICT (n) badge, where n is the number of competing JSON-LD blocks found. Click the badge to open a modal showing:

  • The metafield namespace and key where the conflict lives
  • The @type of the competing schema
  • A snippet of its value

From the modal, choose what Schematic should do:

OptionWhat it does
Use Schematic On the next write operation (edit, auto-generate, or import), Schematic's schema takes precedence. The external namespace is not deleted — only your storefront will serve Schematic's version via the theme extension.
Keep external (skip Schematic) Saves a preserve policy. Schematic will skip this resource in all future operations. The badge changes to a blue KEPT EXTERNAL label.

You can click Re-scan at any time to refresh the detection results.

c) Theme scan

Go to Settings → Theme SEO Scan and click "Scan theme". Schematic downloads the key files of your active theme and analyzes them for SEO-related conflicts. This does not modify your theme — it only reads.

The scan checks: product, collection, article, and page templates, layout/theme.liquid, and config/settings_data.json.

It reports three types of findings:

Finding typeWhat it meansWhat to do
JSON-LD IN THEME A hardcoded <script type="application/ld+json"> block exists directly in your theme code. Schematic cannot remove or modify it. Open your theme code editor, find the file and line number shown, and remove or disable the hardcoded block manually if you want Schematic's schemas to be the only ones.
OTHER APP EMBED Another app embed that appears to handle structured data or meta tags is active in your theme (detected by known embed handles such as structured-data, seo-schema, rich-snippets, json-ld, etc.). Decide which app you want managing schemas. Disable the competing embed in your theme editor under App Embeds, or use the "Keep external" policy in Schematic for those resources.
DUPLICATE Multiple application/ld+json blocks were found in the same template file. Review the file and remove duplicates. Google ignores duplicate schemas and may flag the page in Search Console.

Each finding includes the filename, line number, and a code snippet so you can locate it quickly in the theme editor.

d) When Schematic cannot detect a conflict

Conflict Detection covers the most common scenarios, but there are situations where detection is not technically possible from the Shopify admin:

  • Apps that inject JSON-LD via client-side JavaScript at runtime. These apps add structured data after the page has loaded in the visitor's browser. Because Schematic reads the server-side HTML and metafields — not the browser DOM — it has no way to see what those apps inject. If you see unexpected duplicate schemas in Google Rich Results Test but Schematic's scan found nothing, a JS-based SEO app is likely the cause. Check your installed apps and their theme embed settings.
  • Dynamically generated JSON-LD in theme JavaScript. Some themes build a <script type="application/ld+json"> tag via JavaScript (e.g., from a product.json endpoint). If the pattern doesn't match what the scanner looks for, it won't be flagged. Use browser DevTools → Sources to inspect the page if you suspect this.
  • Conflicts created after the last scan. The scan is a point-in-time operation — it is not a live watcher. If another app writes to a resource after you ran the scan, you'll need to run it again to detect the new conflict.
A good habit: run the theme scan once after installing Schematic, and again any time you install or update another SEO-related app.

e) Frequently asked questions

I already had meta tags set manually — will Schematic overwrite them?

No. Schematic detects them as external and marks them with the EXT badge. It will not overwrite them unless you click "Overwrite and save" in the editor, or import a CSV with "Overwrite externally-set meta tags" turned on. By default, your existing values are always preserved.

I have another SEO app installed. Do I need to uninstall it first?

No. Run the conflict scan first to see exactly which resources have competing schemas or embeds. Then decide resource by resource: for the ones you want Schematic to manage, click "Use Schematic". For anything you want the other app to keep, click "Keep external". You can keep both apps installed and use each one for different parts of your store if you prefer.

Can I change my decision later?

Yes, at any time. Go back to the editor or the schema modal and the decision buttons are always available. Policies are not permanent — you can switch from "keep external" to "use Schematic" (or vice versa) whenever you need to. Re-running the scan also gives you a fresh starting point.

Theme App Extension

The Theme App Extension is the mechanism by which Schematic delivers structured data to your storefront. It runs as a Liquid App Embed called "SEO Schema Injection" — part of Online Store 2.0's App Embeds system.

What it does exactly

On every page load, the extension reads the relevant Shopify metafields (set by the app) and renders a <script type="application/ld+json"> block directly inside the <head> of the HTML document. The rendering happens on Shopify's servers, not in the visitor's browser.

This means:

  • Google's crawler sees the structured data in the raw HTML — no JavaScript execution required
  • The schema is present even for visitors with JavaScript disabled
  • There is no added client-side JavaScript weight

Verifying the extension is working

  1. Open any product page in your storefront.
  2. Right-click → View Page Source (or press Ctrl+U / Cmd+U).
  3. Search for application/ld+json. You should see the JSON-LD block in the <head>.
If you see no JSON-LD block, confirm the App Embed is toggled on in your theme editor and that you have schemas saved for that resource type.

Testing with Google Rich Results Test

  1. Go to search.google.com/test/rich-results.
  2. Enter any page URL from your store and click Test URL.
  3. The tool will show all detected structured data. Valid schemas appear green; issues appear with warnings or errors.

Billing & Trial

How the 7-day free trial works

Both the Monthly and Annual plans include a 7-day free trial. During the trial you have full access to every feature — no caps on schema count, CSV rows, or edits. No credit card is required to start the trial.

After 7 days, Shopify automatically charges the plan you selected when installing. You can cancel at any time from the Billing page before the trial ends.

What happens when the trial ends without subscribing

If you don't subscribe, the storefront metafields are cleaned up automatically — Schematic stops injecting JSON-LD into your theme. Your data inside the app is preserved: schemas, meta tags, and settings remain intact in case you reactivate later.

Switching between plans

You can switch from Monthly to Annual (or vice versa) at any time from the Billing section inside the app. The switch applies immediately — Shopify cancels the current subscription and creates the new one. You don't need to uninstall and reinstall.

If you switch plans during a trial: the trial ends immediately and Shopify charges the new plan that same day. Switching does not extend or transfer the remaining trial days.

How to cancel

Uninstall the app from your Shopify admin (Apps → Schematic → Delete). Cancellation is effective immediately. Shopify refunds unused days of paid subscriptions per their billing terms — the exact amount depends on Shopify's policy, not Schematic.

Where billing appears

All charges are processed through Shopify Billing — there is no external payment processor or separate invoice. The charge appears on your regular Shopify bill under "Apps".

Privacy & Data

What data Schematic stores

  • JSON-LD schemas you create or import (stored in our database and synced to Shopify metafields)
  • Meta titles and descriptions you set via the editor or CSV
  • Internal change tracking for meta tags (used for Conflict Detection — not exposed as a merchant-facing log)
  • Basic shop record: shop domain, Shopify plan, access token for API calls

What Schematic does NOT store

  • No customer personal information (names, emails, addresses, order data)
  • No payment or financial data
  • No browsing or analytics data from your storefront visitors

Shopify permissions requested

ScopeWhy it's needed
read_products, write_productsRead product data to auto-generate Product schemas; write schemas to product metafields
read_content, write_contentRead articles and pages for Article schemas; write meta tags via Shopify's SEO fields
read_metaobjects, write_metaobjects, write_metaobject_definitionsRegister and manage the app's own metafield definitions
read_themesDetect whether the theme App Embed is active and show the warning if not

What happens when you uninstall

When you uninstall Schematic, a Shopify webhook fires. Within 48 hours, all data associated with your shop is permanently deleted from our servers — schemas, meta tag records, audit log, and the shop registration. The deletion is automatic; no action is needed from you.

After uninstalling: Metafields written to Shopify remain until Shopify cleans them up (or you delete them manually). Meta tags set via the SEO fields will persist as normal Shopify data — they won't disappear when you uninstall.

GDPR compliance

Schematic implements all required Shopify GDPR webhooks:

  • customers/data_request — the app holds no customer PII; responds with an empty data set
  • customers/redact — nothing to redact; responds 200
  • shop/redact — deletes all shop data permanently

For the full privacy policy, see verlezzalabs.com/privacy-policy.html.

FAQ

Why aren't my schemas showing up in Google yet?

Structured data appearing in Google Search results is a multi-step process. First, Google must crawl and index your pages. Then, the Search team evaluates whether your schemas qualify for rich results (they have additional editorial requirements beyond technical validity). This can take days to several weeks after the schemas are in place.

If the Rich Results Test shows your schemas as valid, the implementation is correct — you just need to wait for Google's crawl cycle.

Does Schematic work with any Shopify theme?

Yes. Schematic uses the Theme App Extension (App Embed) system, which is supported by all Online Store 2.0 themes. No Liquid code modifications are needed. If you're using an older theme that does not support App Embeds, please contact support — we can advise on your options.

What happens to my schemas if I uninstall the app?

Schemas stored in Shopify metafields will remain until Shopify eventually removes orphaned metafields. However, the Theme App Extension will no longer render them on the storefront (the Embed is part of the app), so Google will stop seeing them on the next crawl. Meta titles and descriptions set via the SEO fields will persist — they're standard Shopify data.

Can I use Schematic on multiple stores?

Each installation is per shop — one Shopify store, one subscription. To use Schematic on additional stores, install it separately on each one. There is currently no multi-store bundle pricing.

Can I edit a schema that was auto-generated?

Yes. After running Auto-Generate, click Edit next to any schema to open it in the manual editor. Your changes are saved immediately to the metafield. Re-running Auto-Generate will not overwrite schemas you have manually edited.

Does the app support multiple languages?

The app interface is in English only. However, schemas are generated from your store's catalog data — so if your product titles and descriptions are in Spanish (or any other language), the generated schemas will be in that language. Multi-language UI support is planned for a future release.

Can I use the app without activating the theme embed?

Yes — you can create, import, and manage schemas without the embed active. The schemas will be saved to metafields. However, they won't appear on your storefront or be visible to Google until you activate the Theme App Extension.

I see a "subscription required" error when trying to import

This means your trial has ended or you don't have an active subscription. Go to Settings → Billing inside the app to choose a plan. If you believe this is an error, contact support@verlezzalabs.com.