# AI Analysis for Post Migration & Automation ## Complete Workflow This guide shows you how to export posts, get AI recommendations, and automate the migrations. --- ## Step 1: Export All Posts ```bash python scripts/export_posts_for_ai_decision.py ``` **Output:** `output/reports/all_posts_for_ai_decision_TIMESTAMP.csv` This creates a CSV with all post details (title, content, current site, etc.) --- ## Step 2: Analyze with AI and Get Recommendations ```bash python scripts/ai_analyze_posts_for_decisions.py \ output/reports/all_posts_for_ai_decision_TIMESTAMP.csv ``` **What happens:** 1. ✓ Reads your posts CSV 2. ✓ Sends batches to Claude via OpenRouter 3. ✓ Gets clear, actionable recommendations 4. ✓ Creates multiple output CSVs --- ## Output Files Generated ### 1. Main File: `posts_with_ai_recommendations_TIMESTAMP.csv` Contains ALL posts with AI recommendations added: | site | post_id | title | decision | recommended_category | reason | priority | ai_notes | |------|---------|-------|----------|---------------------|--------|----------|----------| | mistergeek.net | 2845 | Best VPN 2025 | Keep on mistergeek.net | VPN | High traffic, core topic | High | Already optimized | | mistergeek.net | 1234 | YggTorrent Guide | Move to webscroll.fr | Torrenting | Torrent content | Medium | Good SEO potential | | mistergeek.net | 5678 | Niche Post | Move to hellogeek.net | Other | Low traffic | Low | Experimental content | ### 2. Action-Specific Files **`posts_to_move_TIMESTAMP.csv`** - Only posts with "Move to X" decisions - Ready for export/import automation **`posts_to_consolidate_TIMESTAMP.csv`** - Posts with "Consolidate with post_id:X" decisions - Indicates which posts are duplicates **`posts_to_delete_TIMESTAMP.csv`** - Posts marked for deletion - Low quality, spam, or zero traffic --- ## Understanding Decisions ### Decision Types | Decision | Meaning | Action | |----------|---------|--------| | `Keep on mistergeek.net` | High-value, optimized | Optimize & promote | | `Move to webscroll.fr` | Torrenting/file-sharing | Export & import | | `Move to hellogeek.net` | Low-traffic/experimental | Export & import | | `Consolidate with post_id:2845` | Duplicate content | Merge into post 2845 | | `Delete` | Low quality or spam | Delete from WordPress | ### Categories AI assigns one of these categories: - **VPN** - VPN & privacy tools - **Software/Tools** - Software reviews & guides - **Gaming** - Gaming content & emulation - **Streaming** - Streaming guides & tools - **Torrenting** - Torrent trackers & guides - **File-Sharing** - File-sharing services - **SEO** - SEO & marketing content - **Content Marketing** - Marketing strategies - **Other** - Miscellaneous ### Priority - **High**: Act first (traffic, core content, duplicates) - **Medium**: Act second (important but less urgent) - **Low**: Act last (niche, experimental, low impact) --- ## Automation-Friendly Format The recommendations are designed for automation: ``` "decision": "Move to webscroll.fr" → Export post from mistergeek.net → Import to webscroll.fr → Set 301 redirect "decision": "Consolidate with post_id:2845" → Merge content into post 2845 → Set 301 redirect from this post "recommended_category": "VPN" → Set WordPress category to "VPN" "decision": "Delete" → Remove post from WordPress ``` --- ## Example: Using Recommendations ### Review Moves ```bash open output/reports/posts_to_move_*.csv ``` Shows all posts that should move sites: ``` post_id | title | current_site | decision | reason 1234 | YggTorrent Guide | mistergeek.net | Move to webscroll.fr | Torrent content 5678 | File Sharing | mistergeek.net | Move to webscroll.fr | File-sharing focus 9012 | Experiment | mistergeek.net | Move to hellogeek.net | Very low traffic ``` ### Review Consolidations ```bash open output/reports/posts_to_consolidate_*.csv ``` Shows duplicates: ``` post_id | title | decision | reason 100 | Best VPN 2025 | Consolidate with post_id:2845 | Duplicate topic 101 | VPN Review | Consolidate with post_id:2845 | Similar content 102 | Top VPNs | Consolidate with post_id:2845 | Same theme ``` Action: Keep post 2845, merge content from 100/101/102, delete others with 301 redirects. --- ## Cost & Performance ### API Usage For 368 posts in batches of 10: - **Batches**: ~37 API calls - **Tokens**: ~300-400k total - **Cost**: ~$1.50-2.00 (well within €50 budget) - **Time**: ~5-10 minutes ### Token Breakdown | Operation | Tokens | Cost | |-----------|--------|------| | Analyze 10 posts | ~8-10k | ~$0.04-0.05 | | Full 368 posts | ~300k | ~$1.50 | --- ## Complete End-to-End Workflow ```bash # Step 1: Export all posts (5 min) python scripts/export_posts_for_ai_decision.py # Step 2: Analyze with AI (10 min) python scripts/ai_analyze_posts_for_decisions.py \ output/reports/all_posts_for_ai_decision_20260216_150000.csv # Step 3: Review recommendations open output/reports/posts_with_ai_recommendations_*.csv # Step 4: Create master decision sheet (in Google Sheets) # Copy recommendations, add "Completed" column, share with team # Step 5: Execute moves (Week 1-4) # For each post in posts_to_move_*.csv: # 1. Export from source site # 2. Import to destination site # 3. Set 301 redirect # 4. Update internal links # Step 6: Consolidate duplicates (Week 3-4) # For each post in posts_to_consolidate_*.csv: # 1. Merge content into target post # 2. Set 301 redirect # 3. Delete old post # Step 7: Delete posts (Week 4) # For each post in posts_to_delete_*.csv: # 1. Verify no traffic # 2. Delete post # 3. No redirect needed ``` --- ## Example Output ### Terminal Output ``` ====================================================================== AI-POWERED POST ANALYSIS AND RECOMMENDATIONS ====================================================================== Loading CSV: output/reports/all_posts_for_ai_decision_20260216_150000.csv ✓ Loaded 368 posts from CSV mistergeek.net: 328 posts webscroll.fr: 17 posts hellogeek.net: 23 posts ====================================================================== ANALYZING POSTS WITH AI ====================================================================== Processing 368 posts in 37 batches of 10... Batch 1/37: Analyzing 10 posts... Sending batch to Claude for analysis... ✓ Got recommendations (tokens: 8234+1456) Batch 2/37: Analyzing 10 posts... ... ✓ Analysis complete! Total recommendations: 368 API calls: 37 Estimated cost: $1.84 ====================================================================== ANALYSIS SUMMARY ====================================================================== DECISIONS: Keep on mistergeek.net: 185 posts Move to webscroll.fr: 42 posts Move to hellogeek.net: 89 posts Consolidate with post_id:XX: 34 posts Delete: 18 posts RECOMMENDED CATEGORIES: VPN: 52 Software/Tools: 48 Gaming: 45 Torrenting: 42 Other: 181 ... PRIORITY BREAKDOWN: High: 95 posts Medium: 187 posts Low: 86 posts ====================================================================== EXPORTING RESULTS ====================================================================== ✓ Main file: output/reports/posts_with_ai_recommendations_20260216_150000.csv ✓ Moves file (42 posts): output/reports/posts_to_move_20260216_150000.csv ✓ Consolidate file (34 posts): output/reports/posts_to_consolidate_20260216_150000.csv ✓ Delete file (18 posts): output/reports/posts_to_delete_20260216_150000.csv ====================================================================== NEXT STEPS ====================================================================== 1. Review main file with all recommendations: output/reports/posts_with_ai_recommendations_20260216_150000.csv 2. Execute moves (automate with script): output/reports/posts_to_move_20260216_150000.csv 3. Consolidate duplicates: output/reports/posts_to_consolidate_20260216_150000.csv 4. Delete low-quality posts: output/reports/posts_to_delete_20260216_150000.csv ✓ Analysis complete! ``` --- ## Integration with Other Tools ### Future: Export/Import Automation Once you have recommendations, you could automate: ```python # Pseudo-code for automation for post in posts_to_move: 1. Export post XML from source site 2. Import to destination site 3. Create 301 redirect 4. Update internal links ``` ### Future: Category Bulk Update ```python # Pseudo-code for category automation for post in all_posts: 1. Read recommended_category from CSV 2. Set post category via WordPress API 3. Update in bulk ``` --- ## Troubleshooting ### "OPENROUTER_API_KEY not set" - Make sure .env file has OPENROUTER_API_KEY - Verify key is valid and has credits - Check file permissions ### "Could not find JSON array in response" - AI response format might have changed - Check OpenRouter API documentation - Try again (might be temporary API issue) ### CSV files are empty - Check export worked: verify `all_posts_for_ai_decision_*.csv` exists - Verify WordPress API is working - Check credentials in .env ### High cost than expected - Check batch size (default is 10) - Could reduce to batches of 5 for less cost - Or use a cheaper model (GPT-3.5 instead of Claude) --- ## Next Steps Ready to analyze? ```bash # Step 1: Export posts python scripts/export_posts_for_ai_decision.py # Step 2: Get AI recommendations python scripts/ai_analyze_posts_for_decisions.py \ output/reports/all_posts_for_ai_decision_*.csv # Step 3: Review and execute! ``` Let me know when you're ready to start! 🚀