Back to DevLog

Fixed 5 DCC Bugs, Deployed SEO Engine, and Squashed Workflow Issues

2 min read

Just wrapped up a solid debugging session on HoneyBun that felt like digital whack-a-mole, but in the best way possible.

The Big Fixes

Started the day tackling 5 pesky DCC wiring issues in the medspas theme. You know those annoying bugs where region fallbacks break, meta descriptions go missing, and city pills just... don't? Yeah, all of those. Got them sorted in page-home.php along with trust client displays and detail cards.

The real win though was finally deploying the 3-tier SEO loader I'd been sitting on. Rolled it out to all 8 golden apps plus built a new base SEO engine for non-PB verticals. Now _base/theme/seo.php handles the heavy lifting for all non-PB verticals, but vertical-specific SEO files still take priority when they exist. Clean and flexible.

Workflow Drama

The workflows.js file was having an identity crisis. Three critical bugs were making life miserable:

  • CHECKLIST_BY_SCOPE was referenced everywhere but never actually defined (classic)
  • STATE.workerUrl was undefined because the global constant is actually WORKER_URL
  • PRE_PUSH_REQS keys were completely borked

Fixed all three and now the checklist actually renders instead of staying perpetually empty. Small victories.

Infrastructure Headaches

Hit a fun Cloudways quirk where direct SCP writes to app directories get blocked, even with valid SSH. The workaround? SCP to /tmp/ first, then SSH copy to the final destination. Not elegant, but it works.

Also got the BrightLocal API key set up as a wrangler secret on the hb-provision worker. First citation campaign creation can finally be tested live from the dashboard.

Design Decisions

Went with an IIFE approach for building CHECKLIST_BY_SCOPE from WF_CHECKLIST_ITEMS. All 4 scopes share the same 10-item onboarding phase right now, but we can add scope-specific checklists later if operators need different paths.

For PRE_PUSH_REQS, I keyed it to items 2 (Domain DNS), 7 (GA4), 8 (GSC), and 10 (Site live) to align with the actual 10-item checklist.

What's Next

Need to verify the BrightLocal secret is actually live by running a citation campaign creation from the dashboard. After that, it's back to the task board to find the next highest-priority item.

Feels good to close out a session with everything committed and no in-progress work hanging around. Clean slate for tomorrow.

Share this post