Files
seo/guides/QUICKSTART_ANALYZER.md
Kevin Bataille 8c7cd24685 Refactor SEO automation into unified CLI application
Major refactoring to create a clean, integrated CLI application:

### New Features:
- Unified CLI executable (./seo) with simple command structure
- All commands accept optional CSV file arguments
- Auto-detection of latest files when no arguments provided
- Simplified output directory structure (output/ instead of output/reports/)
- Cleaner export filename format (all_posts_YYYY-MM-DD.csv)

### Commands:
- export: Export all posts from WordPress sites
- analyze [csv]: Analyze posts with AI (optional CSV input)
- recategorize [csv]: Recategorize posts with AI
- seo_check: Check SEO quality
- categories: Manage categories across sites
- approve [files]: Review and approve recommendations
- full_pipeline: Run complete workflow
- analytics, gaps, opportunities, report, status

### Changes:
- Moved all scripts to scripts/ directory
- Created config.yaml for configuration
- Updated all scripts to use output/ directory
- Deprecated old seo-cli.py in favor of new ./seo
- Added AGENTS.md and CHANGELOG.md documentation
- Consolidated README.md with updated usage

### Technical:
- Added PyYAML dependency
- Removed hardcoded configuration values
- All scripts now properly integrated
- Better error handling and user feedback

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-16 14:24:44 +01:00

146 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Quick Start: Multi-Site SEO Analyzer
## 30-Second Setup
### 1. Configure WordPress Access
Update `.env` with your 3 site credentials:
```bash
WORDPRESS_MISTERGEEK_URL=https://www.mistergeek.net
WORDPRESS_MISTERGEEK_USERNAME=your_username
WORDPRESS_MISTERGEEK_PASSWORD=your_app_password
WORDPRESS_WEBSCROLL_URL=https://www.webscroll.fr
WORDPRESS_WEBSCROLL_USERNAME=your_username
WORDPRESS_WEBSCROLL_PASSWORD=your_app_password
WORDPRESS_HELLOGEEK_URL=https://www.hellogeek.net
WORDPRESS_HELLOGEEK_USERNAME=your_username
WORDPRESS_HELLOGEEK_PASSWORD=your_app_password
```
### 2. Run Analyzer
```bash
# With AI recommendations (recommended)
python scripts/multi_site_seo_analyzer.py
# Without AI (faster, free)
python scripts/multi_site_seo_analyzer.py --no-ai
# Custom AI posts (top 20)
python scripts/multi_site_seo_analyzer.py --top-n 20
```
### 3. Review Results
```bash
# Markdown summary (human-friendly)
open output/reports/seo_analysis_*_summary.md
# Detailed CSV (for importing to sheets)
open output/reports/seo_analysis_*.csv
```
## What Gets Analyzed
### Title (40% of score)
- ✓ Length: 50-70 characters optimal
- ✓ Power words: "best", "complete", "guide", etc.
- ✓ Numbers: "2025", "Top 10", etc.
- ✓ Readability: No weird special chars
### Meta Description (60% of score)
- ✓ Present: Required for full score
- ✓ Length: 120-160 characters optimal
- ✓ Call-to-action: "learn", "discover", "find", etc.
- ✓ Compelling: Not just keywords
## Cost
| Command | Cost | Time |
|---------|------|------|
| `--no-ai` | $0 | 2-3 min |
| `-top-n 10` | ~$0.10 | 5-10 min |
| `-top-n 20` | ~$0.50 | 10-15 min |
| `-top-n 50` | ~$1.00 | 20-30 min |
## Understanding Output
### Score Ranges
| Score | Status | Action |
|-------|--------|--------|
| 0-25 | Critical | Fix immediately |
| 25-50 | Poor | Optimize soon |
| 50-75 | Fair | Improve when possible |
| 75-90 | Good | Minor tweaks only |
| 90-100 | Excellent | No changes needed |
### Priority Order
1. Posts with score < 50 (biggest impact)
2. Posts with missing meta description (easy fix)
3. Posts with weak titles (quick improvement)
4. High-traffic posts with any issues (traffic × improvement)
## One-Liner to Get Started
If all 3 sites use the **same credentials**:
```bash
# Just set primary site, others inherit
WORDPRESS_URL=https://www.mistergeek.net \
WORDPRESS_USERNAME=your_user \
WORDPRESS_APP_PASSWORD=your_pass \
OPENROUTER_API_KEY=your_key \
python scripts/multi_site_seo_analyzer.py --no-ai
```
## Common Commands
```bash
# Published posts only (default)
python scripts/multi_site_seo_analyzer.py
# Published + draft posts
python scripts/multi_site_seo_analyzer.py --include-drafts
# Quick scan, no AI
python scripts/multi_site_seo_analyzer.py --no-ai
# Drafts + AI recommendations
python scripts/multi_site_seo_analyzer.py --include-drafts --top-n 10
# Analyze with recommendations for top 30
python scripts/multi_site_seo_analyzer.py --top-n 30
# Save to custom location
python scripts/multi_site_seo_analyzer.py --output my_report.csv
```
## Troubleshooting
**"No posts found"**
- Check credentials in .env
- Verify site is online
- Try without auth: remove username/password from config
**"Connection refused"**
- Verify site URLs (https, www)
- Check if REST API is enabled
- Try https://yoursite.com/wp-json/ in browser
**"No AI recommendations"**
- Check OPENROUTER_API_KEY is set
- Verify key has credits
- Use --no-ai to test other features
## Next Steps
1. Run: `python scripts/multi_site_seo_analyzer.py`
2. Open: `output/reports/seo_analysis_*_summary.md`
3. Implement: Top 5 recommendations per site
4. Re-run: 30 days later to track improvement