Changelog

2026-07-06Feature

Handoff 03: SEO wrapper pages wired to 22 tool packages

Every Workforge tool now lives at a stable canonical URL under workforge.cambareri.net with a full SEO wrapper: metadata, JSON-LD SoftwareApplication + BreadcrumbList + FAQPage blocks, a TrustBar with our five privacy signals, related tools rail, and the actual working tool mounted below the hero.

What changed:

  • 22 marketing wrapper pages moved from placeholder <div data-tool-mount> to real tool components.
  • Every tool package (@repo/pdf-merge, @repo/bg-remover, and the rest) is now a workspace dependency of the marketing app.
  • ToolPage component gained an optional toolComponent prop; wrapper pages pass the actual React component in.

What was hard: the production build hung indefinitely under Turbopack because the WASM packages (jSquash, libheif, ONNX runtime) do not play nicely with Turbopack's production tracer. Fix: switched marketing's next build to Webpack. Dev still uses Turbopack for HMR speed. Diagnosed via single-tool bisect against Vercel.

Result: all 22 tools are now discoverable, indexable, and reachable from a single domain. Old subdomain URLs continue to serve; they will redirect to canonical URLs on Joe's per-tool schedule.

Affected tools

  • pdf-merge
  • pdf-split
  • pdf-rotate
  • pdf-page-numbers
  • pdf-reorder
  • pdf-pdf-to-jpg
  • pdf-compress
  • pdf-jpg-to-pdf
  • bg-remover
  • heic-to-jpg
  • heic-to-gif
  • image-compressor
  • png-to-jpg
  • webp-converter
  • social-card
  • favicon-generator
  • bulk-image
  • excel-to-csv
  • json-to-csv
  • markdown-to-html
  • yaml-to-json
  • invoice-generator