Claude Agent Skill · by Jezweb

Seo Local Business

Install Seo Local Business skill for Claude Code from jezweb/claude-skills.

Install
Terminal · npx
$npx skills add https://github.com/coreyhaines31/marketingskills --skill seo-audit
Works with Paperclip

How Seo Local Business fits into a Paperclip company.

Seo Local Business drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.

S
SaaS FactoryPaired

Pre-configured AI company — 18 agents, 18 skills, one-time purchase.

$27$59
Explore pack
Source file
SKILL.md332 lines
Expand
---name: seo-local-businessdescription: "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."--- # 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 Cards2. 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: ```html<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: ```json{  "@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": "info@abcplumbing.com.au",  "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 | ```json{  "@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): ```json{  "@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<?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 ```html<!-- 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: ```json{ "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).