1. Guide
  2. Satellite Sites

The Hub & Satellite Strategy

One website ranks in one city. But your business serves ten, twenty, fifty cities. The Hub & Satellite strategy lets you capture high-intent local searches in every market you serve, using exact-match domains, fully unique content, and proper entity separation that Google trusts.

This isn’t programmatic SEO. Every satellite is a standalone website that looks, reads, and ranks like a hand-built local business site.

10 credits per satellite15-30 min to deploy
Satellite diagram showing parent site in center with satellite sites radiating outward to different cities

1How It Works

You divide your digital presence into two lanes based on search intent.

H

The Hub (Parent Site)

Your primary brand website. Builds massive topical authority, houses deep educational content, and closes high-ticket leads.

Example: eliteplumbinghouston.com
Ranks for: “plumbing company Houston,” “best plumber in Texas”
S

The Satellites

Hyper-focused local sites on exact-match domains. Each intercepts bottom-of-funnel searches in a specific city.

Example: plumbersugarland.com
Ranks for: “plumber Sugar Land TX,” “emergency plumbing Sugar Land”

The hub builds your brand authority and closes high-value leads. The satellites intercept bottom-of-funnel searches. People who type “plumber Sugar Land TX” are ready to hire. The exact-match domain feels like the perfect answer.

2What Gets Generated

Each satellite keeps your brand, design, and credentials but rewrites everything else for the target city. Here’s exactly what changes.

Hub:eliteplumbinghouston.com
Satellites:
plumbersugarland.com plumberkaty.com plumberwoodlands.com plumberpearland.com

What gets regenerated:

  • All blog posts with local references
  • All service pages, localized
  • Homepage content and images
  • Schema markup and geo data
  • Contact details (phone, email, address)

What stays the same:

  • - Brand name and logo
  • - Site design and layout
  • - Service & blog page images
  • - Trust signals and credentials

3Why This Isn’t Programmatic SEO

Programmatic SEO generates hundreds of near-identical pages by swapping city names into templates. Google has been actively penalizing this since the 2023 Helpful Content Update. Satellite sites are fundamentally different.

Programmatic SEOSatellite Sites
ContentTemplate with city name swapped100% unique per site
DomainSubfolders on one domainIndependent domain per city
ImagesSame stock photos everywhereHomepage images AI-generated per site
HostingOne server, one deploymentIndependent hosting per site
Schema / NAPSame entity everywhereUnique schema and NAP per site
Google’s viewDoorway pages with penalty riskLegitimate local businesses
Side-by-side comparison of Satellite Sites vs Programmatic SEO

4The Safety Playbook

Google has specific algorithms to catch businesses manipulating search results with multiple sites. Here’s what to watch for, and how LocusPilot handles each risk.

Doorway Page Penalty

Google defines doorway pages as multiple domains targeting specific regions that funnel users to the same destination, offering no unique value. If your satellite is a copy-paste of your hub, it will be de-indexed.

How LocusPilot avoids this:

  • Every page is fully rewritten, not find-and-replace
  • Homepage images are AI-generated fresh for each satellite
  • Each site is independently hosted on its own Cloudflare Pages project

Domain Clustering Filter

If Google detects two sites from the same owner fighting for the exact same keyword, it will filter the weaker site out of results to ensure SERP diversity.

How LocusPilot avoids this:

  • Each satellite targets a different city with different primary keywords
  • The hub ranks for broad terms; satellites rank for city-specific terms

NAP Merging & Suspension

If you use the identical Name, Address, and Phone number across multiple sites, Google Maps will merge them into one entity or suspend your listings.

How LocusPilot avoids this:

  • Each satellite gets a unique phone number, email, and address
  • Schema markup uses distinct geo coordinates per city

5Best Practices

Schema Markup

Each satellite gets its own LocalBusiness schema with unique geo coordinates, areaServed, NAP details, and correct canonical URLs. A parentOrganization property links back to the hub, making it transparent to Google that they’re related branches.

Cross-Linking

On geo expansion satellites, add a single footer link: “Owned and operated by Elite Plumbing Houston.” On your hub, one contextual link per satellite: “Need a plumber in Sugar Land? Visit our Sugar Land division.” Don’t stuff links everywhere.

Unique Phone Numbers

Buy a cheap VoIP/tracking number for each satellite (Google Voice, OpenPhone, CallRail). Forward to your main office. Google sees a unique number; you get lead tracking per city.

Co-Branding

Add a badge: “A Division of Elite Plumbing Houston.” This builds instant trust from the parent brand’s reputation.

6What Every Satellite Includes

Own Domain

Exact-match domain independently hosted on Cloudflare Pages

Rewritten Content

