mcpbeat Sign in

SEO Local Business Skill for Claude

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.

3k tokens
context cost
the whole folder, loaded on every use
4
files
instructions only
0
copies elsewhere
how many repositories repackaged it
953
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/jezweb/claude-skills --skill seo-local-business

The instruction itself

13 sections, as written by the author

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

  • Complete <head> section with meta tags, Open Graph, Twitter Cards
  • JSON-LD structured data (LocalBusiness + Service + FAQ schemas)
  • robots.txt
  • 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.com.au/og-image.jpg",
  "description": "Professional plumbing services in Newcastle and Lake Macquarie.",
  "@id": "https://www.abcplumbing.com.au/#organization",
  "url": "https://www.abcplumbing.com.au",
  "telephone": "+61-2-4900-1234",
  "email": "[email protected]",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Hunter Street",
    "addressLocality": "Newcastle",
    "addressRegion": "NSW",
    "postalCode": "2300",
    "addressCountry": "AU"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": -32.9283,
    "longitude": 151.7817
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "07:00",
      "closes": "17:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday"],
      "opens": "08:00",
      "closes": "12:00"
    }
  ],
  "areaServed": [
    { "@type": "City", "name": "Newcastle" },
    { "@type": "City", "name": "Lake Macquarie" }
  ],
  "sameAs": [
    "https://www.facebook.com/abcplumbing",
    "https://www.instagram.com/abcplumbing"
  ]
}

Service (service pages — add per service):

| Property | Required | Notes |

|----------|----------|-------|

| name | Yes | Service name |

| description | Yes | What the service provides |

| provider | Yes | { "@id": "{url}/#organization" } |

| areaServed | Recommended | City or region |

| serviceType | Recommended | Category of service |

| offers | Optional | Pricing/availability |

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Hot Water System Installation",
  "description": "Professional hot water system installation and replacement in Newcastle.",
  "provider": { "@id": "https://www.abcplumbing.com.au/#organization" },
  "areaServed": { "@type": "City", "name": "Newcastle" },
  "serviceType": "Plumbing",
  "offers": {
    "@type": "Offer",
    "availability": "https://schema.org/InStock",
    "priceRange": "$$"
  }
}

FAQ (pages with FAQ sections):

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does a plumber cost in Newcastle?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Plumber callout fees in Newcastle typically range from $80-150."
      }
    }
  ]
}

Step 4: Generate robots.txt and sitemap.xml

robots.txt:

User-agent: *
Allow: /

Sitemap: {{SITE_URL}}/sitemap.xml

sitemap.xml:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>{{SITE_URL}}/</loc>
    <lastmod>{{DATE}}</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <!-- Add one <url> per page. Priority: 1.0 homepage, 0.8 services, 0.6 others -->
</urlset>

Step 5: Validate

Test structured data at: https://validator.schema.org/

Common validation errors:

  • Missing @context — every JSON-LD block needs it
  • Wrong phone format — must be international (+61-...)
  • Missing @id — needed for cross-referencing between schemas
  • Empty areaServed — include at least one city

Australian-Specific Patterns

Phone Numbers

<!-- Link: international format. Display: local format. -->
<a href="tel:+61249001234">(02) 4900 1234</a>

Schema telephone: "+61-2-4900-1234"

| Prefix | International |

|--------|---------------|

| 02 | +612 |

| 04 | +614 |

| 1300 | Keep as-is |

ABN

Add to LocalBusiness schema when available:

{ "taxID": "12 345 678 901" }

Australian State Codes

| State | Code | Geo Region |

|-------|------|------------|

| New South Wales | NSW | AU-NSW |

| Victoria | VIC | AU-VIC |

| Queensland | QLD | AU-QLD |

| South Australia | SA | AU-SA |

| Western Australia | WA | AU-WA |

| Tasmania | TAS | AU-TAS |

| Northern Territory | NT | AU-NT |

| ACT | ACT | AU-ACT |

Service Areas

Use areaServed with Australian city and suburb names (see LocalBusiness example above).

Other skills for the same job

different authors, same section of the catalogue
Internal Comms
by anthropics
vendor ×13

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

6k tokens
Competitive Ads Extractor
by frostant
×10

Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.

2k tokens
Lead Research Assistant
by frostant
×8

Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.

2k tokens
Developer Growth Analysis
by frostant
×6

Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.

4k tokens
App Store Optimization
by alirezarezvani
×3

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

55k tokens scripts
Deeptools
by christophacham
×3

NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.

21k tokens scripts
Pymatgen
by christophacham
×3

Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.

26k tokens scripts
Enhance Prompt
by google-labs-code
vendor ×2

Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.

3k tokens

How to use it

Copy the folder

Take jezweb/seo-local-business from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.