Files
our-claude-skills/ourdigital-custom-skills/18-seo-gateway-builder
Andrew Yim eea49f9f8c refactor(skills): Restructure skills to dual-platform architecture
Major refactoring of ourdigital-custom-skills with new numbering system:

## Structure Changes
- Each skill now has code/ (Claude Code) and desktop/ (Claude Desktop) versions
- New progressive numbering: 01-09 General, 10-19 SEO, 20-29 GTM, 30-39 OurDigital, 40-49 Jamie

## Skill Reorganization
- 01-notion-organizer (from 02)
- 10-18: SEO tools split into focused skills (technical, on-page, local, schema, vitals, gsc, gateway)
- 20-21: GTM audit and manager
- 30-32: OurDigital designer, research, presentation
- 40-41: Jamie brand editor and audit

## New Files
- .claude/commands/: Slash command definitions for all skills
- CLAUDE.md: Updated with new skill structure documentation
- REFACTORING_PLAN.md: Migration documentation
- COMPATIBILITY_REPORT.md, SKILLS_COMPARISON.md: Analysis docs

## Removed
- Old skill directories (02-05, 10-14, 20-21 old numbering)
- Consolidated into new structure with _archive/ for reference

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 01:58:24 +09:00
..

Gateway Page Content Builder

A comprehensive Claude Skill for generating SEO-optimized gateway pages for local services, medical practices, and businesses.

🎯 Purpose

This skill provides a systematic framework for creating high-quality gateway pages that:

  • Target location + service keyword combinations
  • Scale content creation while maintaining uniqueness
  • Include proper technical SEO elements
  • Generate structured data and schema markup

📁 Structure

gateway-page-content-builder/
├── SKILL.md                    # Main skill documentation (REQUIRED)
├── README.md                    # This file
├── templates/                   # Page templates
│   ├── gateway-page-medical.md
│   ├── gateway-page-beauty.md
│   └── gateway-page-dental.md
├── scripts/                     # Automation scripts
│   ├── generate_pages.py
│   └── keyword_research.py
├── config/                      # Configuration files
│   ├── locations.json
│   ├── services.json
│   └── brand.json
└── examples/                    # Example outputs
    └── gangnam-laser-hair-removal.md

🚀 Quick Start

1. Basic Usage with Claude

Simply ask Claude to use this skill:

"Use the Gateway Page Content Builder skill to create a page for laser hair removal in Gangnam"

2. Batch Generation with Python

from scripts.generate_pages import GatewayPageGenerator, Brand, Location, Service

# Setup your brand
brand = Brand(
    name_en="Your Clinic",
    name_kr="클리닉명",
    website="www.yourclinic.com",
    # ... other details
)

# Define locations and services
locations = [...]  # Your location list
services = [...]   # Your service list

# Generate pages
generator = GatewayPageGenerator(brand)
generator.generate_batch(services, locations)

3. Using Templates

Templates are in Markdown format with placeholders:

  • [Service] - Service name
  • [Location] - Location name
  • [Brand] - Brand/clinic name
  • Additional custom placeholders

📝 Content Strategy

Keyword Formula

Primary: [Service] + [Location]
Secondary: [Location] + [Service] + "clinic/center"
Long-tail: "best" + [Service] + "in" + [Location]

Content Uniqueness

Each page should have:

  • 30% minimum unique content
  • Local landmarks and transportation
  • Location-specific testimonials
  • Regional statistics or demographics

Page Length Guidelines

  • Minimum: 800 words
  • Optimal: 1,200-1,500 words
  • Maximum: 2,000 words

🎨 Customization

Adding New Templates

  1. Create new template in templates/ directory
  2. Use consistent placeholder naming
  3. Include schema markup section
  4. Add to configuration

Extending Services/Locations

Edit the JSON configuration files:

config/services.json:

{
  "services": [
    {
      "id": "new-service",
      "name_en": "New Service",
      "name_kr": "새로운 서비스",
      "keywords": ["keyword1", "keyword2"]
    }
  ]
}

config/locations.json:

{
  "locations": [
    {
      "id": "new-location",
      "name_en": "New Location",
      "name_kr": "새로운 지역",
      "landmarks": ["Landmark 1", "Landmark 2"]
    }
  ]
}

🔧 Technical Implementation

URL Structure

/[location]/[service]/
Example: /gangnam/laser-hair-removal/

Required Meta Tags

  • Title (60 characters max)
  • Description (155 characters max)
  • Canonical URL
  • Open Graph tags
  • Schema markup

Schema Types

  • MedicalBusiness
  • LocalBusiness
  • Service
  • Review
  • FAQPage

📊 Performance Tracking

Key Metrics

  • Organic traffic by page
  • Keyword rankings
  • Conversion rate
  • Bounce rate
  • Time on page

A/B Testing Elements

  • Headlines
  • CTA buttons
  • Trust signals
  • Content length

🔄 Content Refresh Schedule

  • Weekly: Review top 10% pages
  • Monthly: Update testimonials
  • Quarterly: Refresh statistics
  • Annually: Full content audit

🛠️ Troubleshooting

Common Issues

  1. Duplicate Content Warnings

    • Ensure 30% unique content minimum
    • Use content variation patterns
    • Add local elements
  2. Low Rankings

    • Check keyword density (2-3%)
    • Verify schema markup
    • Add more local signals
  3. Poor Conversion

    • Test CTA placement
    • Add trust signals
    • Improve page speed

📚 Resources

SEO Tools

  • Ahrefs / SEMrush (keyword research)
  • Screaming Frog (technical audit)
  • Google Search Console (performance)
  • Schema.org (structured data)

Content Tools

  • Grammarly (grammar check)
  • Hemingway (readability)
  • Copyscape (plagiarism)

🤝 Contributing

To improve this skill:

  1. Test templates with real data
  2. Share performance metrics
  3. Suggest new features
  4. Report issues

📄 License

This skill is provided as-is for use with Claude Desktop and Claude Projects.

🆘 Support

For questions or assistance:

  • Review SKILL.md for detailed documentation
  • Check examples/ directory for samples
  • Test with the Python script first

Version: 1.0.0
Last Updated: November 2024
Author: OurDigital Dr.D