Skip to content
Development
Skill

/seo-local-business

Generate complete SEO setup for local business websites — HTML head tags, JSON-LD LocalBusiness schema, robots.txt, sitemap.xml. Australian-optimised with +61 phone, ABN, suburb patterns. Use whenever the user wants SEO for a local business (tradesman, café, clinic, agency,

From plugin
jezweb-skills
1.1k63 skills57 commands

Claude Code

$ npx -y skills add jezweb/claude-skills --skill seo-local-business --agent claude-code

SKILL.md

seo-local-business.SKILL.md
name: seo-local-business
description: "Generate complete SEO setup for local business websites — HTML head tags, JSON-LD LocalBusiness schema, robots.txt, sitemap.xml. Australian-optimised with +61 phone, ABN, suburb patterns. Use whenever the user wants SEO for a local business (tradesman, café, clinic, agency, retailer), needs JSON-LD structured data, asks for LocalBusiness schema, or wants meta tags / robots.txt / sitemap for a suburb-serving business."

SEO Local Business

Generate a complete SEO package for local business websites. Produces meta tags, structured data, robots.txt, and sitemap.xml.

What You Produce

1. Complete `<head>` section with meta tags, Open Graph, Twitter Cards 2. JSON-LD structured data (LocalBusiness + Service + FAQ schemas) 3. `robots.txt` 4. `sitemap.xml`

Workflow

Step 1: Gather Business Info

Ask for (or extract from existing site):

| Required | Optional | |----------|----------| | Business name | ABN | | Primary service | Opening hours | | Location (city/suburb) | Social media URLs | | Phone number | Price range | | Website URL | Service areas (suburbs) | | Business description | GPS coordinates |

Step 2: Generate Head Tags

Fill placeholders in this template:

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Primary Meta Tags -->
  <title>{{PAGE_TITLE}} | {{BUSINESS_NAME}}</title>
  <meta name="title" content="{{PAGE_TITLE}} | {{BUSINESS_NAME}}">
  <meta name="description" content="{{META_DESCRIPTION}}">

  <!-- Canonical URL -->
  <link rel="canonical" href="{{CANONICAL_URL}}">

  <!-- Open Graph / Facebook -->
  <meta property="og:type" content="website">
  <meta property="og:url" content="{{CANONICAL_URL}}">
  <meta property="og:title" content="{{PAGE_TITLE}} | {{BUSINESS_NAME}}">
  <meta property="og:description" content="{{META_DESCRIPTION}}">
  <meta property="og:image" content="{{OG_IMAGE_URL}}">

  <!-- Twitter -->
  <meta property="twitter:card" content="summary_large_image">
  <meta property="twitter:url" content="{{CANONICAL_URL}}">
  <meta property="twitter:title" content="{{PAGE_TITLE}} | {{BUSINESS_NAME}}">
  <meta property="twitter:description" content="{{META_DESCRIPTION}}">
  <meta property="twitter:image" content="{{OG_IMAGE_URL}}">

  <!-- Geo Tags (Local SEO) -->
  <meta name="geo.region" content="{{GEO_REGION}}">
  <meta name="geo.placename" content="{{CITY}}">
  <meta name="geo.position" content="{{LATITUDE}};{{LONGITUDE}}">
  <meta name="ICBM" content="{{LATITUDE}}, {{LONGITUDE}}">

  <!-- Favicons -->
  <link rel="icon" type="image/svg+xml" href="favicon.svg">
  <link rel="icon" type="image/png" sizes="32x32" href="favicon-32.png">
  <link rel="apple-touch-icon" href="apple-touch-icon.png">

  <!-- Structured Data -->
  <script type="application/ld+json">
    {{JSON_LD_SCHEMA}}
  </script>
</head>

**Title tag patterns** (50-60 chars max):

| Page | Pattern | Example | |------|---------|---------| | Homepage | `Brand - Tagline` | `Newcastle Plumbing - 24/7 Emergency Service` | | Service | `Service in Location \| Brand` | `Hot Water Repairs Newcastle \| ABC Plumbing` | | About | `About Us \| Brand` | `About Us \| ABC Plumbing Newcastle` | | Contact | `Contact \| Brand` | `Contact Us \| ABC Plumbing Newcastle` |

**Meta description patterns** (150-160 chars):

| Page | Pattern | |------|---------| | Homepage | `[USP]. [Service] in [Location]. [CTA]. Call [phone].` | | Service | `Professional [service] in [location]. [Benefit]. [Trust signal]. Get a free quote today.` | | About | `[X] years serving [location]. [Team info]. [Credentials]. Learn about [brand].` | | Contact | `Contact [brand] for [service] in [location]. [Hours]. Call [phone] or request a quote online.` |

Step 3: Generate Structured Data

**LocalBusiness** (homepage — always include):

Use `LocalBusiness` or a more specific subtype:

| Subtype | Use for | |---------|---------| | `Plumber` | Plumbing services | | `Electrician` | Electrical services | | `RoofingContractor` | Roofing | | `HVACBusiness` | Air conditioning/heating | | `AutoRepair` | Mechanics | | `BeautySalon` | Hair/beauty | | `Dentist` | Dental practices | | `LegalService` | Law firms | | `AccountingService` | Accountants | | `RealEstateAgent` | Real estate | | `Restaurant` | Restaurants/cafes | | `BarOrPub` | Pubs/bars | | `Hotel` | Accommodation | | `Store` | Retail shops | | `ProfessionalService` | Generic professional |

LocalBusiness schema properties:

| Property | Required | Notes | |----------|----------|-------| | `@type` | Yes | `LocalBusiness` or subtype from above | | `name` | Yes | Business name as shown to customers | | `image` | Yes | Primary business image or logo | | `description` | Yes | 1-2 sentence business description | | `@id` | Yes | Unique ID, use `{url}/#organization` | | `url` | Yes | Website homepage URL | | `telephone` | Yes | International format: `+61-2-4900-1234` | | `address` | Yes | PostalAddress (see below) | | `email` | Recommended | Primary contact email | | `priceRange` | Recommended | `$` to `$$$$` | | `geo` | Recommended | GeoCoordinates: latitude/longitude | | `openingHoursSpecification` | Recommended | See hours format below | | `areaServed` | Recommended | Cities/suburbs served | | `sameAs` | Recommended | Social media profile URLs | | `taxID` | Optional | ABN for Australian businesses | | `logo` | Optional | Business logo URL | | `foundingDate` | Optional | ISO 8601 date | | `paymentAccepted` | Optional | e.g. "Cash, Credit Card, EFTPOS" | | `currenciesAccepted` | Optional | `AUD` |

PostalAddress:

| Property | Example | |----------|---------| | `streetAddress` | `123 Hunter Street` | | `addressLocality` | `Newcastle` | | `addressRegion` | `NSW` | | `postalCode` | `2300` | | `addressCountry` | `AU` |

Example:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "ABC Plumbing Newcastle",
  "image": "https://www.abcplumbing
Read more
@jezweb
Ships withjezweb-skills

Production workflow skills for Claude Code. Each skill guides Claude through a recipe to produce tangible output — scaffolded projects, generated assets, professional documents, deployed services. Ten plugins of practical, production-oriented skills.

Stars on GitHub

Momentum

stars in total
1.1k
Star history of jezweb/claude-skills on GitHub, a chart by star-history.com

Other skills on jezweb-skills.

cloudflare-api

cloudflare-api

Hit the Cloudflare REST API directly for operations that wrangler and MCP can't handle well. Bulk DNS, custom hostnames, email…

d1-drizzle-schema

d1-drizzle-schema

Generate Drizzle ORM schemas for Cloudflare D1 databases with correct D1-specific patterns. Produces schema files, migration…

d1-migration

d1-migration

Cloudflare D1 migration workflow: generate with Drizzle, inspect SQL for gotchas, apply to local and remote, fix stuck…

db-seed

db-seed

Generate database seed scripts with realistic sample data. Reads Drizzle schemas or SQL migrations, respects foreign key…

hono-api-scaffolder

hono-api-scaffolder

Scaffold Hono API routes for Cloudflare Workers. Produces route files, middleware, typed bindings, Zod validation, error…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about seo-local-business.

Which coding agents can use seo-local-business?
seo-local-business installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.