Crystal Ball checks covered

JSONLD_MISSING, SCHEMA_TYPE_LIMITED

Useful next pages

For related context, review invalid JSON-LD fixes, LocalBusiness schema guidance, and the broader schema and indexability guide.

What the flag means

Crystal Ball flags missing or limited JSON-LD when a page has little or no structured data. JSON-LD is a machine-readable format that can describe the page, business, article, product, breadcrumb trail, FAQ, or other useful entities.

This is not about stuffing magic glitter into the code. It is about clarity. Good structured data helps search engines understand what a page represents. Missing JSON-LD is not always fatal, but important pages often benefit from clean, relevant schema.

Common causes

Common causes include static sites without schema, CMS themes that only output basic markup, plugins not configured, copied pages with no page-specific schema, or schema that only names the organization but does not describe the page.

How to fix it

  • Custom HTML/static: Add JSON-LD inside a <script type="application/ld+json"> block in the page <head> or body. Start with Google's structured data introduction.
  • WordPress: Use a trusted SEO/schema plugin when possible. Yoast documents its Schema implementation and connected graph approach.
  • Shopify: Many themes include basic Product, Article, and Breadcrumb markup. For custom JSON-LD, edit theme code carefully or use a trusted app. Shopify developers can reference Liquid documentation.
  • Wix: Use SEO settings to add or customize structured data markup. Wix documents adding structured data markup.
  • Webflow: Add JSON-LD through page or site custom code, wrapped in a JSON-LD script tag. Webflow's Schema Flow integration guide explains page/head placement.

What JSON-LD means

JSON-LD stands for JavaScript Object Notation for Linked Data. In plain English, it is a data format for writing structured facts in a way machines can read without changing the visible page layout.

The @context value usually points to https://schema.org, which tells parsers which vocabulary the page is using. The @type value names the kind of thing being described, such as Article, WebPage, LocalBusiness, Product, or BreadcrumbList.

Think of it as a small JSON document embedded in the page. The best code is boring, accurate, and easy to validate. It should describe the same facts a user can confirm from the page, not hidden claims that only exist in the markup.

JSON-LD schema examples to consider

The right JSON-LD schema depends on the page. A service page may need Service, LocalBusiness, BreadcrumbList, and WebPage. A guide or education page may use Article, BreadcrumbList, and WebPage. A product page may need Product only when the visible page supports the same product details, price, and availability.

Useful JSON-LD code usually includes @context set to https://schema.org, an appropriate @type, a stable page URL, the visible page name, and facts that match the page content. If you add LocalBusiness schema, use recommended properties such as business name, URL, logo, address or service area, contact details, and sameAs profiles when those details are accurate.

After adding JSON-LD markup, test the page with Google's Rich Results Test and Schema.org's validator. Not every schema type produces rich results, but validation still helps catch broken commas, incorrect data types, and copied markup that no longer matches the page.

Need help?

If the fix gets murky, visit Support and send the details. Bug reports and Crystal Ball questions are free support. Implementation and development work may be paid support, but we will tell you clearly before anything becomes paid. No surprise invoices from the tower.