Files
ALwrity/docs/SEO/PHASE2A_DEPLOYMENT_CHECKLIST.md

304 lines
9.5 KiB
Markdown

"""
Phase 2A DEPLOYMENT CHECKLIST
Quick reference for deploying Phase 2A (Enterprise SEO + Advanced GSC Integration)
========================================
PRE-DEPLOYMENT VERIFICATION
========================================
Code Quality:
✓ enterprise_seo_service.py - Complete with full orchestration
✓ gsc_analyzer_service.py - Complete with 8 analysis dimensions
✓ seo_tools.py router - Updated with 6 new endpoints
✓ Comprehensive test suite - test_enterprise_gsc_services.py
✓ Full API documentation - PHASE2A_IMPLEMENTATION.md
Services Added:
✓ /api/seo/enterprise/complete-audit (POST)
✓ /api/seo/enterprise/quick-audit (POST)
✓ /api/seo/enterprise/health (GET)
✓ /api/seo/gsc/analyze-search-performance (POST)
✓ /api/seo/gsc/content-opportunities (POST)
✓ Error handling & logging for all endpoints
========================================
ENVIRONMENT CONFIGURATION NEEDED
========================================
Required Environment Variables:
□ GOOGLE_CLIENT_ID - From Google Cloud Console
□ GOOGLE_CLIENT_SECRET - From Google Cloud Console
□ GSC_REDIRECT_URI - OAuth callback URL
□ LLM_API_KEY - For AI insights generation (can be optional)
Optional Database Changes:
□ Add audit_results table for storing audit history
□ Add gsc_analysis_cache table for caching GSC data
□ Add user_keywords table for keyword tracking
========================================
DEPLOYMENT STEPS
========================================
1. CODE DEPLOYMENT
========================================
# Verify files are in place
- [ ] backend/services/seo_tools/enterprise_seo_service.py exists
- [ ] backend/services/seo_tools/gsc_analyzer_service.py exists
- [ ] backend/routers/seo_tools.py updated with new endpoints
- [ ] backend/tests/test_enterprise_gsc_services.py exists
- [ ] docs/SEO/PHASE2A_IMPLEMENTATION.md exists
- [ ] docs-site/mkdocs.yml updated
# Commands to run
cd backend
# Verify Python syntax
python -m py_compile services/seo_tools/enterprise_seo_service.py
python -m py_compile services/seo_tools/gsc_analyzer_service.py
# Run tests (optional but recommended)
pytest tests/test_enterprise_gsc_services.py -v
# Check for import errors
python -c "from services.seo_tools.enterprise_seo_service import EnterpriseSEOService; print('✓ Imports successful')"
python -c "from services.seo_tools.gsc_analyzer_service import GSCAnalyzerService; print('✓ Imports successful')"
2. ENVIRONMENT SETUP
========================================
# Update .env file with required credentials
Set these environment variables:
GOOGLE_CLIENT_ID=your_client_id_here
GOOGLE_CLIENT_SECRET=your_client_secret_here
GSC_REDIRECT_URI=https://yourdomain.com/gsc/callback
LLM_API_KEY=your_llm_key_here (optional)
# Verify environment
python backend/check_gsc_config.py # Verify GSC credentials
3. DATABASE MIGRATION (Optional)
========================================
# If adding new tables for audit history
python backend/alembic/env.py upgrade head
# Or manually create tables if needed
See: backend/database/migrations/ for schema
4. SERVICE STARTUP & VERIFICATION
========================================
# Start backend (if not already running)
cd backend
python start_alwrity_backend.py --dev
# OR if using Gunicorn
gunicorn -c gunicorn_config.py app:app
# Verify health endpoints
curl http://localhost:8000/api/seo/health
curl http://localhost:8000/api/seo/enterprise/health
curl http://localhost:8000/api/seo/tools/status
# Check for errors in logs
tail -f logs/seo_tools/latest.log
5. ENDPOINT TESTING
========================================
# Test Enterprise Complete Audit
curl -X POST http://localhost:8000/api/seo/enterprise/complete-audit \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"website_url": "https://example.com"}'
# Test GSC Analysis
curl -X POST http://localhost:8000/api/seo/gsc/analyze-search-performance \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"site_url": "https://example.com", "date_range_days": 90}'
# Test Content Opportunities
curl -X POST http://localhost:8000/api/seo/gsc/content-opportunities \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"site_url": "https://example.com", "min_impressions": 100}'
Expected Response: 200 OK with structured data
6. FRONTEND INTEGRATION (If Applicable)
========================================
# Add to frontend API client
- [ ] Update api/seo.ts with new endpoint URLs
- [ ] Create UI components for enterprise audit
- [ ] Create UI components for GSC analysis
- [ ] Create UI components for content opportunities
- [ ] Add authentication tokens to requests
- [ ] Handle loading and error states
# Build and test frontend
cd frontend
npm run build
npm start
7. MONITORING & LOGGING
========================================
# Verify logging is working
- [ ] Check backend/logs/seo_tools/ directory exists
- [ ] Verify logs are being generated
- [ ] Check log format and detail level
# Monitor first requests
- [ ] Watch logs during first audit execution
- [ ] Check for any error messages
- [ ] Verify performance (should complete in 15-20 min)
# Set up alerts if using monitoring
- [ ] High error rate alerts (> 5% failures)
- [ ] Slow response time alerts (> 30 min)
- [ ] Service health check alerts
========================================
POST-DEPLOYMENT VERIFICATION
========================================
Functionality Checks:
✓ Complete audit returns all 5 component results
✓ Quick audit completes in < 5 minutes
✓ GSC analysis returns all 8 dimension results
✓ Content opportunities ranked by priority
✓ AI insights generate without errors
✓ Error handling works for invalid inputs
✓ Rate limiting enforced correctly
✓ Authentication required on all endpoints
Performance Checks:
✓ Complete audit: 15-20 minutes
✓ Quick audit: < 5 minutes
✓ GSC analysis: 2-3 minutes
✓ Content opportunities: 3-5 minutes
✓ Health checks: < 1 second
Data Checks:
✓ Overall scores calculated correctly (0-100)
✓ Component scores weighted properly
✓ Recommendations prioritized correctly
✓ Opportunities ranked by score
✓ Timestamps accurate
========================================
ROLLBACK PROCEDURE (If Issues Occur)
========================================
If you encounter critical issues:
1. Stop the service:
pkill -f "start_alwrity_backend.py"
2. Restore previous version:
git checkout HEAD~1 backend/services/seo_tools/enterprise_seo_service.py
git checkout HEAD~1 backend/services/seo_tools/gsc_analyzer_service.py
git checkout HEAD~1 backend/routers/seo_tools.py
3. Restart service:
python backend/start_alwrity_backend.py --dev
4. Verify health:
curl http://localhost:8000/api/seo/health
5. Document the issue:
Save logs and error messages for debugging
========================================
SUPPORT & TROUBLESHOOTING
========================================
Common Issues:
Issue: "ModuleNotFoundError: No module named 'services.seo_tools.enterprise_seo_service'"
Solution:
- Verify file exists at: backend/services/seo_tools/enterprise_seo_service.py
- Check Python path includes backend directory
- Run: python backend/start_alwrity_backend.py from project root
Issue: "GSC credentials not found"
Solution:
- Set GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET in .env
- Ensure gsc_credentials.json exists in backend/ directory
- Run: python backend/check_gsc_config.py to verify
Issue: Audit timeout (> 30 seconds)
Solution:
- Check internet connectivity
- Verify target website is accessible
- Use quick-audit instead for faster results
- Check logs for component-specific errors
Issue: "Rate limit exceeded" error
Solution:
- Complete audit: 1 per hour per user
- GSC analysis: 5 per hour per user
- Queue requests if exceeding limits
- Check frontend for duplicate submissions
For additional help:
- Check: docs/SEO/PHASE2A_IMPLEMENTATION.md
- Check logs: backend/logs/seo_tools/
- Run tests: pytest backend/tests/test_enterprise_gsc_services.py -v
- Review error details in API response
========================================
SUCCESS CRITERIA
========================================
Phase 2A deployment is successful when:
✓ All 6 new endpoints respond with 200 OK
✓ Enterprise audit completes and returns all scores
✓ GSC analysis identifies content opportunities
✓ All components execute in parallel without blocking
✓ Error handling works for edge cases
✓ Rate limiting prevents abuse
✓ Logging captures all important events
✓ Response times meet expectations
✓ Test suite passes without errors
✓ Frontend can call new endpoints with auth
✓ Users can view results in dashboard
Once all criteria are met: ✓ PHASE 2A DEPLOYMENT COMPLETE
========================================
PHASE 2B PREVIEW (Next Steps)
========================================
After Phase 2A stabilizes, Phase 2B includes:
- Schema markup generation service
- Text readability analyzer integration
- Custom reporting templates
- Scheduled audit automation
- Advanced competitor analysis
Estimated timeline for Phase 2B: 1 week
Last Updated: May 23, 2026
Status: Ready for Deployment
"""