Skip to content
Growth & marketing
Launch pack

Local SEO

Get found by customers nearby, in local search and on Google Maps.

  • Google Business Profile
  • Reviews
  • LocalBusiness

Install

npx skills add webrenew/skills --skill launch-local-seo
GitHub

1 file · 157 lines · any agent that reads SKILL.md

Use it when

  • The business serves customers in a city or service area
  • Competitors show in the map pack and you do not
  • You want more Google reviews, without breaking the rules

What your agent delivers

  • One business identity, used by the site, the schema and every listing
  • Service pages that match how customers search
  • A plain checklist for the owner's Google Business Profile

Source files

Read every line before you install. Copy or download one file.

SKILL.md

157 lines

---
name: launch-local-seo
description: >
  Get a small business found in local search and the Google map pack. Use this skill when a
  site serves customers in a city or service area (trades, clinics, salons, restaurants, law,
  real estate, home services) or when the user mentions local SEO, "near me" searches, ranking
  on Google Maps, Google Business Profile, map pack, more Google reviews, service-area pages,
  NAP consistency, citations, reviews, or LocalBusiness schema.
---

# Local SEO: Get Found by Customers Nearby

**RULE: One business identity, the same everywhere. Name, address, phone, hours and category
must match on the site, the schema, Google Business Profile and every directory.**

Local ranking depends on three things Google names itself: relevance, distance and
prominence. You cannot change distance. This skill makes relevance clear and builds
prominence with reviews and consistent listings.

## 1. Put the identity in one place in code

Create one source of truth and render the footer, contact page and schema from it. Hand-typed
copies drift, and drift costs rankings.

```ts
// lib/business.ts
export const business = {
  name: "Harbor Plumbing",                 // exactly as on the storefront and GBP, no keywords
  type: "Plumber",                         // most specific schema.org LocalBusiness subtype
  url: "https://harborplumbing.com",      // the canonical origin
  phoneE164: "+18435550142",               // schema telephone and every tel: link
  phoneDisplay: "(843) 555-0142",          // what people read on the page
  email: "hello@harborplumbing.com",
  address: { street: "12 King St", city: "Charleston", region: "SC", postalCode: "29401", country: "US" },
  geo: { latitude: 32.7765, longitude: -79.9311 },
  hours: [{ days: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], opens: "07:00", closes: "18:00" }],
  areaServed: ["Charleston", "Mount Pleasant", "Summerville"],
  sameAs: ["https://www.facebook.com/harborplumbing", "https://www.yelp.com/biz/harbor-plumbing-charleston"],
  googleReviewUrl: "https://search.google.com/local/writereview?placeid=PLACE_ID",
} as const
```

A service-area business with no storefront hides its street address on Google Business
Profile. Then leave `street` out of the site and schema too, and lean on `areaServed`.

## 2. LocalBusiness structured data

Render JSON-LD once, in the root layout or on the home and contact pages.

```tsx
// components/local-business-jsonld.tsx
import { business } from "@/lib/business"

export function LocalBusinessJsonLd() {
  const data = {
    "@context": "https://schema.org",
    "@type": business.type,
    name: business.name,
    url: business.url,
    telephone: business.phoneE164,
All skills
  1. 03

    Landing Page

    Launch packlaunch-landing-page

    One page, one offer, one action, so visitors become calls and leads.

    One page, one offer, one action, so visitors become calls and leads.

  2. 01

    Technical SEO

    seo-technical

    Make each page clear to search engines. Give them a path to every link.

    Make each page clear to search engines. Give them a path to every link.

  3. 04

    Topic Plan

    content-topic-plan

    Know what to write next, with a calendar the owner can keep.

    Know what to write next, with a calendar the owner can keep.

  4. 05

    Content Refresh

    content-refresh

    Know which posts bring leads, and fix the ones that slip.

    Know which posts bring leads, and fix the ones that slip.