Vibe Academy
← PlaybooksThe routines · Lesson 2 of 5

Launch a New Local Market

Service areas to virtual pages to GBP, in order.

Launch a New Local Market

Adding a new city to your reach used to mean building a page for every place you serve, one at a time. Vibe SEO turns it into a repeatable pipeline: pull the real places from a map, define your services once, serve thousands of location URLs automatically, hand-build the few pages that matter most, and put your Google Business Profile on autopilot. This lesson walks the whole run, start to finish, naming the exact tool at each step.

The pipeline at a glance

  1. Pull the places with Service Areas.
  2. Define your services in Virtual Pages.
  3. Import the places into Virtual Pages geography.
  4. Build and tag a few Templates.
  5. Promote your key pages into Generation.
  6. Wire up GBP Automation.

Step 1: Pull the places with Service Areas

In the WordPress sidebar, open Vibe SEO, then Service Areas. Under 1. Pick a state, choose your state and click Fetch cities. This queries OpenStreetMap, which is free and needs no API key, and returns every city with population and GPS coordinates.

Under 2. Cities (tick the ones you serve), use the Min population box to hide tiny places, and set the nearby-radius dropdown so cities within, say, 25 miles of a ticked city turn green. That highlight is how you find the next-door towns that belong in the same market. The state capital is always pinned to the top. Tick the cities you serve.

Under 3. Neighborhoods, click Fetch neighborhoods for selected cities, then tick the ones you want. When your list is ready, click Capture selected, then batch, give it a name, and choose where it should be available: VP + Generation, Virtual Pages only, or Generation only. Click Save as new batch. Appending later dedupes by state, city, and neighborhood, so re-pulling is safe.

For agency-scale launches, turn on Nationwide mode to load every state or all 50 capitals at once.

Step 2: Define your services

Open Vibe SEO, then Virtual Pages. In the Services card, add one row per service. Key is the only required field, for example roof-repair. Label is the display name. Leave URL slug blank and it reuses the Key. Click Save Services. This list feeds both your URLs and your template tags, and it is shared with the Generation tool.

Step 3: Import the geography

Scroll to the Geography card. Under Import a saved Service Area batch, pick the batch you saved in Step 1 and click Import batch. Only batches targeted at Virtual Pages (or both) appear here. Duplicates are skipped automatically. You can also use the Push to Virtual Pages button back in Service Areas, or upload your own CSV with state, city, name, lat, lon columns.

Step 4: Build and tag templates

Virtual Pages does not create pages one by one. It serves URLs like /dallas-roof-repair/, /texas-roof-repair/, and /dallas/oak-cliff-roof-repair/ from a handful of templates. Build one normal WordPress page per level and service, and inside its content use the tokens {CITY}, {STATE}, {NEIGHBORHOOD}, and {NEARBY_NEIGHBORHOOD_1} through {NEARBY_NEIGHBORHOOD_3}. On that page's edit screen, find the Vibe SEO, Virtual Pages Template meta box, set the Level (State, City, or Neighborhood) and the Service, and click Convert this page to a Virtual Pages template.

Back on the Virtual Pages screen, the Templates table shows a template or a missing badge for each level and service. Fill the gaps. Then click Recompute Nearby Neighbors so the nearby tokens resolve, and Flush Rewrite Rules so the new URLs register. Use the Preview URLs links to confirm a page renders with the real place name filled in. To keep those thousands of pages from reading as thin duplicates of one template, turn on Block Variations, which rotate the wording of your blocks so each location page reads differently.

Step 5: Promote your key pages into Generation

Virtual pages are lightweight and perfect at scale, but your most important city-and-service combinations deserve real, hand-editable posts. In Service Areas, click the batch's arrow to Generation button, or push only a small set. A real WordPress page at /{city}-{service}/ always wins over the virtual one, so a hand-built page quietly takes over. Keep the count modest, as Generation creates one real post per place and service.

Step 6: Wire up GBP Automation

First connect your profile in Settings, then Google Business Profile, and pick a location. Then open Vibe SEO, Dashboard, GBP Automation (titled Google Business Automation). Turn on Auto-posts and choose Weekly (recommended) or Daily. Turn on Auto review replies and set your star floor, for example 4 stars and up. Reviews below the floor are drafted and held under Awaiting your approval, never auto-posted. Click Save settings. Use Post an update now, Check and reply to reviews now, and Scan for opportunities for one-click suggestions. This needs Vibe AI configured with your Anthropic API key in Site Settings.

What good looks like

Your Geography table is populated, every level and service in the Templates table shows a tagged template with no missing badges, the Preview URLs load with real place names, your top pages exist as real Generation posts, and GBP posts and replies are running on schedule.

Common mistakes

If virtual URLs return 404, click Flush Rewrite Rules. If nearby-neighborhood links are blank, run Recompute Nearby Neighbors, which needs lat and lng on your rows. Do not push huge batches into Generation. And remember negative reviews are always held for your approval, so check the pending queue.