{"id":864,"slug":"client-bjf-schema-deployment-verified-v2","title":"B&J — JSON-LD schema deployment VERIFIED (v2) — supersedes the \"biggest technical gap\" claim in v1","kind":"reference","scope":"client-case-studies","status":"current","audiences":["kevin","candid-team","client-prospect"],"topics":["seo-content","schema-org","ai-citation","client-boucher-jones","case-study-source","kpi-candidates"],"reference_body":"**This entry supersedes the JSON-LD row of [[client-bjf-technical-seo-posture]]**, 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.\n\n## Live HTML cross-section (fetched cache-busted from `https://bjweb.candidcreative.ca` on 2026-05-24)\n\n| Page | Block count | Types | @id / name snippet |\n|---|---|---|---|\n| `/` | **6** | Organization | `https://bjweb.candidcreative.ca/#organization` |\n| | | GasStation | `https://bjweb.candidcreative.ca/#loc-waterloo-hq` |\n| | | GasStation | `https://bjweb.candidcreative.ca/#loc-stratford-cardlock` |\n| | | GasStation | `https://bjweb.candidcreative.ca/#loc-guelph-cardlock` |\n| | | GasStation | `https://bjweb.candidcreative.ca/#loc-london-depot` |\n| | | LocalBusiness | `https://bjweb.candidcreative.ca/#loc-st-thomas-depot` |\n| `/agriculture` | **3** | Organization · FAQPage · BreadcrumbList | (org @id as above) |\n| `/agriculture/coloured-diesel` | **3** | Organization · FAQPage · BreadcrumbList | (same shape) |\n| `/resources/coloured-diesel-and-ontario-law` | **3** | Organization · Article · BreadcrumbList | Article headline = \"Coloured diesel and Ontario law for farmers — a pl…\" |\n| `/locations/london` | **3** | Organization · LocalBusiness · BreadcrumbList | LocalBusiness @id = `https://bjweb.candidcreative.ca/locations/london` |\n| `/cardlock` | **4** | Organization · Service · FAQPage · BreadcrumbList | Service @id = `https://bjweb.candidcreative.ca/cardlock#service` |\n| `/lubricants` | **4** | Organization · Service · FAQPage · BreadcrumbList | Service @id = `https://bjweb.candidcreative.ca/lubricants#service` |\n\nEvery 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.\n\n## Helper infrastructure (the craft layer)\n\n**`src/lib/schema.ts`** exports **9 functions** that produce every JSON-LD block on the site:\n\n- `organizationSchema`\n- `localBusinessSchema`\n- `allLocalBusinessesSchema`\n- `breadcrumbSchema`\n- `buildBreadcrumbFromPath`\n- `reactNodeToText`\n- `faqPageSchema`\n- `articleSchema`\n- `serviceSchema`\n\nThe 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.\n\n## Updated AI-citation-readiness language\n\nv1'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)**.\n\n**The case study can now state JSON-LD coverage as a Verified KPI, not a planned one.**","rationale_body":"Carries a `supersedes` link to `client-bjf-technical-seo-posture` to make the v1→v2 transition queryable. The v1 entry stays `status: current` because only one row of its table is overtaken; the rest of its content is still accurate.","metadata":null,"links":{"outgoing":[{"slug":"client-bjf-kpi-candidates","title":"B&J KPI candidates — every defensible metric, with source and confidence","kind":"reference","scope":"client-case-studies","link_type":"relates-to"},{"slug":"client-bjf-content-quality-audit","title":"B&J content quality — what the pre-launch audit explicitly called out as strong","kind":"reference","scope":"client-case-studies","link_type":"relates-to"},{"slug":"client-bjf-technical-seo-posture","title":"B&J technical SEO posture — old vs new, with explicit gaps to close pre-launch","kind":"reference","scope":"client-case-studies","link_type":"relates-to"}],"incoming":[{"slug":"client-bjf-case-study-source-v2","title":"Boucher & Jones — case-study source material, v2 (technical facts, 2026-05-24)","kind":"reference","scope":"client-case-studies","link_type":"relates-to"},{"slug":"client-bjf-craft-signals-structural-v2","title":"B&J — five structural craft signals worth surfacing in case-study narrative (v2)","kind":"reference","scope":"client-case-studies","link_type":"relates-to"}]},"created_at":"2026-05-24T01:16:37.147Z","updated_at":"2026-05-24T01:16:37.147Z"}