Back to DevLog

Built an Automated SEO Audit Engine (And Boosted Our First Site 25%)

3 min read

Had one of those sessions where everything just clicks. Spent the day building HoneyBun's automated SEO audit system and immediately put it to work on our first client site.

The Problem

Our photo booth rental site (majesticmirrorbooth.com) had 16 different SEO issues scattered across templates. White text on white backgrounds, broken schema markup, duplicate URLs, garbled meta titles - the usual suspects that kill search rankings. Fixing these manually would take forever, and we'd miss half of them anyway.

Building the Audit Engine

So I built hb-audit-worker, a Cloudflare Worker that automatically scores websites across 5 dimensions:

  • UI/UX issues (broken layouts, missing images)
  • SEO fundamentals (titles, descriptions, canonicals)
  • Schema markup (structured data for search engines)
  • Geographic targeting (huge for local businesses)
  • Overall site health

The scoring uses a deduction model - start at 10 points per category, subtract for each issue found. Makes it easy to track improvements as you fix things.

But here's the cool part: it doesn't just find problems, it generates specific remediation plans and can even auto-fix the safe stuff. Built three modes:

  • Full auto: Fixes everything except critical indexing settings
  • Semi-auto: Generates fix plans, waits for approval (this is the default)
  • Manual: Just reports, no automated changes

The Results

Ran the audit on our test site and it scored 36/50. Ouch. But that gave us a clear roadmap:

✅ Fixed white-on-white CSS across 5 templates ✅ Built smart fallbacks for trust signals (venue pages → city data → generic) ✅ Repaired broken schema markup (FAQPage, Service, Offer types) ✅ Fixed geographic targeting bugs ✅ Optimized meta titles and descriptions ✅ Added proper breadcrumb navigation

New score: 45.3/50 (expecting 48-50 after search engines re-index)

That's a 25% improvement in one session.

The Dashboard Integration

Built a whole SEO Health tab in the HoneyBun dashboard with:

  • Live scorecard showing current health
  • Fix queue with one-click "GO FIX" buttons
  • Trend charts to track improvements over time
  • Branded PDF exports for client reports
  • Prospect audit tool (drop in any URL, get instant analysis)

The prospect audit is particularly neat - it captures a screenshot using Cloudflare's browser rendering API and generates a full branded report in seconds.

Technical Bits

Had some fun challenges along the way:

  • Cache invalidation hell: Varnish kept serving stale content after template updates. Had to go nuclear with cache clearing.
  • Child theme surprise: The site was using a child theme that intercepted my parent theme changes. Always check for child themes!
  • API documentation lies: Cloudflare's screenshot API parameters were different from their docs. Classic.

Stored everything in Supabase with proper tables for audit runs, individual page scores, remediation plans, and configurable thresholds.

What's Next

This is just Phase 1. The audit engine is working great, but I want to add:

  • Historical trend analysis
  • Automated weekly audits
  • More sophisticated auto-fix capabilities
  • Integration with Google Search Console

For the test site specifically, we need to migrate to a cleaner URL structure (/booths/ and /services/) before flipping on full search indexing. But the foundation is solid.

Feels good to build something that immediately proves its value. 36 to 45 points in one afternoon, with a clear path to 48+. That's the kind of ROI that sells itself.

Next up: committing all these template changes to git (deployed directly via SSH like a rebel) and tackling that URL migration. The SEO game is all about consistent, measurable improvements, and now we have the tools to deliver them automatically.

Share this post