B&J — JSON-LD schema deployment VERIFIED (v2) — supersedes the "biggest technical gap" claim in v1
This entry supersedes the JSON-LD row of B&J technical SEO posture — old vs new, with explicit gaps to close pre-launch, which (correctly at v1 ingest time) said "None visible — biggest technical gap, to be added pre-launch." That gap is now closed as of the 2026-05-23 audit-closure deploy (commit 3514d02). The rest of the v1 SEO posture entry (title tags, meta descriptions, canonicals, OG, headings, URL structure) remains accurate — only the schema row is overtaken.
Live HTML cross-section (fetched cache-busted from https://bjweb.candidcreative.ca on 2026-05-24)
| Page | Block count | Types | @id / name snippet |
|---|---|---|---|
/ |
6 | Organization | https://bjweb.candidcreative.ca/#organization |
| GasStation | https://bjweb.candidcreative.ca/#loc-waterloo-hq |
||
| GasStation | https://bjweb.candidcreative.ca/#loc-stratford-cardlock |
||
| GasStation | https://bjweb.candidcreative.ca/#loc-guelph-cardlock |
||
| GasStation | https://bjweb.candidcreative.ca/#loc-london-depot |
||
| LocalBusiness | https://bjweb.candidcreative.ca/#loc-st-thomas-depot |
||
/agriculture |
3 | Organization · FAQPage · BreadcrumbList | (org @id as above) |
/agriculture/coloured-diesel |
3 | Organization · FAQPage · BreadcrumbList | (same shape) |
/resources/coloured-diesel-and-ontario-law |
3 | Organization · Article · BreadcrumbList | Article headline = "Coloured diesel and Ontario law for farmers — a pl…" |
/locations/london |
3 | Organization · LocalBusiness · BreadcrumbList | LocalBusiness @id = https://bjweb.candidcreative.ca/locations/london |
/cardlock |
4 | Organization · Service · FAQPage · BreadcrumbList | Service @id = https://bjweb.candidcreative.ca/cardlock#service |
/lubricants |
4 | Organization · Service · FAQPage · BreadcrumbList | Service @id = https://bjweb.candidcreative.ca/lubricants#service |
Every page in the cross-section carries at least the Organization root entity, a page-specific type, and a BreadcrumbList. The Organization @id is consistent across pages (single canonical entity, referenced from per-page schemas). No page is missing JSON-LD. All blocks parse as valid JSON.
Helper infrastructure (the craft layer)
src/lib/schema.ts exports 9 functions that produce every JSON-LD block on the site:
organizationSchemalocalBusinessSchemaallLocalBusinessesSchemabreadcrumbSchemabuildBreadcrumbFromPathreactNodeToTextfaqPageSchemaarticleSchemaserviceSchema
The Organization @id is a single canonical literal emitted once in the root layout; every per-page schema references it via { "@id": ORG_ID }. There are no duplicated literals in page files.
Updated AI-citation-readiness language
v1's SEO posture entry described schema as the "biggest technical gap" but separately described AI-citation readiness as "Outstanding — every regulatory claim sourced to Fuel Tax Act sections, R.R.O. 1990 Reg." Those two assessments are now aligned: AI-citation-readiness is complete on both the content layer (sourced/dated claims) and the structured-data layer (Organization + LocalBusiness + Service + FAQ + Article + Breadcrumb graph).
The case study can now state JSON-LD coverage as a Verified KPI, not a planned one.