Every blog post, service page, and homepage generated from scratch

AI-Generated Images

Homepage images regenerated with town-specific visual context

Local Schema Markup

Unique LocalBusiness schema with geo, areaServed, and parentOrganization linking to hub

Separated NAP

Unique phone, email, and address for each satellite

Custom Domain

Connect your exact-match domain directly from the dashboard with one click

Sitemap & SEO

Independent sitemap, robots.txt, OpenGraph tags, canonical URLs

SSL Included

Free HTTPS via Cloudflare with no certificate management needed

7Step-by-Step: Launch Your First Satellite Site

Follow these steps to go from zero to a fully deployed satellite site.

  1. 1
    Navigate to Satellite Sites.

    Click Satellite Sites in the left sidebar. You’ll see a list of your completed projects and any existing satellites.

  2. 2
    Click “Launch Satellite”.

    If you have multiple projects, you’ll be asked to select a parent project. Pick the one you want to expand. Make sure the parent site is finalized because all satellites inherit its design and layout.

  3. 3
    Enter the target city and domain.

    Enter the town name (e.g., “Sugar Land”), state, country, and your target domain (e.g., “plumbersugarland.com”). The brand identity stays identical to the hub.

  4. 4
    Generate and review the town brief.

    Click “Generate Brief with AI” to research the target area automatically. The AI finds key neighborhoods, local landmarks, demographics, competitors, and climate factors. Review and edit the brief as needed. This is what makes each satellite’s content genuinely local, not generic city-name swaps.

    Example insight: “Sugar Land is an affluent suburb southwest of Houston known for its master-planned communities like Telfair and New Territory. Most homes are built in the 2000s with modern HVAC systems.”

  5. 5
    Add contact details and local presence.

    Enter a phone number, email, and address for this city. We recommend at minimum a unique phone number (e.g., a Google Voice or CallRail number) for lead tracking and to avoid NAP conflicts with your hub. You can also add a local presence note describing your team or division in this area.

  6. 6
    Launch and track progress.

    Click Launch Satellite. The AI takes 15-30 minutes to rewrite all content (blog posts, service pages, homepage), regenerate homepage images, configure schema markup, and deploy. Track the status live on the Satellite Sites page. It updates automatically.

What happens behind the scenes:

  • AI rewrites every page with local context, not find-and-replace
  • Homepage images are AI-regenerated with town-specific prompts
  • Schema markup gets unique geo coordinates, areaServed, and NAP
  • Schema includes parentOrganization linking to the hub
  • Site is built and deployed to its own Cloudflare Pages project
Screenshot of the satellite creation form with town name, domain, and brief fields
Screenshot of the confirmation modal before starting to create a satellite

8Step-by-Step: Editing Your Satellite

After deployment, you can edit any satellite directly from the dashboard. No code download required.

  1. 1
    Click “Edit” on a deployed satellite.

    This opens the built-in editor with five tabs: Site Info, Homepage, About, Services, and Blog.

  2. 2
    Edit config files (Site Info, Homepage, About).

    These are JSON files that control your site’s data. The editor has syntax highlighting, line numbers, and real-time validation. Edit the values (the text after the colon), not the keys. Common edits:

    • Site Info: phone number, email, address, business name
    • Homepage: hero heading, subtitle, testimonials, CTA text
    • About: company story, team info, credentials

    Use the Format button to clean up messy JSON. The green “Valid JSON” indicator confirms your syntax is correct before saving.

  3. 3
    Edit content pages (Services, Blog).

    Select a page from the sidebar. These are MDX files (Markdown with frontmatter). You can edit the title, description, and body text directly. Save each file individually.

  4. 4
    Save and Rebuild.

    After saving your changes, click Rebuild & Deploy in the top-right. The satellite is rebuilt and redeployed in about 5 minutes. Your changes go live automatically.

Tip: For more advanced edits, you can also download the source code as a ZIP and use any AI coding tool (Cursor, Claude Code, Windsurf) to modify it locally. Re-upload to your own hosting when done.

Screenshot of the satellite editor showing JSON editing with syntax highlighting and line numbers

9Step-by-Step: Connecting a Custom Domain

Each satellite gets a free *.pages.dev preview URL by default. To go live on your exact-match domain, connect it here.

  1. 1
    Click “Domain” on a deployed satellite.

    A modal opens with your target domain pre-filled (the domain you entered during creation). You can change it if needed.

  2. 2
    Click “Add Domain”.

    This registers the domain with Cloudflare Pages. You’ll see a CNAME record that needs to be added to your DNS.

  3. 3
    Add the CNAME record at your domain registrar.

    Log into your domain provider (GoDaddy, Namecheap, Cloudflare, etc.) and add the CNAME record shown. The modal gives you the exact values to copy.

    Type
    CNAME
    Name
    @ or www
    Value
    your-project.pages.dev

    For root domains (example.com without www), your DNS provider needs to support CNAME flattening. Most modern providers (Cloudflare, Namecheap) handle this automatically.

  4. 4
    Click “Check Status” to verify.

    DNS propagation takes 1–24 hours (usually under 30 minutes with Cloudflare). Once verified, the status turns green and your satellite is live at https://yourdomain.com with free SSL.

