The problem with most trade business websites

Ask a plumber in Brisbane how many suburbs they service and they'll say "all of them." Ask them how many suburb-specific pages their website has and the answer is almost always: one.

One generic "service area" page listing fifteen suburb names in a paragraph. No localised content. No suburb-specific headings. Nothing that tells Google — or a homeowner in Paddington at 9pm with a burst pipe — that this is specifically the plumber for their area.

This is the gap. And it's enormous.

🎯

The opportunity in plain numbers

When someone searches "drain cleaning Paddington" they are ready to book. Not browsing. Not comparing prices. Ready to pick up the phone. If your client has a page for that exact query — and their competitor doesn't — that enquiry is yours.

The neighbourhood page strategy explained

The core idea is simple. Take every service a business offers. Take every suburb they service. Build a unique, locally-relevant landing page for every combination. Then publish them all to the client's WordPress site.

A plumber offering 6 services across 8 suburbs gets 48 pages. Each one targeting a specific keyword like "hot water systems Newstead" or "blocked drains West End." Each one with its own content, its own hero image, its own call to action.

01

Map the matrix

List every service the business offers and every suburb they work in. The intersection of these two lists is your page count. 8 services × 10 suburbs = 80 pages.

02

Generate unique content per page

Each page gets its own intro, benefits, and call to action — localised to that specific suburb and service combination. Not spintax. Not templates with the suburb name swapped in. Genuinely unique content generated by Claude.

03

Build the SEO silo architecture

Pillar pages sit above the suburb pages — one per service (e.g. "Plumbing Services Brisbane") linking down to every suburb page for that service. This funnels authority through the whole structure.

04

Generate images automatically

Each page gets its own hero image generated by Ideogram — specific to the service and locale. Costs roughly $0.05–$0.08 per image. 50 pages = about $3.50 in image costs.

05

Inject internal links

After publishing, the internal linking injector goes back through every page and adds contextual links — upward to pillars, sideways to sibling suburbs, cross-linking services in the same area.

Understanding the SEO silo structure

The silo is what separates this strategy from just "publishing a bunch of pages." Without it, you have 50 orphaned pages with no authority flowing between them. With it, you have a structured hierarchy that tells Google exactly what the site is about and where to assign ranking authority.

"In smaller regional cities like Hervey Bay, most trade businesses have no suburb-specific pages at all. You can dominate the entire local search landscape for a single client within weeks."

NHP Agency — Local SEO Research, 2026

The three-tier structure works like this:

  • City pillar page — "Plumbing Services Brisbane" — the top of the hierarchy, linking to all service hubs
  • Service hub pages — "Drain Cleaning Brisbane" — one per service, linking down to all suburb pages for that service
  • Suburb pages — "Drain Cleaning New Farm" — the bottom of the silo, targeting hyper-local keywords

Why page uniqueness actually matters

The most common objection to this strategy is: "won't Google penalise duplicate content?" The answer is only if the pages actually are duplicate. That's the point — they're not.

A page about drain cleaning in New Farm references the specific streets, landmarks, and council infrastructure of New Farm. The content angles, service context, and local entities are genuinely different from a page about drain cleaning in Paddington.

Every page also gets its own AI-generated image with a prompt specific to that service and suburb combination. The result is 50 pages that are demonstrably unique — in content, imagery, internal links, and local context.

✍️
Unique written content

Claude generates localised copy for each service × suburb pair — not spintax, not templates.

🖼️
Unique hero images

Ideogram generates a distinct image per page based on a prompt crafted for that exact combination.

🔗
Unique internal links

Each page links to different sibling pages depending on its position in the silo hierarchy.

📍
Unique local entities

Suburbs, landmarks, postcodes, and council areas are woven into each page naturally.

The economics for your agency

This is where it gets interesting. The cost to run this strategy for a single client is almost nothing. The value you can charge for it is significant.

Single client — annual value calculation

Setup fee (first campaign, 50 pages) $1,200
Monthly retainer (monitoring, expanding, leads) $500/mo
API costs (Claude + Ideogram, 50 pages) ~$4–$8
Time to set up and publish ~20 min
Annual client value $7,200

At three clients that's $21,600/year in recurring revenue. At ten clients you're at $72,000. Each additional client takes roughly 20 minutes to onboard — the rest is lead reporting and occasional page expansion.

💡

The demo close strategy

Don't send a proposal. Show up to the client meeting with their pages already built — their business name, their phone number, their suburbs. Let them see a live demo of "Drain Cleaning in Paddington" published and live. That's almost impossible to say no to.

How we built our own version of this tool

After reviewing the Neighbourhood Pages Home Services tool (video breakdown above), we spent time building our own implementation using the same principles — but with several additions the original doesn't have.

Our stack uses the Claude API for content generation, Ideogram for images, and the WordPress REST API for publishing. The whole system runs as a single HTML file you can open in any browser — no installation, no server, no subscriptions.

// The core generation loop — simplified for (const { service, suburb } of pairs) { const content = await claude( `${service} landing page for ${suburb}`, { model: 'claude-sonnet-4-20250514' } ); const image = await ideogram(content.imagePrompt); await wordpress.publish({ content, image, slug }); // ~$0.012 per page in API costs }

The key differences in our build versus the original tool:

Feature Neighbourhood Pages (original) Our NHP Build
Neighbourhood page generation
Pillar / city pages ✓ Full silo + juice capture
Ideogram image generation
WordPress publishing ✓ + auto image upload
Internal link injector Basic ✓ Full silo audit + inject
Competitor analysis ✓ Gap analysis + strengthen
Lead capture + dashboard ✓ Hot/Warm/Cold + webhook
Campaign save/load ✓ Local storage + JSON export
Pricing $197 one-time (→ $97/mo) Free — bring your own API keys

Why Hervey Bay is the perfect test market

Regional Queensland cities are ideal for this strategy. Lower competition than Brisbane. Tight trade community where word spreads fast. Most businesses still running on a basic 5-page website built in 2018.

A search for "plumber Hervey Bay" returns maybe 3–4 businesses with any kind of real web presence. None of them have suburb-specific pages. None of them have pillar pages. None of them have a lead capture system.

That's the entire local search landscape open for one well-executed campaign.

The same logic applies to Maryborough, Bundaberg, Rockhampton — any regional city where local trades are active but digital competition is low.

🗺️

How to find your first client

Search "[trade] [city]" on Google. Find a business that shows up but is NOT on page 1 for suburb-specific searches. Check their website — if it has one services page and no suburb pages, they're your prospect. Build a demo with their actual business details before the meeting. Show up with pages already live.

Getting started — what you actually need

To run this strategy yourself you need three things:

  • An Anthropic API key — for content generation. Sign up at console.anthropic.com. Cost is roughly $0.003 per page of content.
  • An Ideogram API key — for hero images. Sign up at ideogram.ai. Cost is $0.05–$0.08 per image.
  • Access to the client's WordPress site — via Application Passwords (WP Admin → Users → Application Passwords). No plugins needed.

That's it. No monthly subscription. No credit system. No platform dependency. You pay the AI providers directly for what you use — 50 pages costs roughly $4–$8 all in.