Skip to main content

Structured Data

Structured data (schema.org JSON-LD) is planned for Pointless POS to enable rich search results in Google, Bing, and other search engines. This page outlines the current state, the planned implementation, and what you can do now to prepare.

What Is Structured Data?

Structured data is machine-readable markup embedded in your HTML that tells search engines exactly what your content represents. For an online store, the most valuable types are:

Schema TypeWhat It Does
ProductDisplays price, availability, reviews, and images directly in search results
OrganizationShows your business name, logo, and social profiles in knowledge panels
BreadcrumbListShows navigation path (Home > Department > Category > Product) in search results

Current State

Implemented

  • Meta tags<title>, <meta name="description">, <meta name="keywords"> are set by SeoService on every public page.
  • Open Graph tagsog:title, og:description, og:image, og:url, og:type are set automatically.
  • Canonical URLs<link rel="canonical"> prevents duplicate content issues.

Planned (Not Yet Implemented)

  • Product schema — JSON-LD <script type="application/ld+json"> on each product detail page with name, description, image, price, SKU, and availability.
  • Organization schema — One-time JSON-LD block in the page head with company name, logo, and URL.
  • BreadcrumbList schema — Dynamic breadcrumbs based on the navigation path to each product.

Planned Product Schema

When implemented, each product page will emit structured data like this:

{
"@context": "https://schema.org",
"@type": "Product",
"name": "Blue Dream Pre-Roll",
"description": "Stripped HTML from metaDescription or onlineDescription",
"image": "https://your-bucket.s3.amazonaws.com/blue-dream.webp",
"sku": "BD-PR-001",
"brand": {
"@type": "Brand",
"name": "Green Valley"
},
"offers": {
"@type": "Offer",
"price": "8.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}

Field Mapping

The system will pull data from these product fields:

Schema FieldProduct FieldFallback
namedisplayName or name
descriptionmetaDescription or onlineDescription (HTML stripped)
skubarcode or sku
priceretail (first non-zero price)price1, msrp
imageurlImageMain
availabilityDerived from productCountInStock if count > 0, OutOfStock otherwise

What You Can Do Now

Even without structured data, you can maximize search visibility by:

  1. Filling in product fields — Set metaDescription, onlineShortDescription, and barcode for every web-enabled product. These fields will feed the structured data automatically when it ships.
  2. Using consistent naming — Product names should be descriptive and match how customers search.
  3. Adding meta tags — Tags improve internal cross-linking and keyword coverage.
  4. Setting main images — High-quality product images improve click-through rates from both regular and rich search results.

Resources