Domain status indicators:

DNS PendingCNAME added, waiting for propagation
ActiveDomain verified and live
FailedCNAME not found. Check DNS settings
Screenshot of adding custom domain to a subsite

For detailed DNS instructions by provider, see the Custom Domain Guide.

Frequently Asked Questions

Can I launch satellites in any city, even if I don’t have a physical office there?

Yes. Many service businesses (plumbers, electricians, cleaners, consultants) serve a wide metro area from a single location. Each satellite targets a city you actually serve. Just use “Serving the Sugar Land area” instead of a physical address on the satellite.

Is this the same as building a PBN (Private Blog Network)?

No. PBNs are networks of sites built to pass link juice. Satellite sites don’t exist for backlinks. Each is a standalone business presence that generates its own leads. Google penalizes PBNs, but properly separated satellite sites are a legitimate local SEO strategy.

How many satellites can I launch?

As many cities as you serve. Most businesses start with 3–5 high-priority cities and expand from there. Each satellite is 10 credits with no monthly per-site fees.

Do satellites get blog posts too?

Yes. Every satellite gets fully rewritten blog posts with local references, landmarks, and neighborhood mentions. The blog structure mirrors the hub, but the content is 100% unique to each city.

What about the images? Are they the same across satellites?

Homepage images are regenerated for each satellite using AI, with prompts tailored to the local area. Service page and blog images use the same high-quality visuals from the hub, which is fine since the content around them is fully different.

How do I edit a satellite after it’s deployed?

Click “Edit” on any deployed satellite to open the built-in editor. You can edit business info, homepage content, about page, service pages, and blog posts directly. Save your changes and click “Rebuild & Deploy”. Updates go live in about 5 minutes.

Can I connect my own domain?

Yes. Click “Domain” on any deployed satellite, add your domain, then configure the CNAME record at your domain registrar. DNS usually propagates in under 30 minutes. Free SSL is included automatically via Cloudflare.

What if I break the JSON while editing?

The editor validates in real-time and shows a red error bar with the exact line number if something is wrong. The “Save” button won’t save invalid JSON. Use the “Format” button to auto-fix indentation issues.

Can I change the URL slugs, service pages, or blog post titles?

Not yet. Changing slugs or renaming pages could break internal links across the site. For now, you can edit the content within each page, but the page structure (URLs, number of pages) stays the same as the parent site.

Can I use the AI Site Agent to modify a satellite?

No. The AI Site Agent is designed for parent sites only. Satellite sites are structurally tied to their parent, so the agent cannot modify them independently. Use the built-in satellite editor to make content and configuration changes.

Can I add new blog posts or service pages to a satellite?

No. Satellites mirror the parent site’s page structure. Adding or removing pages is not supported. If you need a fully customizable site for a specific city, create a new standalone project instead and use the AI Site Agent to modify it freely.

Can I change the colors, fonts, or theme on a satellite?

Satellites inherit the parent site’s design, including colors, fonts, and layout. There is no separate theme editor for satellites. If you need a completely different brand identity, use the Clone & Rebrand feature from your project’s status page instead.

Can I replace or upload images on a satellite?

Not currently. Homepage images are AI-regenerated during creation with local context. Service and blog images are inherited from the parent. There is no image editor or upload feature for satellites at this time.

Can I run Deep Optimize on a satellite?

No. The Deep Optimize feature is only available for parent projects. Satellite content is already generated with local SEO signals built in. If you want to further optimize a specific city’s site, create it as a standalone project instead.

Can I download the source code of a satellite?

You can download the compiled website as a ZIP file, which is ready to host anywhere. Downloading the full Astro source code is only available for parent projects.

Need a completely different brand?

Satellite sites expand your existing brand into new cities. If you need a fully independent site with a new business name, team, story, and credentials, use Clone & Rebrand instead. It creates a standalone site from your existing project with completely rewritten identity and content for just 20-27 credits. Find it on your completed project’s status page.

Ready to Scale?

Each satellite is 10 credits. A fully unique website with its own domain, original content, and AI-generated homepage images, deployed in minutes.

No monthly fees per satellite. No per-city subscription. Build once, it’s yours.

Launch Your First Satellite