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 Type | What It Does |
|---|---|
| Product | Displays price, availability, reviews, and images directly in search results |
| Organization | Shows your business name, logo, and social profiles in knowledge panels |
| BreadcrumbList | Shows navigation path (Home > Department > Category > Product) in search results |
Current State
Implemented
- Meta tags —
<title>,<meta name="description">,<meta name="keywords">are set bySeoServiceon every public page. - Open Graph tags —
og:title,og:description,og:image,og:url,og:typeare 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 Field | Product Field | Fallback |
|---|---|---|
name | displayName or name | — |
description | metaDescription or onlineDescription (HTML stripped) | — |
sku | barcode or sku | — |
price | retail (first non-zero price) | price1, msrp |
image | urlImageMain | — |
availability | Derived from productCount | InStock if count > 0, OutOfStock otherwise |
What You Can Do Now
Even without structured data, you can maximize search visibility by:
- Filling in product fields — Set
metaDescription,onlineShortDescription, andbarcodefor every web-enabled product. These fields will feed the structured data automatically when it ships. - Using consistent naming — Product names should be descriptive and match how customers search.
- Adding meta tags — Tags improve internal cross-linking and keyword coverage.
- Setting main images — High-quality product images improve click-through rates from both regular and rich search results.
Resources
- Google Search Central — Structured Data
- schema.org/Product
- Rich Results Test — validate your structured data