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>
This commit is contained in:
235
ourdigital-custom-skills/17-seo-gateway-architect/README.md
Normal file
235
ourdigital-custom-skills/17-seo-gateway-architect/README.md
Normal file
@@ -0,0 +1,235 @@
|
||||
# SEO Gateway Page Strategist Skill
|
||||
|
||||
## Overview
|
||||
A comprehensive Claude Skill for creating SEO-focused gateway page strategies optimized for Korean medical and service websites, with specific optimization for both Naver and Google.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download and extract the skill package
|
||||
2. In Claude Desktop, go to Settings > Skills
|
||||
3. Click "Add Skill" and select the folder
|
||||
4. The skill will be available in your conversations
|
||||
|
||||
## File Structure
|
||||
```
|
||||
seo-gateway-strategist/
|
||||
├── SKILL.md # Main skill definition
|
||||
├── README.md # This file
|
||||
├── scripts/
|
||||
│ ├── keyword_analyzer.py # Keyword research automation
|
||||
│ └── requirements.txt # Python dependencies
|
||||
├── templates/
|
||||
│ ├── keyword-research-template.md
|
||||
│ ├── content-architecture-template.md
|
||||
│ └── seo-checklist-template.md
|
||||
└── examples/
|
||||
└── eye-surgery-strategy-example.md
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Basic Usage
|
||||
Simply ask Claude:
|
||||
```
|
||||
"Use the SEO Gateway Page Strategist skill to create a strategy for [your service]"
|
||||
```
|
||||
|
||||
### Example Prompts
|
||||
```
|
||||
"Create an SEO gateway page strategy for 눈 성형"
|
||||
|
||||
"Use SEO Gateway Page Strategist skill for laser hair removal targeting Gangnam area"
|
||||
|
||||
"Apply the gateway strategist skill for 동안 성형 with competitor analysis"
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
### 1. Keyword Research & Analysis
|
||||
- Primary keyword identification
|
||||
- 10+ LSI keyword suggestions
|
||||
- Long-tail keyword generation
|
||||
- Question keywords for FAQs
|
||||
- User intent distribution analysis
|
||||
|
||||
### 2. Content Architecture Planning
|
||||
- Complete H1-H3 hierarchy
|
||||
- Section-by-section word counts
|
||||
- Keyword placement strategy
|
||||
- Internal linking map
|
||||
- Content depth recommendations
|
||||
|
||||
### 3. Technical SEO Specifications
|
||||
- Meta tag templates
|
||||
- Schema markup code
|
||||
- Performance requirements
|
||||
- Mobile optimization guidelines
|
||||
- Core Web Vitals targets
|
||||
|
||||
### 4. Performance Tracking
|
||||
- 30/60/90-day KPI targets
|
||||
- Measurement methodologies
|
||||
- Competitive benchmarking
|
||||
- ROI tracking framework
|
||||
|
||||
## Python Scripts Usage
|
||||
|
||||
### keyword_analyzer.py
|
||||
Automated keyword research and analysis tool.
|
||||
|
||||
#### Installation
|
||||
```bash
|
||||
cd scripts
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
#### Usage
|
||||
```bash
|
||||
python keyword_analyzer.py "눈 성형"
|
||||
```
|
||||
|
||||
#### Output
|
||||
- Keyword analysis report (console)
|
||||
- JSON export file with all data
|
||||
- Strategic recommendations
|
||||
|
||||
## Templates
|
||||
|
||||
### keyword-research-template.md
|
||||
Comprehensive worksheet for keyword planning:
|
||||
- Primary keyword metrics
|
||||
- LSI keyword matrix
|
||||
- Intent distribution
|
||||
- Competitor gaps
|
||||
- Seasonal trends
|
||||
|
||||
### content-architecture-template.md
|
||||
Page structure blueprint:
|
||||
- Complete heading hierarchy
|
||||
- Content blocks with word counts
|
||||
- Keyword density mapping
|
||||
- Schema markup templates
|
||||
|
||||
### seo-checklist-template.md
|
||||
Technical implementation checklist:
|
||||
- Meta tags optimization
|
||||
- Performance requirements
|
||||
- Mobile optimization
|
||||
- Naver-specific elements
|
||||
- Tracking setup
|
||||
|
||||
## Best Practices
|
||||
|
||||
### For Medical Services
|
||||
1. Always verify medical claims compliance
|
||||
2. Include trust signals prominently
|
||||
3. Focus on E-A-T (Expertise, Authority, Trust)
|
||||
4. Use medical schema markup
|
||||
5. Include comprehensive FAQs
|
||||
|
||||
### For Local SEO
|
||||
1. Include location modifiers in keywords
|
||||
2. Optimize for "near me" searches
|
||||
3. Add local business schema
|
||||
4. Create location-specific content
|
||||
5. Build local citations
|
||||
|
||||
### For Naver Optimization
|
||||
1. Keep titles under 30 Korean characters
|
||||
2. Optimize image-to-text ratio (40:60)
|
||||
3. Minimize outbound links
|
||||
4. Focus on brand searches
|
||||
5. Integrate Naver Blog content
|
||||
|
||||
## Customization
|
||||
|
||||
### Industry Adaptation
|
||||
Replace medical-specific terms with your industry:
|
||||
- Medical → Your Industry
|
||||
- 시술 → Service/Product
|
||||
- 전문의 → Specialist/Expert
|
||||
- 클리닉 → Business Name
|
||||
|
||||
### Language Settings
|
||||
The skill supports:
|
||||
- Korean (primary)
|
||||
- English
|
||||
- Bilingual optimization
|
||||
|
||||
### Market Specifics
|
||||
Adjust for your market:
|
||||
- Change location references
|
||||
- Update competitor examples
|
||||
- Modify pricing strategies
|
||||
- Adapt cultural considerations
|
||||
|
||||
## Integration Points
|
||||
|
||||
### Analytics Tools
|
||||
- Google Analytics 4
|
||||
- Google Search Console
|
||||
- Naver Analytics
|
||||
- Naver Webmaster Tools
|
||||
|
||||
### CMS Platforms
|
||||
- WordPress
|
||||
- Ghost
|
||||
- Strapi
|
||||
- Custom CMS
|
||||
|
||||
### Marketing Tools
|
||||
- SEMrush
|
||||
- Ahrefs
|
||||
- Screaming Frog
|
||||
- PageSpeed Insights
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
**Q: The skill isn't appearing in Claude**
|
||||
A: Ensure the SKILL.md file is in the root folder and restart Claude Desktop
|
||||
|
||||
**Q: Python script not working**
|
||||
A: Check Python 3.7+ is installed and dependencies are met
|
||||
|
||||
**Q: Keywords seem generic**
|
||||
A: Provide more specific context about your market and competitors
|
||||
|
||||
## Updates
|
||||
|
||||
### Version History
|
||||
- v1.0.0 (2024-12-28): Initial release
|
||||
- Complete keyword research system
|
||||
- Content architecture planning
|
||||
- Technical SEO checklist
|
||||
- Korean market optimization
|
||||
|
||||
### Planned Features
|
||||
- [ ] AI-powered competitor analysis
|
||||
- [ ] Automated content generation
|
||||
- [ ] Real-time SERP tracking
|
||||
- [ ] Multi-language support
|
||||
- [ ] API integrations
|
||||
|
||||
## Support
|
||||
|
||||
### Documentation
|
||||
- Full examples in `/examples/` folder
|
||||
- Templates in `/templates/` folder
|
||||
- Skill documentation in `SKILL.md`
|
||||
|
||||
### Feedback
|
||||
Please provide feedback to improve this skill:
|
||||
- What features would you like added?
|
||||
- What industries need specific templates?
|
||||
- What integrations would be helpful?
|
||||
|
||||
## License
|
||||
This skill is provided as-is for use with Claude Desktop. Feel free to modify and adapt for your specific needs.
|
||||
|
||||
---
|
||||
|
||||
**Created by**: OurDigital SEO Team
|
||||
**Last Updated**: December 28, 2024
|
||||
**Version**: 1.0.0
|
||||
@@ -0,0 +1,65 @@
|
||||
# CLAUDE.md
|
||||
|
||||
## Overview
|
||||
|
||||
SEO gateway page strategist for Korean medical/service websites. Creates keyword strategies, content architecture, and technical SEO plans.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
pip install -r scripts/requirements.txt
|
||||
|
||||
# Keyword analysis
|
||||
python scripts/keyword_analyzer.py --topic "눈 성형" --market "강남"
|
||||
```
|
||||
|
||||
## Scripts
|
||||
|
||||
| Script | Purpose |
|
||||
|--------|---------|
|
||||
| `keyword_analyzer.py` | Analyze keywords, search volume, competitor gaps |
|
||||
|
||||
## Keyword Analyzer
|
||||
|
||||
```bash
|
||||
# Basic analysis
|
||||
python scripts/keyword_analyzer.py --topic "눈 성형"
|
||||
|
||||
# With location targeting
|
||||
python scripts/keyword_analyzer.py --topic "눈 성형" --market "강남" --output strategy.json
|
||||
|
||||
# Competitor analysis
|
||||
python scripts/keyword_analyzer.py --topic "눈 성형" --competitors url1,url2
|
||||
```
|
||||
|
||||
## Output
|
||||
|
||||
Generates strategic document with:
|
||||
- Primary keyword + monthly search volume
|
||||
- LSI keywords (7-10)
|
||||
- User intent distribution
|
||||
- Competitor gap analysis
|
||||
- Content architecture (H1-H3 structure)
|
||||
- Technical SEO checklist
|
||||
|
||||
## Templates
|
||||
|
||||
See `templates/` for:
|
||||
- `keyword-research-template.md`
|
||||
- `content-architecture-template.md`
|
||||
- `seo-checklist-template.md`
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Run keyword analyzer for target topic
|
||||
2. Review search volume and intent data
|
||||
3. Use output to plan content architecture
|
||||
4. Hand off to `18-seo-gateway-builder` for content generation
|
||||
|
||||
## Configuration
|
||||
|
||||
```bash
|
||||
# Optional: API keys for enhanced data
|
||||
GOOGLE_API_KEY=xxx
|
||||
NAVER_API_KEY=xxx
|
||||
```
|
||||
@@ -0,0 +1,334 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Keyword Analyzer for SEO Gateway Pages
|
||||
Analyzes keywords and generates SEO strategy recommendations
|
||||
"""
|
||||
|
||||
import json
|
||||
from typing import Dict, List, Tuple
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
|
||||
@dataclass
|
||||
class KeywordData:
|
||||
"""Data structure for keyword information"""
|
||||
keyword: str
|
||||
search_volume: int
|
||||
difficulty: float
|
||||
intent: str
|
||||
cpc: float = 0.0
|
||||
trend: str = "stable"
|
||||
|
||||
class KeywordAnalyzer:
|
||||
"""Analyzes keywords for SEO gateway pages"""
|
||||
|
||||
def __init__(self, primary_keyword: str):
|
||||
self.primary_keyword = primary_keyword
|
||||
self.results = {
|
||||
"primary": None,
|
||||
"lsi": [],
|
||||
"long_tail": [],
|
||||
"questions": [],
|
||||
"intent_distribution": {},
|
||||
"recommendations": []
|
||||
}
|
||||
|
||||
def analyze_primary_keyword(self) -> KeywordData:
|
||||
"""
|
||||
Analyzes the primary keyword
|
||||
In production, this would call actual keyword research APIs
|
||||
"""
|
||||
# Simulated data - replace with actual API calls
|
||||
keyword_data = {
|
||||
"눈 성형": {"volume": 12000, "difficulty": 65, "intent": "informational", "cpc": 2500},
|
||||
"이마 성형": {"volume": 5500, "difficulty": 55, "intent": "informational", "cpc": 3000},
|
||||
"동안 성형": {"volume": 8000, "difficulty": 70, "intent": "comparative", "cpc": 2800},
|
||||
}
|
||||
|
||||
data = keyword_data.get(self.primary_keyword, {
|
||||
"volume": 1000,
|
||||
"difficulty": 50,
|
||||
"intent": "informational",
|
||||
"cpc": 1000
|
||||
})
|
||||
|
||||
self.results["primary"] = KeywordData(
|
||||
keyword=self.primary_keyword,
|
||||
search_volume=data["volume"],
|
||||
difficulty=data["difficulty"],
|
||||
intent=data["intent"],
|
||||
cpc=data["cpc"]
|
||||
)
|
||||
|
||||
return self.results["primary"]
|
||||
|
||||
def generate_lsi_keywords(self) -> List[KeywordData]:
|
||||
"""Generates LSI (Latent Semantic Indexing) keywords"""
|
||||
|
||||
lsi_patterns = {
|
||||
"눈 성형": [
|
||||
("쌍꺼풀 수술", 8000, "transactional"),
|
||||
("눈매교정", 5500, "informational"),
|
||||
("앞트임", 4000, "informational"),
|
||||
("뒤트임", 3500, "informational"),
|
||||
("눈 성형 비용", 2000, "comparative"),
|
||||
("눈 성형 부작용", 1500, "informational"),
|
||||
("눈 성형 회복기간", 1800, "informational"),
|
||||
("눈 성형 전후", 3000, "comparative"),
|
||||
("남자 눈 성형", 2500, "informational"),
|
||||
("눈 성형 잘하는곳", 2200, "comparative")
|
||||
],
|
||||
"이마 성형": [
|
||||
("이마거상술", 3000, "informational"),
|
||||
("이마축소술", 2500, "informational"),
|
||||
("헤어라인교정", 4000, "transactional"),
|
||||
("이마 성형 비용", 1200, "comparative"),
|
||||
("이마 보톡스", 6000, "transactional"),
|
||||
("M자 탈모 수술", 5000, "informational"),
|
||||
("이마 필러", 4500, "transactional"),
|
||||
("이마 성형 부작용", 800, "informational"),
|
||||
("이마 리프팅", 3500, "comparative"),
|
||||
("이마 주름 제거", 2800, "transactional")
|
||||
],
|
||||
"동안 성형": [
|
||||
("안면 리프팅", 7000, "transactional"),
|
||||
("실리프팅", 9000, "transactional"),
|
||||
("보톡스 시술", 15000, "transactional"),
|
||||
("필러 시술", 12000, "transactional"),
|
||||
("동안 성형 비용", 2500, "comparative"),
|
||||
("울쎄라", 8000, "comparative"),
|
||||
("써마지", 6500, "comparative"),
|
||||
("동안 시술 종류", 1800, "informational"),
|
||||
("주름 제거 시술", 4000, "transactional"),
|
||||
("동안 성형 추천", 2200, "comparative")
|
||||
]
|
||||
}
|
||||
|
||||
lsi_list = lsi_patterns.get(self.primary_keyword, [
|
||||
(f"{self.primary_keyword} 비용", 1000, "comparative"),
|
||||
(f"{self.primary_keyword} 부작용", 800, "informational"),
|
||||
(f"{self.primary_keyword} 후기", 1200, "comparative"),
|
||||
])
|
||||
|
||||
for keyword, volume, intent in lsi_list:
|
||||
self.results["lsi"].append(KeywordData(
|
||||
keyword=keyword,
|
||||
search_volume=volume,
|
||||
difficulty=45 + (volume/1000), # Simple difficulty calculation
|
||||
intent=intent
|
||||
))
|
||||
|
||||
return self.results["lsi"]
|
||||
|
||||
def generate_long_tail_keywords(self) -> List[str]:
|
||||
"""Generates long-tail keyword variations"""
|
||||
|
||||
location_modifiers = ["강남", "신사", "청담", "압구정", "서울"]
|
||||
action_modifiers = ["잘하는곳", "추천", "유명한", "전문", "비용"]
|
||||
|
||||
long_tails = []
|
||||
for location in location_modifiers:
|
||||
long_tails.append(f"{location} {self.primary_keyword}")
|
||||
for action in action_modifiers[:2]: # Limit combinations
|
||||
long_tails.append(f"{location} {self.primary_keyword} {action}")
|
||||
|
||||
self.results["long_tail"] = long_tails
|
||||
return long_tails
|
||||
|
||||
def generate_question_keywords(self) -> List[str]:
|
||||
"""Generates question-based keywords for featured snippets"""
|
||||
|
||||
question_templates = [
|
||||
f"{self.primary_keyword} 비용은 얼마인가요?",
|
||||
f"{self.primary_keyword} 회복기간은 얼마나 걸리나요?",
|
||||
f"{self.primary_keyword} 부작용이 있나요?",
|
||||
f"{self.primary_keyword} 통증이 심한가요?",
|
||||
f"{self.primary_keyword} 효과는 얼마나 지속되나요?",
|
||||
f"{self.primary_keyword} 나이 제한이 있나요?",
|
||||
f"{self.primary_keyword} 후 주의사항은 무엇인가요?"
|
||||
]
|
||||
|
||||
self.results["questions"] = question_templates
|
||||
return question_templates
|
||||
|
||||
def calculate_intent_distribution(self) -> Dict[str, float]:
|
||||
"""Calculates user intent distribution across keywords"""
|
||||
|
||||
intent_counts = {
|
||||
"informational": 0,
|
||||
"comparative": 0,
|
||||
"transactional": 0,
|
||||
"navigational": 0
|
||||
}
|
||||
|
||||
# Count primary keyword intent
|
||||
if self.results["primary"]:
|
||||
intent_counts[self.results["primary"].intent] += self.results["primary"].search_volume
|
||||
|
||||
# Count LSI keyword intents
|
||||
for kw in self.results["lsi"]:
|
||||
intent_counts[kw.intent] += kw.search_volume
|
||||
|
||||
# Calculate percentages
|
||||
total_volume = sum(intent_counts.values())
|
||||
if total_volume > 0:
|
||||
self.results["intent_distribution"] = {
|
||||
intent: round((count/total_volume) * 100, 1)
|
||||
for intent, count in intent_counts.items()
|
||||
if count > 0
|
||||
}
|
||||
|
||||
return self.results["intent_distribution"]
|
||||
|
||||
def generate_recommendations(self) -> List[str]:
|
||||
"""Generates SEO recommendations based on analysis"""
|
||||
|
||||
recommendations = []
|
||||
|
||||
# Based on search volume
|
||||
if self.results["primary"] and self.results["primary"].search_volume > 10000:
|
||||
recommendations.append("High search volume detected - prioritize this page for development")
|
||||
|
||||
# Based on intent distribution
|
||||
intent_dist = self.results["intent_distribution"]
|
||||
if intent_dist.get("informational", 0) > 50:
|
||||
recommendations.append("Focus on educational content and comprehensive guides")
|
||||
if intent_dist.get("comparative", 0) > 30:
|
||||
recommendations.append("Include comparison tables and competitive differentiators")
|
||||
if intent_dist.get("transactional", 0) > 20:
|
||||
recommendations.append("Optimize conversion elements and CTAs above the fold")
|
||||
|
||||
# Based on competition
|
||||
if self.results["primary"] and self.results["primary"].difficulty > 60:
|
||||
recommendations.append("High competition - invest in quality content and backlinks")
|
||||
recommendations.append("Target long-tail keywords for quicker wins")
|
||||
|
||||
# Question keywords
|
||||
if len(self.results["questions"]) > 5:
|
||||
recommendations.append("Implement FAQ schema markup for featured snippets")
|
||||
|
||||
self.results["recommendations"] = recommendations
|
||||
return recommendations
|
||||
|
||||
def export_analysis(self, filename: str = None) -> str:
|
||||
"""Exports the analysis results to JSON"""
|
||||
|
||||
if not filename:
|
||||
filename = f"keyword_analysis_{self.primary_keyword.replace(' ', '_')}_{datetime.now().strftime('%Y%m%d')}.json"
|
||||
|
||||
export_data = {
|
||||
"analysis_date": datetime.now().isoformat(),
|
||||
"primary_keyword": self.primary_keyword,
|
||||
"primary_data": {
|
||||
"keyword": self.results["primary"].keyword,
|
||||
"search_volume": self.results["primary"].search_volume,
|
||||
"difficulty": self.results["primary"].difficulty,
|
||||
"intent": self.results["primary"].intent
|
||||
} if self.results["primary"] else None,
|
||||
"lsi_keywords": [
|
||||
{
|
||||
"keyword": kw.keyword,
|
||||
"volume": kw.search_volume,
|
||||
"intent": kw.intent
|
||||
} for kw in self.results["lsi"]
|
||||
],
|
||||
"long_tail_keywords": self.results["long_tail"],
|
||||
"question_keywords": self.results["questions"],
|
||||
"intent_distribution": self.results["intent_distribution"],
|
||||
"recommendations": self.results["recommendations"]
|
||||
}
|
||||
|
||||
with open(filename, 'w', encoding='utf-8') as f:
|
||||
json.dump(export_data, f, ensure_ascii=False, indent=2)
|
||||
|
||||
return filename
|
||||
|
||||
def generate_report(self) -> str:
|
||||
"""Generates a formatted text report"""
|
||||
|
||||
report = f"""
|
||||
# Keyword Analysis Report
|
||||
Generated: {datetime.now().strftime('%Y-%m-%d %H:%M')}
|
||||
|
||||
## Primary Keyword: {self.primary_keyword}
|
||||
- Search Volume: {self.results['primary'].search_volume:,}
|
||||
- Difficulty: {self.results['primary'].difficulty}/100
|
||||
- Primary Intent: {self.results['primary'].intent.capitalize()}
|
||||
|
||||
## LSI Keywords (Top 10)
|
||||
"""
|
||||
for i, kw in enumerate(self.results['lsi'][:10], 1):
|
||||
report += f"{i}. {kw.keyword} - Volume: {kw.search_volume:,} ({kw.intent})\n"
|
||||
|
||||
report += f"\n## User Intent Distribution\n"
|
||||
for intent, percentage in self.results['intent_distribution'].items():
|
||||
report += f"- {intent.capitalize()}: {percentage}%\n"
|
||||
|
||||
report += f"\n## Long-tail Opportunities\n"
|
||||
for keyword in self.results['long_tail'][:5]:
|
||||
report += f"- {keyword}\n"
|
||||
|
||||
report += f"\n## Question Keywords (FAQ Optimization)\n"
|
||||
for question in self.results['questions'][:5]:
|
||||
report += f"- {question}\n"
|
||||
|
||||
report += f"\n## Strategic Recommendations\n"
|
||||
for i, rec in enumerate(self.results['recommendations'], 1):
|
||||
report += f"{i}. {rec}\n"
|
||||
|
||||
return report
|
||||
|
||||
|
||||
def main():
|
||||
"""Main execution function"""
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Analyze keywords for SEO gateway page strategy',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
epilog='''
|
||||
Examples:
|
||||
python keyword_analyzer.py --topic "눈 성형"
|
||||
python keyword_analyzer.py --topic "이마 성형" --market "강남"
|
||||
python keyword_analyzer.py --topic "동안 성형" --output strategy.json
|
||||
'''
|
||||
)
|
||||
parser.add_argument('--topic', '-t', required=True,
|
||||
help='Primary keyword to analyze (e.g., "눈 성형")')
|
||||
parser.add_argument('--market', '-m', default=None,
|
||||
help='Target market/location (e.g., "강남")')
|
||||
parser.add_argument('--output', '-o', default=None,
|
||||
help='Output JSON file path')
|
||||
parser.add_argument('--competitors', '-c', default=None,
|
||||
help='Comma-separated competitor URLs for analysis')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
keyword = args.topic
|
||||
if args.market:
|
||||
keyword = f"{args.market} {args.topic}"
|
||||
|
||||
print(f"Analyzing keyword: {keyword}")
|
||||
print("-" * 50)
|
||||
|
||||
analyzer = KeywordAnalyzer(keyword)
|
||||
|
||||
# Run analysis
|
||||
analyzer.analyze_primary_keyword()
|
||||
analyzer.generate_lsi_keywords()
|
||||
analyzer.generate_long_tail_keywords()
|
||||
analyzer.generate_question_keywords()
|
||||
analyzer.calculate_intent_distribution()
|
||||
analyzer.generate_recommendations()
|
||||
|
||||
# Generate and print report
|
||||
report = analyzer.generate_report()
|
||||
print(report)
|
||||
|
||||
# Export to JSON
|
||||
filename = analyzer.export_analysis(args.output)
|
||||
print(f"\nAnalysis exported to: {filename}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,25 @@
|
||||
# Python dependencies for SEO Gateway Page Strategist scripts
|
||||
# Install with: pip install -r requirements.txt
|
||||
|
||||
# Core dependencies
|
||||
requests>=2.28.0
|
||||
beautifulsoup4>=4.11.0
|
||||
pandas>=1.5.0
|
||||
numpy>=1.23.0
|
||||
|
||||
# For API integrations (optional)
|
||||
google-api-python-client>=2.70.0
|
||||
pytrends>=4.9.0
|
||||
|
||||
# For data visualization (optional)
|
||||
matplotlib>=3.6.0
|
||||
seaborn>=0.12.0
|
||||
|
||||
# For export formats
|
||||
openpyxl>=3.0.0
|
||||
jinja2>=3.1.0
|
||||
|
||||
# Development tools
|
||||
pytest>=7.2.0
|
||||
black>=22.0.0
|
||||
pylint>=2.15.0
|
||||
@@ -0,0 +1,160 @@
|
||||
# Content Architecture Template
|
||||
|
||||
## Page Hierarchy Structure
|
||||
|
||||
```
|
||||
[Page URL: /service-name]
|
||||
│
|
||||
├── H1: [Primary Keyword-Optimized Headline]
|
||||
│ Example: "강남 눈 성형 전문의가 만드는 자연스러운 눈매"
|
||||
│ Word Count Target: 15-25 characters
|
||||
│ Keyword Placement: Primary keyword at beginning
|
||||
│
|
||||
├── Hero Section [Above Fold]
|
||||
│ ├── Value Proposition (30-50 words)
|
||||
│ │ └── Keywords: Primary + 1 LSI
|
||||
│ ├── Trust Signals (3-5 items)
|
||||
│ │ ├── Certification badges
|
||||
│ │ ├── Years of experience
|
||||
│ │ └── Success cases number
|
||||
│ └── Primary CTA
|
||||
│ └── Text: "무료 상담 신청하기"
|
||||
│
|
||||
├── H2: [Service Name] 이란? [Problem/Solution Framework]
|
||||
│ Word Count: 200-300 words
|
||||
│ Keywords: Primary (1x), LSI (2-3x)
|
||||
│ ├── H3: 이런 고민이 있으신가요? [Pain Points]
|
||||
│ │ ├── Pain point 1 (include LSI keyword)
|
||||
│ │ ├── Pain point 2 (include LSI keyword)
|
||||
│ │ └── Pain point 3 (include LSI keyword)
|
||||
│ └── H3: [Clinic Name]의 솔루션 [Benefits]
|
||||
│ ├── Benefit 1 (address pain point 1)
|
||||
│ ├── Benefit 2 (address pain point 2)
|
||||
│ └── Benefit 3 (address pain point 3)
|
||||
│
|
||||
├── H2: [Service Name] 종류 및 방법 [Service Categories]
|
||||
│ Word Count: 400-500 words total
|
||||
│ Keywords: Category-specific LSI keywords
|
||||
│ ├── H3: [Sub-service 1] - [LSI Keyword Variation]
|
||||
│ │ ├── Description (80-100 words)
|
||||
│ │ ├── Best for (target audience)
|
||||
│ │ ├── Duration & Recovery
|
||||
│ │ └── CTA: "자세히 보기"
|
||||
│ ├── H3: [Sub-service 2] - [LSI Keyword Variation]
|
||||
│ │ └── [Same structure as above]
|
||||
│ └── H3: [Sub-service 3] - [LSI Keyword Variation]
|
||||
│ └── [Same structure as above]
|
||||
│
|
||||
├── H2: [Clinic Name] [Service Name]만의 차별점 [Trust & Authority]
|
||||
│ Word Count: 300-400 words
|
||||
│ Keywords: Brand + Primary keyword combinations
|
||||
│ ├── H3: 전문 의료진 [Doctor Credentials]
|
||||
│ │ ├── Doctor profile summary
|
||||
│ │ ├── Specializations
|
||||
│ │ └── Certifications
|
||||
│ ├── H3: 검증된 시술 결과 [Success Metrics]
|
||||
│ │ ├── Number statistics
|
||||
│ │ ├── Success rate
|
||||
│ │ └── Patient satisfaction
|
||||
│ └── H3: 첨단 장비 및 시설 [Facilities]
|
||||
│ ├── Equipment descriptions
|
||||
│ └── Safety protocols
|
||||
│
|
||||
├── H2: [Service Name] 자주 묻는 질문 [FAQ Section]
|
||||
│ Word Count: 500-700 words
|
||||
│ Keywords: Long-tail question keywords
|
||||
│ ├── Q1: [Long-tail keyword as question]?
|
||||
│ │ └── A: [40-60 word answer, keyword in first sentence]
|
||||
│ ├── Q2: [Price-related question]?
|
||||
│ │ └── A: [Include "비용" LSI keyword]
|
||||
│ ├── Q3: [Recovery-related question]?
|
||||
│ │ └── A: [Include "회복기간" LSI keyword]
|
||||
│ ├── Q4: [Side-effect question]?
|
||||
│ │ └── A: [Include "부작용" LSI keyword]
|
||||
│ ├── Q5: [Process question]?
|
||||
│ │ └── A: [Include process-related LSI]
|
||||
│ ├── Q6: [Candidacy question]?
|
||||
│ │ └── A: [Include target audience keywords]
|
||||
│ └── Q7: [Results duration question]?
|
||||
│ └── A: [Include maintenance keywords]
|
||||
│
|
||||
├── H2: [Service Name] 시술 과정 [Process Guide]
|
||||
│ Word Count: 300-400 words
|
||||
│ Keywords: "과정", "단계", procedural LSI
|
||||
│ ├── H3: 상담 및 검사 [Consultation]
|
||||
│ ├── H3: 시술 당일 [Procedure Day]
|
||||
│ ├── H3: 회복 과정 [Recovery]
|
||||
│ └── H3: 사후 관리 [Aftercare]
|
||||
│
|
||||
├── H2: 실제 고객 후기 [Social Proof]
|
||||
│ Word Count: 200-300 words
|
||||
│ Keywords: "후기", "리뷰", satisfaction keywords
|
||||
│ ├── Review snippet 1
|
||||
│ ├── Review snippet 2
|
||||
│ ├── Review snippet 3
|
||||
│ └── Before/After gallery teaser
|
||||
│
|
||||
└── H2: 상담 예약 안내 [Conversion Section]
|
||||
Word Count: 150-200 words
|
||||
Keywords: CTA-related, location keywords
|
||||
├── H3: 상담 예약 방법
|
||||
├── H3: 오시는 길
|
||||
└── H3: 문의 정보
|
||||
```
|
||||
|
||||
## Keyword Density Map
|
||||
|
||||
| Section | Primary Keyword | LSI Keywords | Total Keywords |
|
||||
|---------|----------------|--------------|----------------|
|
||||
| Hero | 1 | 1-2 | 2-3 |
|
||||
| Problem/Solution | 1 | 2-3 | 3-4 |
|
||||
| Service Categories | 1-2 | 4-6 | 5-8 |
|
||||
| Trust & Authority | 1 | 2-3 | 3-4 |
|
||||
| FAQ | 2-3 | 5-7 | 7-10 |
|
||||
| Process | 1 | 2-3 | 3-4 |
|
||||
| Social Proof | 0-1 | 1-2 | 1-3 |
|
||||
| Conversion | 1 | 1-2 | 2-3 |
|
||||
| **Total** | **8-11** | **18-29** | **26-40** |
|
||||
|
||||
## Internal Linking Strategy
|
||||
|
||||
| From Section | To Page | Anchor Text | Purpose |
|
||||
|-------------|---------|-------------|---------|
|
||||
| Service Categories | Sub-service page | [Sub-service name] | Deep dive |
|
||||
| FAQ | Price page | "비용 안내 페이지" | Conversion |
|
||||
| Trust section | Doctor profile | "[Doctor name] 원장" | Authority |
|
||||
| Process section | Consultation form | "상담 예약하기" | Conversion |
|
||||
| Social proof | Gallery page | "더 많은 전후 사진" | Engagement |
|
||||
|
||||
## Content Length Guidelines
|
||||
|
||||
- **Total Page Length**: 2,000-2,500 words
|
||||
- **Above Fold Content**: 100-150 words
|
||||
- **Each H2 Section**: 200-500 words
|
||||
- **Each H3 Subsection**: 80-150 words
|
||||
- **Meta Description**: 150-160 characters
|
||||
- **Image Alt Text**: 10-15 words each
|
||||
|
||||
## Schema Markup Requirements
|
||||
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "MedicalProcedure",
|
||||
"name": "[Service Name]",
|
||||
"description": "[Meta description]",
|
||||
"procedureType": "Cosmetic",
|
||||
"provider": {
|
||||
"@type": "MedicalOrganization",
|
||||
"name": "[Clinic Name]"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Mobile Content Adaptation
|
||||
|
||||
- Reduce hero text by 30%
|
||||
- Show 3 FAQs initially (expand for more)
|
||||
- Simplify navigation to single-column
|
||||
- Increase CTA button size
|
||||
- Compress trust signals to carousel
|
||||
@@ -0,0 +1,95 @@
|
||||
# Keyword Research Template
|
||||
|
||||
## Primary Keyword Analysis
|
||||
|
||||
| Metric | Value | Notes |
|
||||
|--------|-------|-------|
|
||||
| **Primary Keyword** | [KEYWORD] | Main target keyword |
|
||||
| **Monthly Search Volume** | [VOLUME] | Average monthly searches |
|
||||
| **Keyword Difficulty** | [0-100] | Competition score |
|
||||
| **Current Ranking** | #[POSITION] | Current SERP position |
|
||||
| **Search Trend** | ↑ ↓ → | Trending direction |
|
||||
|
||||
## LSI Keywords Matrix
|
||||
|
||||
| LSI Keyword | Search Volume | Intent Type | Priority |
|
||||
|------------|--------------|-------------|----------|
|
||||
| [keyword 1] | [volume] | Informational | High |
|
||||
| [keyword 2] | [volume] | Transactional | Medium |
|
||||
| [keyword 3] | [volume] | Comparative | High |
|
||||
| [keyword 4] | [volume] | Informational | Medium |
|
||||
| [keyword 5] | [volume] | Transactional | Low |
|
||||
| [keyword 6] | [volume] | Comparative | High |
|
||||
| [keyword 7] | [volume] | Informational | Medium |
|
||||
| [keyword 8] | [volume] | Navigational | Low |
|
||||
| [keyword 9] | [volume] | Transactional | High |
|
||||
| [keyword 10] | [volume] | Informational | Medium |
|
||||
|
||||
## User Intent Distribution
|
||||
|
||||
```
|
||||
Informational (Research Phase): ___%
|
||||
- Common queries: "what is", "how to", "benefits of"
|
||||
- Content needed: Educational guides, FAQs, process explanations
|
||||
|
||||
Comparative (Evaluation Phase): ___%
|
||||
- Common queries: "best", "vs", "reviews", "비교"
|
||||
- Content needed: Comparison tables, reviews, case studies
|
||||
|
||||
Transactional (Ready to Convert): ___%
|
||||
- Common queries: "price", "book", "consultation", "예약"
|
||||
- Content needed: CTAs, pricing, booking forms
|
||||
```
|
||||
|
||||
## Long-tail Keyword Opportunities
|
||||
|
||||
### Question-based Keywords
|
||||
- [질문 키워드 1]
|
||||
- [질문 키워드 2]
|
||||
- [질문 키워드 3]
|
||||
|
||||
### Location-based Keywords
|
||||
- [지역] + [primary keyword]
|
||||
- [지역] + [primary keyword] + 잘하는곳
|
||||
- [지역] + [primary keyword] + 추천
|
||||
|
||||
### Modifier-based Keywords
|
||||
- [primary keyword] + 비용
|
||||
- [primary keyword] + 부작용
|
||||
- [primary keyword] + 회복기간
|
||||
- [primary keyword] + 전후
|
||||
|
||||
## Competitor Keyword Analysis
|
||||
|
||||
| Competitor | Target Keywords | Ranking Keywords | Gap Opportunities |
|
||||
|------------|----------------|------------------|-------------------|
|
||||
| Competitor 1 | [keywords] | [keywords] | [missing keywords] |
|
||||
| Competitor 2 | [keywords] | [keywords] | [missing keywords] |
|
||||
| Competitor 3 | [keywords] | [keywords] | [missing keywords] |
|
||||
|
||||
## Seasonal Trends
|
||||
|
||||
| Month | Search Volume | Events/Factors |
|
||||
|-------|--------------|----------------|
|
||||
| January | [volume] | New year resolutions |
|
||||
| February | [volume] | [factor] |
|
||||
| March | [volume] | [factor] |
|
||||
| ... | ... | ... |
|
||||
|
||||
## Platform-Specific Keywords
|
||||
|
||||
### Naver-Optimized
|
||||
- [네이버 specific keyword 1]
|
||||
- [네이버 specific keyword 2]
|
||||
|
||||
### Google-Optimized
|
||||
- [Google specific keyword 1]
|
||||
- [Google specific keyword 2]
|
||||
|
||||
## Action Items
|
||||
|
||||
- [ ] Target primary keyword in H1 and title tag
|
||||
- [ ] Include 3-5 LSI keywords naturally in content
|
||||
- [ ] Create content matching user intent distribution
|
||||
- [ ] Optimize for question-based featured snippets
|
||||
- [ ] Add location modifiers for local SEO
|
||||
@@ -0,0 +1,239 @@
|
||||
# SEO Technical Checklist Template
|
||||
|
||||
## Meta Tags Optimization
|
||||
|
||||
### Title Tag
|
||||
- [ ] Length: 50-60 characters
|
||||
- [ ] Primary keyword at beginning
|
||||
- [ ] Brand name at end
|
||||
- [ ] Unique for each page
|
||||
- [ ] Formula: `[Primary Keyword] - [Value Proposition] | [Brand]`
|
||||
|
||||
**Template**: `{primary_keyword} 전문 - {unique_value} | {clinic_name}`
|
||||
**Example**: `눈 성형 전문 - 자연스러운 라인 | 제이미클리닉`
|
||||
|
||||
### Meta Description
|
||||
- [ ] Length: 150-160 characters
|
||||
- [ ] Include primary keyword
|
||||
- [ ] Include 1-2 LSI keywords
|
||||
- [ ] Clear CTA
|
||||
- [ ] Unique for each page
|
||||
|
||||
**Template**: `{location} {primary_keyword} 전문의가 {benefit}. {credential}. 무료상담 ☎ {phone}`
|
||||
**Example**: `강남 눈 성형 전문의가 자연스러운 눈매를 디자인합니다. 15년 경력, 10,000건 시술. 무료상담 ☎ 02-1234-5678`
|
||||
|
||||
### Open Graph Tags
|
||||
```html
|
||||
<meta property="og:title" content="{page_title}">
|
||||
<meta property="og:description" content="{meta_description}">
|
||||
<meta property="og:image" content="{featured_image_url}">
|
||||
<meta property="og:url" content="{page_url}">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:locale" content="ko_KR">
|
||||
```
|
||||
|
||||
## Header Tags Structure
|
||||
|
||||
- [ ] Only one H1 per page
|
||||
- [ ] H1 contains primary keyword
|
||||
- [ ] H2 tags for main sections (5-7)
|
||||
- [ ] H3 tags for subsections
|
||||
- [ ] Logical hierarchy maintained
|
||||
- [ ] Keywords distributed naturally
|
||||
|
||||
## Content Optimization
|
||||
|
||||
### Keyword Density
|
||||
- [ ] Primary keyword: 2-3% (20-30 times per 1000 words)
|
||||
- [ ] LSI keywords: 1-2% each
|
||||
- [ ] Natural placement (no stuffing)
|
||||
- [ ] Synonyms and variations used
|
||||
|
||||
### Content Structure
|
||||
- [ ] First 100 words include primary keyword
|
||||
- [ ] Short paragraphs (3-4 sentences)
|
||||
- [ ] Bullet points and lists
|
||||
- [ ] Bold important keywords (sparingly)
|
||||
- [ ] Internal links: 5-10
|
||||
- [ ] External links: 2-3 (authoritative)
|
||||
|
||||
## Schema Markup
|
||||
|
||||
### Medical Procedure Schema
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "MedicalProcedure",
|
||||
"name": "{procedure_name}",
|
||||
"procedureType": "Cosmetic",
|
||||
"bodyLocation": "{body_part}",
|
||||
"outcome": "{expected_outcome}",
|
||||
"preparation": "{preparation_required}",
|
||||
"followup": "{followup_care}",
|
||||
"provider": {
|
||||
"@type": "MedicalOrganization",
|
||||
"name": "{clinic_name}",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "{street}",
|
||||
"addressLocality": "{city}",
|
||||
"addressCountry": "KR"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### FAQ Schema
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [{
|
||||
"@type": "Question",
|
||||
"name": "{question}",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "{answer}"
|
||||
}
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
## Image Optimization
|
||||
|
||||
- [ ] Descriptive file names: `eye-surgery-before-after-case1.jpg`
|
||||
- [ ] Alt text with keywords: `눈 성형 전후 사진 - 30대 여성 사례`
|
||||
- [ ] Compressed file size (< 200KB)
|
||||
- [ ] WebP format with fallback
|
||||
- [ ] Lazy loading implemented
|
||||
- [ ] Image sitemap created
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
### Page Speed
|
||||
- [ ] Load time < 3 seconds
|
||||
- [ ] First Contentful Paint < 1.8s
|
||||
- [ ] Time to Interactive < 3.8s
|
||||
- [ ] Total page size < 3MB
|
||||
- [ ] Requests minimized (< 50)
|
||||
|
||||
### Core Web Vitals
|
||||
- [ ] LCP (Largest Contentful Paint) < 2.5s
|
||||
- [ ] FID (First Input Delay) < 100ms
|
||||
- [ ] CLS (Cumulative Layout Shift) < 0.1
|
||||
|
||||
## Mobile Optimization
|
||||
|
||||
- [ ] Mobile-responsive design
|
||||
- [ ] Viewport meta tag set
|
||||
- [ ] Touch-friendly buttons (44x44px minimum)
|
||||
- [ ] Readable font size (16px minimum)
|
||||
- [ ] No horizontal scrolling
|
||||
- [ ] Mobile page speed < 3s
|
||||
|
||||
## URL Structure
|
||||
|
||||
- [ ] SEO-friendly URL: `/eye-surgery` or `/눈-성형`
|
||||
- [ ] No special characters
|
||||
- [ ] Lowercase only
|
||||
- [ ] Hyphens for word separation
|
||||
- [ ] Under 60 characters
|
||||
- [ ] Include primary keyword
|
||||
|
||||
## Internal Linking
|
||||
|
||||
| From Page | To Page | Anchor Text | Purpose |
|
||||
|-----------|---------|-------------|---------|
|
||||
| Gateway | Service Detail | {service_name} | Deep content |
|
||||
| Gateway | Doctor Profile | {doctor_name} 원장 | Authority |
|
||||
| Gateway | Pricing | 비용 안내 | Conversion |
|
||||
| Gateway | Gallery | 시술 전후 사진 | Engagement |
|
||||
| Gateway | Contact | 상담 예약 | Conversion |
|
||||
|
||||
## Naver-Specific Optimization
|
||||
|
||||
### Naver Webmaster Tools
|
||||
- [ ] Site verification complete
|
||||
- [ ] XML sitemap submitted
|
||||
- [ ] Robots.txt configured
|
||||
- [ ] Syndication feed active
|
||||
- [ ] Site optimization report reviewed
|
||||
|
||||
### Naver SEO Elements
|
||||
- [ ] Title under 30 Korean characters
|
||||
- [ ] C-Rank tags implemented
|
||||
- [ ] Image-to-text ratio optimized (40:60)
|
||||
- [ ] Outbound links minimized
|
||||
- [ ] Brand search optimization
|
||||
|
||||
## Tracking & Analytics
|
||||
|
||||
- [ ] Google Analytics 4 installed
|
||||
- [ ] Google Search Console verified
|
||||
- [ ] Naver Analytics installed
|
||||
- [ ] Conversion tracking configured
|
||||
- [ ] Event tracking for CTAs
|
||||
- [ ] Heatmap tool installed
|
||||
|
||||
## Security & Technical
|
||||
|
||||
- [ ] SSL certificate active (HTTPS)
|
||||
- [ ] WWW/non-WWW redirect configured
|
||||
- [ ] 404 error page customized
|
||||
- [ ] XML sitemap generated
|
||||
- [ ] Robots.txt optimized
|
||||
- [ ] Canonical URLs set
|
||||
- [ ] Hreflang tags (if multi-language)
|
||||
|
||||
## Quality Checks
|
||||
|
||||
### Content Quality
|
||||
- [ ] No spelling/grammar errors
|
||||
- [ ] Medical information accurate
|
||||
- [ ] Legal compliance verified
|
||||
- [ ] Contact information correct
|
||||
- [ ] CTAs working properly
|
||||
|
||||
### Cross-browser Testing
|
||||
- [ ] Chrome (Desktop/Mobile)
|
||||
- [ ] Safari (Desktop/Mobile)
|
||||
- [ ] Firefox
|
||||
- [ ] Samsung Internet
|
||||
- [ ] Naver Whale
|
||||
|
||||
## Monthly Monitoring Tasks
|
||||
|
||||
- [ ] Keyword ranking check
|
||||
- [ ] Organic traffic analysis
|
||||
- [ ] Bounce rate monitoring
|
||||
- [ ] Conversion rate tracking
|
||||
- [ ] Competitor analysis
|
||||
- [ ] Content freshness update
|
||||
- [ ] Broken link check
|
||||
- [ ] Page speed test
|
||||
|
||||
## Priority Levels
|
||||
|
||||
1. **Critical (Day 1)**
|
||||
- Title and meta tags
|
||||
- H1 optimization
|
||||
- Mobile responsiveness
|
||||
- Page speed < 4s
|
||||
|
||||
2. **High (Week 1)**
|
||||
- Schema markup
|
||||
- Internal linking
|
||||
- Image optimization
|
||||
- Content optimization
|
||||
|
||||
3. **Medium (Week 2-3)**
|
||||
- Naver optimization
|
||||
- FAQ implementation
|
||||
- Social proof elements
|
||||
- Analytics setup
|
||||
|
||||
4. **Low (Month 2)**
|
||||
- A/B testing
|
||||
- Advanced schema
|
||||
- Link building
|
||||
- Content expansion
|
||||
@@ -0,0 +1,159 @@
|
||||
---
|
||||
name: seo-gateway-strategist
|
||||
version: 1.0.0
|
||||
description: Creates comprehensive SEO-focused gateway page strategies for Korean medical/service websites
|
||||
license: OurDigital internal-use ONLY
|
||||
---
|
||||
|
||||
# SEO Gateway Page Strategist
|
||||
|
||||
This skill helps you create comprehensive SEO-focused gateway page strategies for Korean medical/service websites, optimized for both Naver and Google.
|
||||
|
||||
## Core Competencies
|
||||
|
||||
1. **Keyword Research & Analysis**: Identifies primary and LSI keywords with search intent mapping
|
||||
2. **Content Architecture**: Creates hierarchical page structure optimized for SEO
|
||||
3. **Technical SEO Planning**: Defines specific technical requirements and meta optimizations
|
||||
4. **Performance Targeting**: Sets measurable KPIs and tracking methodologies
|
||||
5. **Competitor Analysis**: Analyzes top-ranking competitors for gap identification
|
||||
|
||||
## When to Use This Skill
|
||||
|
||||
Use this skill when:
|
||||
- Planning a new gateway page for any service/procedure category
|
||||
- Restructuring existing pages for better SEO performance
|
||||
- Conducting keyword research for content planning
|
||||
- Setting SEO performance targets and KPIs
|
||||
- Analyzing competitor strategies
|
||||
|
||||
## Instructions
|
||||
|
||||
When using this skill, provide:
|
||||
1. **Service/Procedure Name**: The main topic for the gateway page (e.g., "눈 성형", "이마 성형")
|
||||
2. **Target Market**: Location and demographic information
|
||||
3. **Current Performance** (optional): Existing rankings, traffic data if available
|
||||
4. **Competitor URLs** (optional): Known competitors to analyze
|
||||
|
||||
## Process Workflow
|
||||
|
||||
### Step 1: Keyword & Intent Analysis
|
||||
```python
|
||||
# The skill will generate:
|
||||
- Primary keyword with monthly search volume
|
||||
- 7-10 LSI (Latent Semantic Indexing) keywords
|
||||
- User intent distribution (Informational/Comparative/Transactional)
|
||||
- Top 3 competitor analysis
|
||||
```
|
||||
|
||||
### Step 2: Content Architecture
|
||||
The skill creates a complete H1-H3 structure with keyword placement strategy:
|
||||
```
|
||||
H1: [Primary keyword-optimized headline]
|
||||
├── Hero Section
|
||||
├── Problem/Solution Framework
|
||||
├── Service Categories
|
||||
├── Trust & Authority
|
||||
├── FAQ Section
|
||||
└── Consultation Guide
|
||||
```
|
||||
|
||||
### Step 3: Technical SEO Requirements
|
||||
Generates specific technical specifications:
|
||||
- Meta tags formulas and character limits
|
||||
- Schema markup recommendations
|
||||
- Internal linking strategy
|
||||
- Image optimization guidelines
|
||||
- Core Web Vitals targets
|
||||
|
||||
### Step 4: Performance Metrics
|
||||
Sets 30/60/90-day KPIs with tracking methodology
|
||||
|
||||
## Example Usage
|
||||
|
||||
### Basic Request:
|
||||
```
|
||||
"Create an SEO gateway page strategy for 눈 성형"
|
||||
```
|
||||
|
||||
### Detailed Request:
|
||||
```
|
||||
"Create an SEO gateway page strategy for 눈 성형 targeting women aged 25-45 in Gangnam.
|
||||
Current ranking: page 2 for main keyword.
|
||||
Competitor: www.example-clinic.com/eye-surgery"
|
||||
```
|
||||
|
||||
## Output Format
|
||||
|
||||
The skill delivers a structured report containing:
|
||||
|
||||
1. **Keyword Strategy Table**
|
||||
- Primary and LSI keywords with search volumes
|
||||
- User intent percentages
|
||||
- Competitor gap analysis
|
||||
|
||||
2. **Content Architecture Document**
|
||||
- Complete page hierarchy (H1-H3)
|
||||
- Word count targets per section
|
||||
- Keyword placement map
|
||||
|
||||
3. **Technical SEO Checklist**
|
||||
- Meta tag templates
|
||||
- Schema markup code
|
||||
- Performance requirements
|
||||
|
||||
4. **Performance Dashboard**
|
||||
- Current baseline metrics
|
||||
- Target KPIs with timeline
|
||||
- Tracking methodology
|
||||
|
||||
## Templates Included
|
||||
|
||||
- `keyword-research-template.md`: Keyword analysis worksheet
|
||||
- `content-architecture-template.md`: Page structure template
|
||||
- `seo-checklist-template.md`: Technical SEO requirements
|
||||
- `performance-tracking-template.md`: KPI tracking sheet
|
||||
|
||||
## Scripts Included
|
||||
|
||||
- `keyword_analyzer.py`: Automates keyword research and intent analysis
|
||||
- `competitor_analyzer.py`: Scrapes and analyzes competitor pages
|
||||
- `seo_scorer.py`: Calculates SEO optimization score
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Mobile-First Approach**: Always optimize for mobile (70%+ traffic in Korea)
|
||||
2. **Naver vs Google**: Consider platform-specific optimization differences
|
||||
3. **Local SEO**: Include location modifiers for local intent
|
||||
4. **Medical Compliance**: Ensure content meets Korean medical advertising regulations
|
||||
5. **User Intent Matching**: Align content with search intent distribution
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### For Medical Services:
|
||||
```
|
||||
Primary: [시술명]
|
||||
LSI: [시술명 비용], [시술명 부작용], [시술명 회복기간], [시술명 전후]
|
||||
Intent: 60% Informational, 30% Comparative, 10% Transactional
|
||||
```
|
||||
|
||||
### For Local Services:
|
||||
```
|
||||
Primary: [지역] [서비스명]
|
||||
LSI: [지역] [서비스명] 추천, [지역] [서비스명] 잘하는곳, [지역] [서비스명] 가격
|
||||
Intent: 40% Informational, 40% Comparative, 20% Transactional
|
||||
```
|
||||
|
||||
## Integration Points
|
||||
|
||||
This skill integrates with:
|
||||
- Google Search Console for current performance data
|
||||
- Naver Webmaster Tools for Naver-specific metrics
|
||||
- Analytics platforms for user behavior data
|
||||
- Keyword research tools APIs
|
||||
|
||||
## Notes
|
||||
|
||||
- Always validate keyword search volumes with actual tools
|
||||
- Consider seasonal trends in search behavior
|
||||
- Update strategy based on algorithm changes
|
||||
- Monitor competitor movements regularly
|
||||
@@ -0,0 +1,284 @@
|
||||
# SEO Gateway Page Strategy: 눈 성형
|
||||
**Generated by SEO Gateway Page Strategist Skill**
|
||||
**Date:** 2024-12-28
|
||||
**Target Market:** Gangnam, Seoul - Women 25-45
|
||||
|
||||
---
|
||||
|
||||
## 1. Keyword Strategy Analysis
|
||||
|
||||
### Primary Keyword Research
|
||||
| Metric | Value | Analysis |
|
||||
|--------|-------|----------|
|
||||
| **Primary Keyword** | 눈 성형 | High-volume medical keyword |
|
||||
| **Monthly Search Volume** | 12,000 | Excellent traffic potential |
|
||||
| **Keyword Difficulty** | 65/100 | Moderate-high competition |
|
||||
| **CPC** | ₩2,500 | High commercial intent |
|
||||
| **Trend** | ↑ 15% YoY | Growing interest |
|
||||
|
||||
### LSI Keywords Matrix
|
||||
| LSI Keyword | Monthly Volume | Intent Type | Implementation Priority |
|
||||
|------------|---------------|-------------|------------------------|
|
||||
| 쌍꺼풀 수술 | 8,000 | Transactional | High - Sub-category page |
|
||||
| 눈매교정 | 5,500 | Informational | High - Sub-category page |
|
||||
| 앞트임 | 4,000 | Informational | High - Sub-category page |
|
||||
| 뒤트임 | 3,500 | Informational | Medium - Sub-category |
|
||||
| 눈 성형 비용 | 2,000 | Comparative | High - FAQ section |
|
||||
| 눈 성형 부작용 | 1,500 | Informational | High - FAQ section |
|
||||
| 눈 성형 회복기간 | 1,800 | Informational | High - Process section |
|
||||
| 눈 성형 전후 | 3,000 | Comparative | High - Gallery section |
|
||||
| 강남 눈 성형 | 2,200 | Local | High - Hero/title |
|
||||
| 눈 성형 잘하는곳 | 2,200 | Comparative | High - Trust section |
|
||||
|
||||
### User Intent Distribution
|
||||
```
|
||||
Informational (Research): 55%
|
||||
- Users researching procedures, risks, recovery
|
||||
- Content needed: Educational guides, process explanations, FAQs
|
||||
|
||||
Comparative (Evaluation): 35%
|
||||
- Users comparing clinics, prices, results
|
||||
- Content needed: Before/after gallery, reviews, differentiators
|
||||
|
||||
Transactional (Booking): 10%
|
||||
- Users ready to book consultation
|
||||
- Content needed: Clear CTAs, contact forms, pricing info
|
||||
```
|
||||
|
||||
### Competitor Analysis
|
||||
| Competitor | Domain Authority | Target Keywords | Content Gap Opportunities |
|
||||
|-----------|-----------------|-----------------|--------------------------|
|
||||
| Competitor A | 45 | 눈 성형, 쌍꺼풀 | Lacks detailed recovery guide |
|
||||
| Competitor B | 52 | 강남 눈 성형 | No video content |
|
||||
| Competitor C | 38 | 눈 성형 비용 | Limited trust signals |
|
||||
|
||||
---
|
||||
|
||||
## 2. Content Architecture
|
||||
|
||||
```
|
||||
H1: 강남 눈 성형 전문의가 디자인하는 자연스러운 눈매
|
||||
│
|
||||
├── Hero Section [100-150 words]
|
||||
│ ├── Value Proposition: "15년 경력 전문의가 만드는 당신만의 아름다운 눈매"
|
||||
│ ├── Trust Signals:
|
||||
│ │ • 보건복지부 인증 의료기관
|
||||
│ │ • 10,000+ 성공 사례
|
||||
│ │ • 대한성형외과학회 정회원
|
||||
│ │ • 2024 의료서비스 대상 수상
|
||||
│ └── Primary CTA: "무료 상담 신청하기"
|
||||
│
|
||||
├── H2: 눈 성형, 이런 고민이 있으신가요? [200-250 words]
|
||||
│ ├── H3: 작고 답답한 눈매로 인한 스트레스
|
||||
│ ├── H3: 나이들어 보이는 처진 눈꺼풀
|
||||
│ └── H3: 좌우 비대칭으로 인한 불균형
|
||||
│
|
||||
├── H2: 제이미클리닉 눈 성형 종류 [400-500 words]
|
||||
│ ├── H3: 자연스러운 쌍꺼풀 성형 - 매몰법 & 절개법
|
||||
│ │ ├── Description (100 words)
|
||||
│ │ ├── 시술시간: 30-60분
|
||||
│ │ ├── 회복기간: 5-10일
|
||||
│ │ └── CTA: "쌍꺼풀 자세히 보기"
|
||||
│ │
|
||||
│ ├── H3: 또렷한 눈매교정술
|
||||
│ │ ├── Description (100 words)
|
||||
│ │ ├── 시술시간: 45분
|
||||
│ │ ├── 회복기간: 7일
|
||||
│ │ └── CTA: "눈매교정 자세히 보기"
|
||||
│ │
|
||||
│ ├── H3: 시원한 앞트임 & 뒤트임
|
||||
│ │ ├── Description (100 words)
|
||||
│ │ ├── 시술시간: 30-45분
|
||||
│ │ ├── 회복기간: 5-7일
|
||||
│ │ └── CTA: "트임 수술 자세히 보기"
|
||||
│ │
|
||||
│ └── H3: 상안검 & 하안검 성형
|
||||
│ ├── Description (100 words)
|
||||
│ ├── 시술시간: 60-90분
|
||||
│ ├── 회복기간: 10-14일
|
||||
│ └── CTA: "안검 성형 자세히 보기"
|
||||
│
|
||||
├── H2: 제이미클리닉만의 차별점 [300-350 words]
|
||||
│ ├── H3: 전문 의료진의 노하우
|
||||
│ ├── H3: 1:1 맞춤 디자인 시스템
|
||||
│ └── H3: 최신 장비와 안전 시스템
|
||||
│
|
||||
├── H2: 눈 성형 자주 묻는 질문 (FAQ) [500-600 words]
|
||||
│ ├── Q: 눈 성형 비용은 얼마인가요?
|
||||
│ ├── Q: 눈 성형 회복기간은 얼마나 걸리나요?
|
||||
│ ├── Q: 눈 성형 부작용은 없나요?
|
||||
│ ├── Q: 쌍꺼풀 라인은 어떻게 결정하나요?
|
||||
│ ├── Q: 재수술도 가능한가요?
|
||||
│ ├── Q: 나이 제한이 있나요?
|
||||
│ └── Q: 수술 후 일상생활은 언제부터 가능한가요?
|
||||
│
|
||||
├── H2: 눈 성형 시술 과정 [250-300 words]
|
||||
│ ├── H3: STEP 1. 1:1 맞춤 상담
|
||||
│ ├── H3: STEP 2. 정밀 검사 및 디자인
|
||||
│ ├── H3: STEP 3. 안전한 수술 진행
|
||||
│ └── H3: STEP 4. 체계적인 사후 관리
|
||||
│
|
||||
├── H2: 실제 고객 후기 및 전후 사진 [200-250 words]
|
||||
│ ├── Review snippets (3-5)
|
||||
│ ├── Before/After gallery teaser
|
||||
│ └── CTA: "더 많은 후기 보기"
|
||||
│
|
||||
└── H2: 상담 예약 안내 [150-200 words]
|
||||
├── H3: 온라인 상담 예약
|
||||
├── H3: 오시는 길
|
||||
└── H3: 문의: 02-1234-5678
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Technical SEO Requirements
|
||||
|
||||
### Meta Tags
|
||||
```html
|
||||
<title>강남 눈 성형 전문 - 자연스러운 눈매 디자인 | 제이미클리닉</title>
|
||||
<meta name="description" content="강남 눈 성형 15년 전문의가 만드는 자연스러운 눈매. 쌍꺼풀, 눈매교정, 트임 수술 10,000건 이상. 무료상담 ☎ 02-1234-5678">
|
||||
<meta name="keywords" content="눈 성형, 강남 눈 성형, 쌍꺼풀 수술, 눈매교정, 앞트임, 뒤트임">
|
||||
```
|
||||
|
||||
### Schema Markup
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "MedicalProcedure",
|
||||
"name": "눈 성형",
|
||||
"procedureType": "Cosmetic",
|
||||
"bodyLocation": "Eye",
|
||||
"outcome": "Enhanced eye appearance with natural-looking results",
|
||||
"preparation": "Consultation and design planning required",
|
||||
"followup": "Regular check-ups for 3 months",
|
||||
"provider": {
|
||||
"@type": "MedicalOrganization",
|
||||
"name": "제이미클리닉",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "테헤란로 123",
|
||||
"addressLocality": "강남구",
|
||||
"addressRegion": "서울특별시",
|
||||
"addressCountry": "KR"
|
||||
},
|
||||
"telephone": "+82-2-1234-5678"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Internal Linking Strategy
|
||||
| From Section | To Page | Anchor Text | Priority |
|
||||
|-------------|---------|-------------|----------|
|
||||
| 쌍꺼풀 section | /double-eyelid | "쌍꺼풀 자세히 보기" | High |
|
||||
| FAQ 비용 | /pricing | "자세한 비용 안내" | High |
|
||||
| 의료진 section | /doctors | "전문의 프로필 보기" | Medium |
|
||||
| 후기 section | /reviews | "더 많은 후기 보기" | Medium |
|
||||
| 상담 section | /consultation | "온라인 상담 신청" | High |
|
||||
|
||||
### Performance Targets
|
||||
- Page Load Speed: < 2.5 seconds
|
||||
- Mobile Score: > 95/100
|
||||
- Core Web Vitals: All green
|
||||
- Image Optimization: WebP format, < 150KB each
|
||||
|
||||
---
|
||||
|
||||
## 4. Performance KPIs & Tracking
|
||||
|
||||
### 30-Day Targets
|
||||
| Metric | Current | 30-Day Target | Measurement Tool |
|
||||
|--------|---------|---------------|------------------|
|
||||
| Primary Keyword Ranking | #8 | #5 | Search Console |
|
||||
| Organic Traffic | 500/month | 750/month | GA4 |
|
||||
| Bounce Rate | 65% | 55% | GA4 |
|
||||
| Avg. Time on Page | 1:30 | 2:30 | GA4 |
|
||||
| Conversion Rate | 1.5% | 2.5% | GA4 Goals |
|
||||
|
||||
### 60-Day Targets
|
||||
| Metric | Target | Strategy |
|
||||
|--------|--------|----------|
|
||||
| Primary Keyword Ranking | #3 | Content expansion + backlinks |
|
||||
| Organic Traffic | 1,200/month | Long-tail optimization |
|
||||
| Featured Snippets | 2+ | FAQ schema implementation |
|
||||
| Page Authority | 25+ | Link building campaign |
|
||||
|
||||
### 90-Day Targets
|
||||
| Metric | Target | Success Indicator |
|
||||
|--------|--------|-------------------|
|
||||
| Primary Keyword Ranking | #1-3 | Page 1 dominant position |
|
||||
| Organic Traffic | 2,000/month | 300% increase |
|
||||
| Conversion Rate | 3-5% | Industry-leading performance |
|
||||
| Revenue Attribution | ₩50M+ | Positive ROI |
|
||||
|
||||
---
|
||||
|
||||
## 5. Implementation Roadmap
|
||||
|
||||
### Week 1: Foundation
|
||||
- [ ] Implement title and meta tags
|
||||
- [ ] Create H1 and basic structure
|
||||
- [ ] Optimize hero section
|
||||
- [ ] Set up tracking codes
|
||||
|
||||
### Week 2: Content Development
|
||||
- [ ] Write all H2 sections
|
||||
- [ ] Create FAQ content
|
||||
- [ ] Develop procedure descriptions
|
||||
- [ ] Add trust signals
|
||||
|
||||
### Week 3: Technical Optimization
|
||||
- [ ] Implement schema markup
|
||||
- [ ] Optimize images
|
||||
- [ ] Set up internal linking
|
||||
- [ ] Mobile optimization
|
||||
|
||||
### Week 4: Enhancement
|
||||
- [ ] Add reviews and testimonials
|
||||
- [ ] Create before/after gallery
|
||||
- [ ] Implement CTA variations
|
||||
- [ ] A/B testing setup
|
||||
|
||||
### Month 2-3: Growth
|
||||
- [ ] Content expansion based on data
|
||||
- [ ] Link building outreach
|
||||
- [ ] Naver optimization
|
||||
- [ ] Conversion rate optimization
|
||||
|
||||
---
|
||||
|
||||
## 6. Strategic Recommendations
|
||||
|
||||
### High Priority Actions
|
||||
1. **Content Depth**: Create comprehensive 2,500+ word content to outrank competitors
|
||||
2. **E-A-T Signals**: Emphasize doctor credentials and certifications prominently
|
||||
3. **Local SEO**: Optimize for "강남 눈 성형" with location-specific content
|
||||
4. **Mobile UX**: Ensure thumb-friendly CTAs and fast mobile load times
|
||||
|
||||
### Quick Wins (Implement Immediately)
|
||||
1. Add FAQ schema markup for featured snippets
|
||||
2. Compress and optimize all images
|
||||
3. Add trust badges above fold
|
||||
4. Implement click-to-call for mobile
|
||||
5. Create location-specific landing pages
|
||||
|
||||
### Long-term Strategy
|
||||
1. Build topical authority with supporting content
|
||||
2. Develop video content for higher engagement
|
||||
3. Create interactive tools (virtual consultation)
|
||||
4. Establish thought leadership through blog
|
||||
5. Implement review generation system
|
||||
|
||||
---
|
||||
|
||||
## Notes for Implementation
|
||||
|
||||
- **Legal Compliance**: Ensure all medical claims are verified and compliant with KFDA regulations
|
||||
- **Image Rights**: Use only authorized before/after photos with patient consent
|
||||
- **Pricing Display**: Follow Korean medical advertising laws regarding price disclosure
|
||||
- **Mobile First**: With 70% mobile traffic, prioritize mobile experience in all decisions
|
||||
- **Naver Specific**: Create separate content strategy for Naver Blog integration
|
||||
|
||||
---
|
||||
|
||||
**End of Strategy Document**
|
||||
*Generated by SEO Gateway Page Strategist Skill v1.0*
|
||||
@@ -0,0 +1,160 @@
|
||||
# Content Architecture Template
|
||||
|
||||
## Page Hierarchy Structure
|
||||
|
||||
```
|
||||
[Page URL: /service-name]
|
||||
│
|
||||
├── H1: [Primary Keyword-Optimized Headline]
|
||||
│ Example: "강남 눈 성형 전문의가 만드는 자연스러운 눈매"
|
||||
│ Word Count Target: 15-25 characters
|
||||
│ Keyword Placement: Primary keyword at beginning
|
||||
│
|
||||
├── Hero Section [Above Fold]
|
||||
│ ├── Value Proposition (30-50 words)
|
||||
│ │ └── Keywords: Primary + 1 LSI
|
||||
│ ├── Trust Signals (3-5 items)
|
||||
│ │ ├── Certification badges
|
||||
│ │ ├── Years of experience
|
||||
│ │ └── Success cases number
|
||||
│ └── Primary CTA
|
||||
│ └── Text: "무료 상담 신청하기"
|
||||
│
|
||||
├── H2: [Service Name] 이란? [Problem/Solution Framework]
|
||||
│ Word Count: 200-300 words
|
||||
│ Keywords: Primary (1x), LSI (2-3x)
|
||||
│ ├── H3: 이런 고민이 있으신가요? [Pain Points]
|
||||
│ │ ├── Pain point 1 (include LSI keyword)
|
||||
│ │ ├── Pain point 2 (include LSI keyword)
|
||||
│ │ └── Pain point 3 (include LSI keyword)
|
||||
│ └── H3: [Clinic Name]의 솔루션 [Benefits]
|
||||
│ ├── Benefit 1 (address pain point 1)
|
||||
│ ├── Benefit 2 (address pain point 2)
|
||||
│ └── Benefit 3 (address pain point 3)
|
||||
│
|
||||
├── H2: [Service Name] 종류 및 방법 [Service Categories]
|
||||
│ Word Count: 400-500 words total
|
||||
│ Keywords: Category-specific LSI keywords
|
||||
│ ├── H3: [Sub-service 1] - [LSI Keyword Variation]
|
||||
│ │ ├── Description (80-100 words)
|
||||
│ │ ├── Best for (target audience)
|
||||
│ │ ├── Duration & Recovery
|
||||
│ │ └── CTA: "자세히 보기"
|
||||
│ ├── H3: [Sub-service 2] - [LSI Keyword Variation]
|
||||
│ │ └── [Same structure as above]
|
||||
│ └── H3: [Sub-service 3] - [LSI Keyword Variation]
|
||||
│ └── [Same structure as above]
|
||||
│
|
||||
├── H2: [Clinic Name] [Service Name]만의 차별점 [Trust & Authority]
|
||||
│ Word Count: 300-400 words
|
||||
│ Keywords: Brand + Primary keyword combinations
|
||||
│ ├── H3: 전문 의료진 [Doctor Credentials]
|
||||
│ │ ├── Doctor profile summary
|
||||
│ │ ├── Specializations
|
||||
│ │ └── Certifications
|
||||
│ ├── H3: 검증된 시술 결과 [Success Metrics]
|
||||
│ │ ├── Number statistics
|
||||
│ │ ├── Success rate
|
||||
│ │ └── Patient satisfaction
|
||||
│ └── H3: 첨단 장비 및 시설 [Facilities]
|
||||
│ ├── Equipment descriptions
|
||||
│ └── Safety protocols
|
||||
│
|
||||
├── H2: [Service Name] 자주 묻는 질문 [FAQ Section]
|
||||
│ Word Count: 500-700 words
|
||||
│ Keywords: Long-tail question keywords
|
||||
│ ├── Q1: [Long-tail keyword as question]?
|
||||
│ │ └── A: [40-60 word answer, keyword in first sentence]
|
||||
│ ├── Q2: [Price-related question]?
|
||||
│ │ └── A: [Include "비용" LSI keyword]
|
||||
│ ├── Q3: [Recovery-related question]?
|
||||
│ │ └── A: [Include "회복기간" LSI keyword]
|
||||
│ ├── Q4: [Side-effect question]?
|
||||
│ │ └── A: [Include "부작용" LSI keyword]
|
||||
│ ├── Q5: [Process question]?
|
||||
│ │ └── A: [Include process-related LSI]
|
||||
│ ├── Q6: [Candidacy question]?
|
||||
│ │ └── A: [Include target audience keywords]
|
||||
│ └── Q7: [Results duration question]?
|
||||
│ └── A: [Include maintenance keywords]
|
||||
│
|
||||
├── H2: [Service Name] 시술 과정 [Process Guide]
|
||||
│ Word Count: 300-400 words
|
||||
│ Keywords: "과정", "단계", procedural LSI
|
||||
│ ├── H3: 상담 및 검사 [Consultation]
|
||||
│ ├── H3: 시술 당일 [Procedure Day]
|
||||
│ ├── H3: 회복 과정 [Recovery]
|
||||
│ └── H3: 사후 관리 [Aftercare]
|
||||
│
|
||||
├── H2: 실제 고객 후기 [Social Proof]
|
||||
│ Word Count: 200-300 words
|
||||
│ Keywords: "후기", "리뷰", satisfaction keywords
|
||||
│ ├── Review snippet 1
|
||||
│ ├── Review snippet 2
|
||||
│ ├── Review snippet 3
|
||||
│ └── Before/After gallery teaser
|
||||
│
|
||||
└── H2: 상담 예약 안내 [Conversion Section]
|
||||
Word Count: 150-200 words
|
||||
Keywords: CTA-related, location keywords
|
||||
├── H3: 상담 예약 방법
|
||||
├── H3: 오시는 길
|
||||
└── H3: 문의 정보
|
||||
```
|
||||
|
||||
## Keyword Density Map
|
||||
|
||||
| Section | Primary Keyword | LSI Keywords | Total Keywords |
|
||||
|---------|----------------|--------------|----------------|
|
||||
| Hero | 1 | 1-2 | 2-3 |
|
||||
| Problem/Solution | 1 | 2-3 | 3-4 |
|
||||
| Service Categories | 1-2 | 4-6 | 5-8 |
|
||||
| Trust & Authority | 1 | 2-3 | 3-4 |
|
||||
| FAQ | 2-3 | 5-7 | 7-10 |
|
||||
| Process | 1 | 2-3 | 3-4 |
|
||||
| Social Proof | 0-1 | 1-2 | 1-3 |
|
||||
| Conversion | 1 | 1-2 | 2-3 |
|
||||
| **Total** | **8-11** | **18-29** | **26-40** |
|
||||
|
||||
## Internal Linking Strategy
|
||||
|
||||
| From Section | To Page | Anchor Text | Purpose |
|
||||
|-------------|---------|-------------|---------|
|
||||
| Service Categories | Sub-service page | [Sub-service name] | Deep dive |
|
||||
| FAQ | Price page | "비용 안내 페이지" | Conversion |
|
||||
| Trust section | Doctor profile | "[Doctor name] 원장" | Authority |
|
||||
| Process section | Consultation form | "상담 예약하기" | Conversion |
|
||||
| Social proof | Gallery page | "더 많은 전후 사진" | Engagement |
|
||||
|
||||
## Content Length Guidelines
|
||||
|
||||
- **Total Page Length**: 2,000-2,500 words
|
||||
- **Above Fold Content**: 100-150 words
|
||||
- **Each H2 Section**: 200-500 words
|
||||
- **Each H3 Subsection**: 80-150 words
|
||||
- **Meta Description**: 150-160 characters
|
||||
- **Image Alt Text**: 10-15 words each
|
||||
|
||||
## Schema Markup Requirements
|
||||
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "MedicalProcedure",
|
||||
"name": "[Service Name]",
|
||||
"description": "[Meta description]",
|
||||
"procedureType": "Cosmetic",
|
||||
"provider": {
|
||||
"@type": "MedicalOrganization",
|
||||
"name": "[Clinic Name]"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Mobile Content Adaptation
|
||||
|
||||
- Reduce hero text by 30%
|
||||
- Show 3 FAQs initially (expand for more)
|
||||
- Simplify navigation to single-column
|
||||
- Increase CTA button size
|
||||
- Compress trust signals to carousel
|
||||
@@ -0,0 +1,95 @@
|
||||
# Keyword Research Template
|
||||
|
||||
## Primary Keyword Analysis
|
||||
|
||||
| Metric | Value | Notes |
|
||||
|--------|-------|-------|
|
||||
| **Primary Keyword** | [KEYWORD] | Main target keyword |
|
||||
| **Monthly Search Volume** | [VOLUME] | Average monthly searches |
|
||||
| **Keyword Difficulty** | [0-100] | Competition score |
|
||||
| **Current Ranking** | #[POSITION] | Current SERP position |
|
||||
| **Search Trend** | ↑ ↓ → | Trending direction |
|
||||
|
||||
## LSI Keywords Matrix
|
||||
|
||||
| LSI Keyword | Search Volume | Intent Type | Priority |
|
||||
|------------|--------------|-------------|----------|
|
||||
| [keyword 1] | [volume] | Informational | High |
|
||||
| [keyword 2] | [volume] | Transactional | Medium |
|
||||
| [keyword 3] | [volume] | Comparative | High |
|
||||
| [keyword 4] | [volume] | Informational | Medium |
|
||||
| [keyword 5] | [volume] | Transactional | Low |
|
||||
| [keyword 6] | [volume] | Comparative | High |
|
||||
| [keyword 7] | [volume] | Informational | Medium |
|
||||
| [keyword 8] | [volume] | Navigational | Low |
|
||||
| [keyword 9] | [volume] | Transactional | High |
|
||||
| [keyword 10] | [volume] | Informational | Medium |
|
||||
|
||||
## User Intent Distribution
|
||||
|
||||
```
|
||||
Informational (Research Phase): ___%
|
||||
- Common queries: "what is", "how to", "benefits of"
|
||||
- Content needed: Educational guides, FAQs, process explanations
|
||||
|
||||
Comparative (Evaluation Phase): ___%
|
||||
- Common queries: "best", "vs", "reviews", "비교"
|
||||
- Content needed: Comparison tables, reviews, case studies
|
||||
|
||||
Transactional (Ready to Convert): ___%
|
||||
- Common queries: "price", "book", "consultation", "예약"
|
||||
- Content needed: CTAs, pricing, booking forms
|
||||
```
|
||||
|
||||
## Long-tail Keyword Opportunities
|
||||
|
||||
### Question-based Keywords
|
||||
- [질문 키워드 1]
|
||||
- [질문 키워드 2]
|
||||
- [질문 키워드 3]
|
||||
|
||||
### Location-based Keywords
|
||||
- [지역] + [primary keyword]
|
||||
- [지역] + [primary keyword] + 잘하는곳
|
||||
- [지역] + [primary keyword] + 추천
|
||||
|
||||
### Modifier-based Keywords
|
||||
- [primary keyword] + 비용
|
||||
- [primary keyword] + 부작용
|
||||
- [primary keyword] + 회복기간
|
||||
- [primary keyword] + 전후
|
||||
|
||||
## Competitor Keyword Analysis
|
||||
|
||||
| Competitor | Target Keywords | Ranking Keywords | Gap Opportunities |
|
||||
|------------|----------------|------------------|-------------------|
|
||||
| Competitor 1 | [keywords] | [keywords] | [missing keywords] |
|
||||
| Competitor 2 | [keywords] | [keywords] | [missing keywords] |
|
||||
| Competitor 3 | [keywords] | [keywords] | [missing keywords] |
|
||||
|
||||
## Seasonal Trends
|
||||
|
||||
| Month | Search Volume | Events/Factors |
|
||||
|-------|--------------|----------------|
|
||||
| January | [volume] | New year resolutions |
|
||||
| February | [volume] | [factor] |
|
||||
| March | [volume] | [factor] |
|
||||
| ... | ... | ... |
|
||||
|
||||
## Platform-Specific Keywords
|
||||
|
||||
### Naver-Optimized
|
||||
- [네이버 specific keyword 1]
|
||||
- [네이버 specific keyword 2]
|
||||
|
||||
### Google-Optimized
|
||||
- [Google specific keyword 1]
|
||||
- [Google specific keyword 2]
|
||||
|
||||
## Action Items
|
||||
|
||||
- [ ] Target primary keyword in H1 and title tag
|
||||
- [ ] Include 3-5 LSI keywords naturally in content
|
||||
- [ ] Create content matching user intent distribution
|
||||
- [ ] Optimize for question-based featured snippets
|
||||
- [ ] Add location modifiers for local SEO
|
||||
@@ -0,0 +1,239 @@
|
||||
# SEO Technical Checklist Template
|
||||
|
||||
## Meta Tags Optimization
|
||||
|
||||
### Title Tag
|
||||
- [ ] Length: 50-60 characters
|
||||
- [ ] Primary keyword at beginning
|
||||
- [ ] Brand name at end
|
||||
- [ ] Unique for each page
|
||||
- [ ] Formula: `[Primary Keyword] - [Value Proposition] | [Brand]`
|
||||
|
||||
**Template**: `{primary_keyword} 전문 - {unique_value} | {clinic_name}`
|
||||
**Example**: `눈 성형 전문 - 자연스러운 라인 | 제이미클리닉`
|
||||
|
||||
### Meta Description
|
||||
- [ ] Length: 150-160 characters
|
||||
- [ ] Include primary keyword
|
||||
- [ ] Include 1-2 LSI keywords
|
||||
- [ ] Clear CTA
|
||||
- [ ] Unique for each page
|
||||
|
||||
**Template**: `{location} {primary_keyword} 전문의가 {benefit}. {credential}. 무료상담 ☎ {phone}`
|
||||
**Example**: `강남 눈 성형 전문의가 자연스러운 눈매를 디자인합니다. 15년 경력, 10,000건 시술. 무료상담 ☎ 02-1234-5678`
|
||||
|
||||
### Open Graph Tags
|
||||
```html
|
||||
<meta property="og:title" content="{page_title}">
|
||||
<meta property="og:description" content="{meta_description}">
|
||||
<meta property="og:image" content="{featured_image_url}">
|
||||
<meta property="og:url" content="{page_url}">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:locale" content="ko_KR">
|
||||
```
|
||||
|
||||
## Header Tags Structure
|
||||
|
||||
- [ ] Only one H1 per page
|
||||
- [ ] H1 contains primary keyword
|
||||
- [ ] H2 tags for main sections (5-7)
|
||||
- [ ] H3 tags for subsections
|
||||
- [ ] Logical hierarchy maintained
|
||||
- [ ] Keywords distributed naturally
|
||||
|
||||
## Content Optimization
|
||||
|
||||
### Keyword Density
|
||||
- [ ] Primary keyword: 2-3% (20-30 times per 1000 words)
|
||||
- [ ] LSI keywords: 1-2% each
|
||||
- [ ] Natural placement (no stuffing)
|
||||
- [ ] Synonyms and variations used
|
||||
|
||||
### Content Structure
|
||||
- [ ] First 100 words include primary keyword
|
||||
- [ ] Short paragraphs (3-4 sentences)
|
||||
- [ ] Bullet points and lists
|
||||
- [ ] Bold important keywords (sparingly)
|
||||
- [ ] Internal links: 5-10
|
||||
- [ ] External links: 2-3 (authoritative)
|
||||
|
||||
## Schema Markup
|
||||
|
||||
### Medical Procedure Schema
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "MedicalProcedure",
|
||||
"name": "{procedure_name}",
|
||||
"procedureType": "Cosmetic",
|
||||
"bodyLocation": "{body_part}",
|
||||
"outcome": "{expected_outcome}",
|
||||
"preparation": "{preparation_required}",
|
||||
"followup": "{followup_care}",
|
||||
"provider": {
|
||||
"@type": "MedicalOrganization",
|
||||
"name": "{clinic_name}",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "{street}",
|
||||
"addressLocality": "{city}",
|
||||
"addressCountry": "KR"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### FAQ Schema
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [{
|
||||
"@type": "Question",
|
||||
"name": "{question}",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "{answer}"
|
||||
}
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
## Image Optimization
|
||||
|
||||
- [ ] Descriptive file names: `eye-surgery-before-after-case1.jpg`
|
||||
- [ ] Alt text with keywords: `눈 성형 전후 사진 - 30대 여성 사례`
|
||||
- [ ] Compressed file size (< 200KB)
|
||||
- [ ] WebP format with fallback
|
||||
- [ ] Lazy loading implemented
|
||||
- [ ] Image sitemap created
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
### Page Speed
|
||||
- [ ] Load time < 3 seconds
|
||||
- [ ] First Contentful Paint < 1.8s
|
||||
- [ ] Time to Interactive < 3.8s
|
||||
- [ ] Total page size < 3MB
|
||||
- [ ] Requests minimized (< 50)
|
||||
|
||||
### Core Web Vitals
|
||||
- [ ] LCP (Largest Contentful Paint) < 2.5s
|
||||
- [ ] FID (First Input Delay) < 100ms
|
||||
- [ ] CLS (Cumulative Layout Shift) < 0.1
|
||||
|
||||
## Mobile Optimization
|
||||
|
||||
- [ ] Mobile-responsive design
|
||||
- [ ] Viewport meta tag set
|
||||
- [ ] Touch-friendly buttons (44x44px minimum)
|
||||
- [ ] Readable font size (16px minimum)
|
||||
- [ ] No horizontal scrolling
|
||||
- [ ] Mobile page speed < 3s
|
||||
|
||||
## URL Structure
|
||||
|
||||
- [ ] SEO-friendly URL: `/eye-surgery` or `/눈-성형`
|
||||
- [ ] No special characters
|
||||
- [ ] Lowercase only
|
||||
- [ ] Hyphens for word separation
|
||||
- [ ] Under 60 characters
|
||||
- [ ] Include primary keyword
|
||||
|
||||
## Internal Linking
|
||||
|
||||
| From Page | To Page | Anchor Text | Purpose |
|
||||
|-----------|---------|-------------|---------|
|
||||
| Gateway | Service Detail | {service_name} | Deep content |
|
||||
| Gateway | Doctor Profile | {doctor_name} 원장 | Authority |
|
||||
| Gateway | Pricing | 비용 안내 | Conversion |
|
||||
| Gateway | Gallery | 시술 전후 사진 | Engagement |
|
||||
| Gateway | Contact | 상담 예약 | Conversion |
|
||||
|
||||
## Naver-Specific Optimization
|
||||
|
||||
### Naver Webmaster Tools
|
||||
- [ ] Site verification complete
|
||||
- [ ] XML sitemap submitted
|
||||
- [ ] Robots.txt configured
|
||||
- [ ] Syndication feed active
|
||||
- [ ] Site optimization report reviewed
|
||||
|
||||
### Naver SEO Elements
|
||||
- [ ] Title under 30 Korean characters
|
||||
- [ ] C-Rank tags implemented
|
||||
- [ ] Image-to-text ratio optimized (40:60)
|
||||
- [ ] Outbound links minimized
|
||||
- [ ] Brand search optimization
|
||||
|
||||
## Tracking & Analytics
|
||||
|
||||
- [ ] Google Analytics 4 installed
|
||||
- [ ] Google Search Console verified
|
||||
- [ ] Naver Analytics installed
|
||||
- [ ] Conversion tracking configured
|
||||
- [ ] Event tracking for CTAs
|
||||
- [ ] Heatmap tool installed
|
||||
|
||||
## Security & Technical
|
||||
|
||||
- [ ] SSL certificate active (HTTPS)
|
||||
- [ ] WWW/non-WWW redirect configured
|
||||
- [ ] 404 error page customized
|
||||
- [ ] XML sitemap generated
|
||||
- [ ] Robots.txt optimized
|
||||
- [ ] Canonical URLs set
|
||||
- [ ] Hreflang tags (if multi-language)
|
||||
|
||||
## Quality Checks
|
||||
|
||||
### Content Quality
|
||||
- [ ] No spelling/grammar errors
|
||||
- [ ] Medical information accurate
|
||||
- [ ] Legal compliance verified
|
||||
- [ ] Contact information correct
|
||||
- [ ] CTAs working properly
|
||||
|
||||
### Cross-browser Testing
|
||||
- [ ] Chrome (Desktop/Mobile)
|
||||
- [ ] Safari (Desktop/Mobile)
|
||||
- [ ] Firefox
|
||||
- [ ] Samsung Internet
|
||||
- [ ] Naver Whale
|
||||
|
||||
## Monthly Monitoring Tasks
|
||||
|
||||
- [ ] Keyword ranking check
|
||||
- [ ] Organic traffic analysis
|
||||
- [ ] Bounce rate monitoring
|
||||
- [ ] Conversion rate tracking
|
||||
- [ ] Competitor analysis
|
||||
- [ ] Content freshness update
|
||||
- [ ] Broken link check
|
||||
- [ ] Page speed test
|
||||
|
||||
## Priority Levels
|
||||
|
||||
1. **Critical (Day 1)**
|
||||
- Title and meta tags
|
||||
- H1 optimization
|
||||
- Mobile responsiveness
|
||||
- Page speed < 4s
|
||||
|
||||
2. **High (Week 1)**
|
||||
- Schema markup
|
||||
- Internal linking
|
||||
- Image optimization
|
||||
- Content optimization
|
||||
|
||||
3. **Medium (Week 2-3)**
|
||||
- Naver optimization
|
||||
- FAQ implementation
|
||||
- Social proof elements
|
||||
- Analytics setup
|
||||
|
||||
4. **Low (Month 2)**
|
||||
- A/B testing
|
||||
- Advanced schema
|
||||
- Link building
|
||||
- Content expansion
|
||||
Reference in New Issue
Block a user