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.
Generates complete Australian-optimised SEO packages for local businesses, including meta tags, structured data, and site files.
npx claudepluginhub jezweb/claude-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
assets/head-template.htmlassets/robots-template.txtassets/sitemap-template.xmlreferences/schema-properties.mdGenerate a complete SEO package for local business websites. Produces meta tags, structured data, robots.txt, and sitemap.xml.
<head> section with meta tags, Open Graph, Twitter Cardsrobots.txtsitemap.xmlAsk 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 |
Use assets/head-template.html as your base. Fill in all placeholders.
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. |
LocalBusiness (homepage — always include):
{
"@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"
}
],
"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):
{
"@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."
}
}
]
}
Use assets/robots-template.txt and assets/sitemap-template.xml. Populate with all site pages.
Test structured data at: https://validator.schema.org/
<!-- 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 |
Add to LocalBusiness schema when available:
{ "taxID": "12 345 678 901" }
Use Australian city and suburb names:
"areaServed": [
{ "@type": "City", "name": "Newcastle" },
{ "@type": "City", "name": "Maitland" },
{ "@type": "City", "name": "Lake Macquarie" }
]
Include state-specific geo meta tags:
<meta name="geo.region" content="AU-NSW">
<meta name="geo.placename" content="Newcastle">
<meta name="geo.position" content="-32.9283;151.7817">
<meta name="ICBM" content="-32.9283, 151.7817">
See references/schema-properties.md for the full list of LocalBusiness and Service schema properties.
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.