All entries

I Launched 38 Pages, Found 2 Mistakes, and Fixed Both Before Dinner

Phase 1 is live.

Thirty-eight plumber pages on godigitalapps.com, built from a system that generates content at scale across local markets. IndexNow got pinged for 82 URLs to fast-track indexing. The cross-linking system is running. The pages look good.

Also, we found two things wrong with them. Same day. After they were live.

That's what today actually looked like.

What We Shipped

The pSEO system got a full v2 upgrade first. JSON-LD schema across every page. Breadcrumb navigation. FAQ accordion (Google loves visible Q&A). Filtering by service type. Code copy buttons on the technical sections.

Then we ran full generation: 598 pages, 13 verticals, 253 seconds end to end. That's the entire catalog, rebuilt with the new schema.

Phase 1 deploys 38 pages: 26 location pages and 12 checklist pages, all plumber-focused, all targeting the DMV area and surrounding markets. The cross-linking system built at the same time created roughly 600 internal links across those pages. Before today, a typical pSEO page had 1-2 internal links. Now each one has 16-18. That's a meaningful structural change for how search engines crawl and understand the site.

8 commits. The build ran clean.

Mistake 1: 338 Pages Targeting Keywords Nobody Searches

Here's the one that stings.

Our pSEO keyword strategy was built around "[vertical] automation [city]." Plumber automation Arlington VA. HVAC automation Bethesda MD. Landscaper automation DC.

Sounds logical. Automation is what we sell. City targeting is the whole point of programmatic SEO.

Nobody searches those terms.

Zero. We checked. "[Plumber automation Arlington VA]" returns nothing meaningful in search volume tools. The query doesn't exist as a real search pattern. People looking for what we offer search "[plumber software Arlington VA]" or "[plumbing business tools DC]" or "[plumber marketing company near me]." The word "automation" is our internal framing. It's not how service business owners describe their problem when they type it into Google.

338 pages were targeting a ghost keyword. We built a precise system to rank for a phrase nobody types.

Today we retargeted all 338. New pattern: "[vertical] marketing/software/leads/tools [city]." New title format: "Save 10+ Hours/Week: [Vertical] Business Tools for [City], [State]." The URLs stayed the same. No redirects, no 301s, no broken links. Just the copy and the meta retargeted to what people actually search.

The lesson isn't "don't build pSEO." The lesson is validate search volume before you build 338 pages, not after.

Mistake 2: The CTA Sending Warm Leads to a $499 Paywall

This one is worse because it was live for a window of time.

Every pSEO page had a CTA at the bottom. The CTA was supposed to route visitors to a free 15-minute intro call. That's the offer: no commitment, low friction, just a conversation.

Instead, the CTA was routing to our $499 assessment page.

Someone finds a plumber tools page for their city. The copy explains how to get 10 hours a week back. They're interested. They click the button. They land on a page asking them to pay $499 before they've talked to anyone.

That's the entire funnel broken at the exit point.

We don't know if anyone came through and hit that dead end before we caught it. Probably not many, given the pages were just indexed. But it's the kind of thing that would have quietly killed conversion for weeks if we hadn't found it.

Fixed: every CTA now routes to the free intro call. Not the assessment. Not a contact form. The free call.

Market Intel That Actually Matters

Two competitor raises came across today that are worth noting.

Mega raised $11.5M Series A from a16z. They're building an AI growth engine for SMBs: $0 to $10M revenue in 10 months. They're product-led. We're service-led. That's the actual difference. Mega is trying to replace agencies with software. We're doing implementation and governance for businesses that don't want to manage software themselves.

Rebar raised $14M specifically for HVAC, plumbing, and electrical contractors, building a vertical AI operating system. This one validates our vertical focus directly. They're going deep on one trade. We're building to go deep on trades too.

56% of SMBs now use AI tools. The number one barrier to adoption isn't cost or access. It's expertise. That's our business model in one statistic.

This market is real and it's moving fast. The $11.5M raise would have felt like a threat 3 months ago. Right now it reads as confirmation that we picked the right category.

The Services Page Reframe

Separate from the pSEO work: the services page got rewritten with a cleaner frame.

Old frame: "We help you automate admin tasks." True, but abstract.

New frame: "Get 10 hours back every single week." Then the math: if your billing rate is $75 to $150 an hour, 10 hours is $3,000 to $5,000 a month in recovered revenue capacity. We're not saving you $30 an hour on admin work. We're giving you 10 hours you can bill at your real rate.

The guarantee language got direct too: "10 hours a week or the audit is free." Clear, measurable, easy to understand.

We also killed two Twitter crons today that had been double-posting. The Wednesday motivation cron was triple-sending. Both fixed.

What Happens Next

Phase 2 goes live in roughly 2 weeks: landscaper and HVAC pages. Before that, we validate the new keywords in search volume tools. Not after 300 pages are built. Before.

Three other items sitting in the queue:

The services page calendar has a bug where the "book free intro call" button scrolls to the calendar but doesn't pre-select the right call type. Small thing. Annoying thing. Needs a fix.

The blog posts have an E-E-A-T problem. Zero author bios. No experience markers. No credentials visible anywhere. Obadiah's security background and detection engineering work is the kind of thing that builds topical authority for an AI tools audience. It's not being used. That audit is overdue.

And 23 blog posts have zero internal links. The cross-linking system covers pSEO pages, not blog content. That gap exists.

Phase 1 is live. The keyword and CTA mistakes are fixed. The system generates 598 pages in 253 seconds.

Now we wait 2 weeks and watch GSC.