Restructure skill numbering: SEO 11-30, GTM 60-69, reserve 19-28 for future skills
Renumber 12 existing skills to new ranges: - SEO: 11→13, 12→18, 13→16, 14→17, 15→14, 16→15, 17→29, 18→30, 19→12 - GTM: 20→60, 21→61, 22→62 Update cross-references in gateway architect/builder skills, GTM guardian README, CLAUDE.md (skill tables + directory layout), and AGENTS.md (domain routing ranges). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
386
custom-skills/30-seo-gateway-builder/desktop/SKILL.md
Normal file
386
custom-skills/30-seo-gateway-builder/desktop/SKILL.md
Normal file
@@ -0,0 +1,386 @@
|
||||
---
|
||||
name: seo-gateway-builder
|
||||
description: |
|
||||
Gateway page content builder with templates, schema markup, and local SEO optimization.
|
||||
Triggers: build gateway page, create landing page, local service page, location pages.
|
||||
---
|
||||
|
||||
# Gateway Page Content Builder
|
||||
|
||||
A comprehensive skill for building high-quality, SEO-optimized gateway page content for local services, medical practices, and business locations.
|
||||
|
||||
## Core Purpose
|
||||
|
||||
This skill provides a systematic framework for creating gateway pages that:
|
||||
- Target specific location + service keyword combinations
|
||||
- Follow SEO best practices for local search optimization
|
||||
- Maintain content quality and uniqueness at scale
|
||||
- Include structured data and technical SEO elements
|
||||
|
||||
## Content Generation Framework
|
||||
|
||||
### 1. Page Structure Template
|
||||
|
||||
Every gateway page should follow this optimized structure:
|
||||
|
||||
```markdown
|
||||
# [Service Name] in [Location] - [Brand Name]
|
||||
|
||||
## Hero Section
|
||||
- Primary headline with target keywords
|
||||
- Value proposition statement
|
||||
- Quick contact CTA
|
||||
|
||||
## Service Overview
|
||||
- What is [service]?
|
||||
- Why choose our [service] in [location]
|
||||
- Key benefits for [location] residents
|
||||
|
||||
## Local Service Details
|
||||
- Service availability in [location]
|
||||
- Local team/facility information
|
||||
- Location-specific offerings
|
||||
|
||||
## Process & Procedure
|
||||
- Step-by-step service flow
|
||||
- Duration and frequency
|
||||
- What to expect
|
||||
|
||||
## Benefits & Results
|
||||
- Evidence-based outcomes
|
||||
- Patient/customer testimonials
|
||||
- Before/after scenarios
|
||||
|
||||
## Pricing & Insurance
|
||||
- Transparent pricing structure
|
||||
- Insurance coverage details
|
||||
- Payment options
|
||||
|
||||
## FAQ Section
|
||||
- Location-specific questions
|
||||
- Service-specific concerns
|
||||
- Booking and preparation
|
||||
|
||||
## Contact & Booking
|
||||
- Clear CTA sections
|
||||
- Multiple contact methods
|
||||
- Online booking integration
|
||||
```
|
||||
|
||||
### 2. Content Variables System
|
||||
|
||||
Define reusable content variables for efficient scaling:
|
||||
|
||||
```yaml
|
||||
variables:
|
||||
service_types:
|
||||
- name: "laser_hair_removal"
|
||||
korean: "레이저 제모"
|
||||
description: "Advanced laser technology for permanent hair reduction"
|
||||
keywords: ["laser hair removal", "permanent hair removal", "IPL treatment"]
|
||||
|
||||
locations:
|
||||
- name: "gangnam"
|
||||
korean: "강남"
|
||||
full_address: "서울특별시 강남구"
|
||||
landmarks: ["COEX", "Samsung Station", "Gangnam Station"]
|
||||
demographics: "Young professionals, high income"
|
||||
|
||||
brand_info:
|
||||
name: "Your Clinic"
|
||||
korean: "클리닉명"
|
||||
usp: "15+ years of experience with latest technology"
|
||||
```
|
||||
|
||||
### 3. Content Generation Rules
|
||||
|
||||
#### Title Tag Formula
|
||||
```
|
||||
[Service] in [Location] | [Unique Modifier] | [Brand]
|
||||
Examples:
|
||||
- "Laser Hair Removal in Gangnam | Same-Day Appointments | Jamie Clinic"
|
||||
- "강남 레이저 제모 | 당일 예약 가능 | 제이미 클리닉"
|
||||
```
|
||||
|
||||
#### Meta Description Template
|
||||
```
|
||||
Looking for [service] in [location]? [Brand] offers [USP] with [benefit].
|
||||
Book your consultation today. ✓ [Feature 1] ✓ [Feature 2] ✓ [Feature 3]
|
||||
```
|
||||
|
||||
#### H1 Optimization
|
||||
```
|
||||
Primary: [Service] in [Location]
|
||||
Alternative: [Location] [Service] - [Brand Modifier]
|
||||
Korean: [지역] [서비스] 전문 [브랜드]
|
||||
```
|
||||
|
||||
### 4. Local SEO Elements
|
||||
|
||||
#### Schema Markup Requirements
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "MedicalBusiness",
|
||||
"name": "Clinic Name",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "",
|
||||
"addressLocality": "",
|
||||
"addressRegion": "",
|
||||
"postalCode": ""
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": "",
|
||||
"longitude": ""
|
||||
},
|
||||
"areaServed": {
|
||||
"@type": "City",
|
||||
"name": "Location Name"
|
||||
},
|
||||
"medicalSpecialty": "Service Type",
|
||||
"availableService": {
|
||||
"@type": "MedicalProcedure",
|
||||
"name": "Service Name",
|
||||
"description": "Service Description"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 5. Content Uniqueness Strategy
|
||||
|
||||
#### Localization Techniques
|
||||
1. **Local landmarks**: "Just 5 minutes from [Landmark]"
|
||||
2. **Transportation**: "Accessible via [Subway Line] at [Station]"
|
||||
3. **Local statistics**: "Serving [X] residents in [Area] since [Year]"
|
||||
4. **Community involvement**: "Proud partner of [Local Organization]"
|
||||
5. **Regional preferences**: "Tailored to [Location] residents' needs"
|
||||
|
||||
#### Content Variation Patterns
|
||||
```python
|
||||
variations = {
|
||||
"intro_patterns": [
|
||||
"Discover professional [service] in [location]",
|
||||
"[Location] residents trust us for [service]",
|
||||
"Your local [service] experts in [location]",
|
||||
"Premium [service] now available in [location]"
|
||||
],
|
||||
"cta_patterns": [
|
||||
"Book your [location] appointment today",
|
||||
"Schedule a consultation at our [location] clinic",
|
||||
"Visit us in [location] for [service]",
|
||||
"Get started with [service] in [location]"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 6. Content Quality Checklist
|
||||
|
||||
Before publishing any gateway page, verify:
|
||||
|
||||
- [ ] **Keyword optimization**: Target keyword appears in title, H1, first 100 words
|
||||
- [ ] **Content length**: Minimum 800 words of unique content
|
||||
- [ ] **Local signals**: At least 5 location mentions naturally integrated
|
||||
- [ ] **Structured data**: Schema markup properly implemented
|
||||
- [ ] **Internal linking**: Links to main service page and location page
|
||||
- [ ] **Images**: Alt text includes location + service keywords
|
||||
- [ ] **Mobile optimization**: Content readable on mobile devices
|
||||
- [ ] **Load speed**: Page loads under 3 seconds
|
||||
- [ ] **CTAs**: Clear calls-to-action above and below fold
|
||||
- [ ] **Trust signals**: Reviews, certifications, testimonials included
|
||||
|
||||
### 7. Scaling Framework
|
||||
|
||||
#### Batch Generation Process
|
||||
1. Create master template with variable placeholders
|
||||
2. Define location and service matrices
|
||||
3. Generate unique content blocks for each combination
|
||||
4. Review and customize top 20% traffic potential pages
|
||||
5. Implement progressive enhancement based on performance
|
||||
|
||||
#### Priority Matrix
|
||||
```
|
||||
High Priority (Manual Optimization):
|
||||
- High search volume + High commercial intent
|
||||
- Major city centers + Premium services
|
||||
- Competitive keywords requiring unique angle
|
||||
|
||||
Medium Priority (Template + Customization):
|
||||
- Moderate search volume + Standard services
|
||||
- Secondary locations + Common procedures
|
||||
|
||||
Low Priority (Automated Generation):
|
||||
- Long-tail keywords + Suburban areas
|
||||
- Informational intent + Low competition
|
||||
```
|
||||
|
||||
### 8. Performance Tracking
|
||||
|
||||
#### KPIs to Monitor
|
||||
```yaml
|
||||
metrics:
|
||||
organic_traffic:
|
||||
- Pageviews from organic search
|
||||
- Unique visitors by location
|
||||
- Average session duration
|
||||
|
||||
conversions:
|
||||
- Form submissions by page
|
||||
- Phone calls tracked
|
||||
- Online bookings completed
|
||||
|
||||
engagement:
|
||||
- Bounce rate below 40%
|
||||
- Pages per session above 2.0
|
||||
- Scroll depth above 75%
|
||||
|
||||
rankings:
|
||||
- Position tracking for target keywords
|
||||
- Local pack appearances
|
||||
- Featured snippet captures
|
||||
```
|
||||
|
||||
## Implementation Instructions
|
||||
|
||||
### Step 1: Keyword Research
|
||||
```python
|
||||
# Generate keyword combinations
|
||||
locations = ["gangnam", "sinsa", "apgujeong"]
|
||||
services = ["laser_hair_removal", "botox", "filler"]
|
||||
|
||||
keywords = []
|
||||
for location in locations:
|
||||
for service in services:
|
||||
keywords.append({
|
||||
"primary": f"{service} {location}",
|
||||
"secondary": f"{location} {service} clinic",
|
||||
"long_tail": f"best {service} clinic in {location}"
|
||||
})
|
||||
```
|
||||
|
||||
### Step 2: Content Creation
|
||||
1. Use the template structure above
|
||||
2. Fill in variables for location and service
|
||||
3. Add unique local content (minimum 30% unique per page)
|
||||
4. Include relevant images with local landmarks
|
||||
5. Add schema markup and meta tags
|
||||
|
||||
### Step 3: Technical Implementation
|
||||
1. Create URL structure: `/location/service/`
|
||||
2. Implement breadcrumbs with proper schema
|
||||
3. Add internal linking to related pages
|
||||
4. Set up canonical tags to avoid duplication
|
||||
5. Create XML sitemap for gateway pages
|
||||
|
||||
### Step 4: Quality Assurance
|
||||
- Run content through plagiarism checker
|
||||
- Verify all technical SEO elements
|
||||
- Test page speed and mobile responsiveness
|
||||
- Review content for local relevance
|
||||
- Check all CTAs and contact information
|
||||
|
||||
## Advanced Techniques
|
||||
|
||||
### Dynamic Content Insertion
|
||||
```javascript
|
||||
// Example of dynamic content based on user location
|
||||
const userLocation = getUserLocation();
|
||||
const nearestClinic = findNearestClinic(userLocation);
|
||||
|
||||
// Update content dynamically
|
||||
document.querySelector('.hero-location').textContent =
|
||||
`Serving ${userLocation.district} and surrounding areas`;
|
||||
|
||||
document.querySelector('.distance-info').textContent =
|
||||
`Only ${nearestClinic.distance} from your location`;
|
||||
```
|
||||
|
||||
### A/B Testing Framework
|
||||
```yaml
|
||||
test_variations:
|
||||
headlines:
|
||||
- control: "[Service] in [Location]"
|
||||
- variant_a: "#1 [Service] Provider in [Location]"
|
||||
- variant_b: "[Location]'s Trusted [Service] Clinic"
|
||||
|
||||
cta_buttons:
|
||||
- control: "Book Now"
|
||||
- variant_a: "Get Free Consultation"
|
||||
- variant_b: "Check Availability"
|
||||
```
|
||||
|
||||
### Content Refresh Strategy
|
||||
- Monthly: Update testimonials and reviews
|
||||
- Quarterly: Refresh statistics and data points
|
||||
- Semi-annually: Add new FAQs based on search queries
|
||||
- Annually: Complete content audit and refresh
|
||||
|
||||
## Prompts for Content Generation
|
||||
|
||||
### Initial Content Brief
|
||||
```
|
||||
Create gateway page content for [SERVICE] in [LOCATION]:
|
||||
- Target keyword: [PRIMARY KEYWORD]
|
||||
- Secondary keywords: [LIST]
|
||||
- Local landmarks: [LIST]
|
||||
- Unique selling points: [LIST]
|
||||
- Competitor differentiation: [POINTS]
|
||||
```
|
||||
|
||||
### Content Expansion
|
||||
```
|
||||
Expand the following gateway page section:
|
||||
Current content: [PASTE]
|
||||
Add: Local statistics, transportation info, 2 testimonials
|
||||
Maintain: Professional tone, keyword density 2-3%
|
||||
Length: 200-300 words
|
||||
```
|
||||
|
||||
### FAQ Generation
|
||||
```
|
||||
Generate 8 FAQs for [SERVICE] in [LOCATION]:
|
||||
- 3 service-specific questions
|
||||
- 2 location/accessibility questions
|
||||
- 2 pricing/insurance questions
|
||||
- 1 preparation/aftercare question
|
||||
Include question schema markup format
|
||||
```
|
||||
|
||||
## Resources and Tools
|
||||
|
||||
### Recommended Tools
|
||||
- **Keyword Research**: Ahrefs, SEMrush, Google Keyword Planner
|
||||
- **Content Optimization**: Surfer SEO, Clearscope, MarketMuse
|
||||
- **Schema Generation**: Schema.org, Google's Structured Data Tool
|
||||
- **Performance Tracking**: Google Analytics, Search Console
|
||||
- **A/B Testing**: Google Optimize, Optimizely
|
||||
|
||||
### Templates Directory
|
||||
- `templates/gateway-page-medical.md`
|
||||
- `templates/gateway-page-beauty.md`
|
||||
- `templates/gateway-page-dental.md`
|
||||
- `templates/schema-medical-business.json`
|
||||
- `templates/meta-tags-local.html`
|
||||
|
||||
## Version History
|
||||
|
||||
### v1.0.0 (Current)
|
||||
- Initial framework for gateway page content generation
|
||||
- Medical and beauty service focus
|
||||
- Korean market optimization
|
||||
- Local SEO best practices
|
||||
- Content scaling methodology
|
||||
|
||||
---
|
||||
|
||||
*This skill is optimized for Korean medical and beauty service markets but can be adapted for any local service business requiring location-based gateway pages.*
|
||||
|
||||
## Notion Output (Required)
|
||||
|
||||
All audit reports MUST be saved to OurDigital SEO Audit Log:
|
||||
- **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef`
|
||||
- **Properties**: Issue (title), Site (url), Category, Priority, Found Date, Audit ID
|
||||
- **Language**: Korean with English technical terms
|
||||
- **Audit ID Format**: [TYPE]-YYYYMMDD-NNN
|
||||
|
||||
Reference in New Issue
Block a user