6.1 KiB
Quick Deployment Guide - WordPress Integration Fixes
Date: November 30, 2025
Pre-Deployment Checklist
- Backup database
- Backup WordPress site
- Stop Celery workers
- Note current content count in "Published" status
Step 1: Apply Database Migration
cd /data/app/igny8/backend
source .venv/bin/activate
python manage.py migrate integration
Expected output:
Running migrations:
Applying integration.0002_add_sync_event_model... OK
Verify migration:
python manage.py showmigrations integration
Should show:
integration
[X] 0001_initial
[X] 0002_add_sync_event_model
Step 2: Restart Backend Services
If using systemd:
sudo systemctl restart igny8-backend
sudo systemctl restart igny8-celery-worker
sudo systemctl status igny8-backend
sudo systemctl status igny8-celery-worker
If using Docker:
cd /data/app/igny8
docker-compose restart backend
docker-compose restart celery
docker-compose logs -f celery # Check for errors
If using screen/tmux:
# Stop Celery worker (Ctrl+C in screen session)
# Start again:
celery -A igny8_core worker --loglevel=info
Step 3: Update WordPress Plugin (if needed)
Option A: If plugin files were updated via git:
# On server
cd /data/app/igny8/igny8-wp-plugin
git pull origin main
# Copy to WordPress plugins directory
cp -r /data/app/igny8/igny8-wp-plugin /var/www/html/wp-content/plugins/igny8-bridge
Option B: Manual file transfer: Upload these modified files to WordPress:
igny8-wp-plugin/sync/igny8-to-wp.phpigny8-wp-plugin/sync/post-sync.php
No WordPress settings changes needed!
Step 4: Verify Everything Works
Test 1: Check Database Table
cd /data/app/igny8/backend
source .venv/bin/activate
python manage.py dbshell
-- Check table exists
\dt igny8_sync_events
-- Check initial structure
SELECT COUNT(*) FROM igny8_sync_events;
Test 2: Publish Test Content
- Go to IGNY8 Review page
- Click "Publish" on any content
- Wait 10 seconds
- Go to Published page
- Expected: WP Status shows "Published" (green)
Test 3: Check Debug Status Page
- Go to Settings → Debug Status
- Select WordPress integration
- Expected: See sync event for the test publish
Test 4: Check WordPress
- Go to WordPress admin → Posts
- Find the published post
- Expected: Post exists with all fields (categories, tags, SEO, image)
Test 5: Test Status Sync from WordPress
- In WordPress, change post from "Published" to "Draft"
- Wait 5 seconds
- Go to IGNY8 Published page
- Expected: WP Status shows "Draft" (gray)
- Expected: Debug Status shows webhook event
Step 5: Monitor for Issues
Watch Celery logs:
# Docker
docker-compose logs -f celery | grep "publish_content_to_wordpress"
# Systemd
sudo journalctl -u igny8-celery-worker -f
# Manual
# Just check the screen/tmux session
Look for:
- ✅ "Successfully published content X to WordPress post Y"
- ✅ "Content model updated: external_id=..."
- ✅ "Status webhook sent for content..."
Red flags:
- ❌ "Failed to publish"
- ❌ "Exception during publish"
- ❌ "Status webhook failed"
Watch WordPress error log:
tail -f /var/www/html/wp-content/debug.log
Look for:
- ✅ "IGNY8: Status webhook sent for content..."
- ✅ "IGNY8: ✅ WordPress post created"
Red flags:
- ❌ "IGNY8: Status webhook failed"
- ❌ "IGNY8: NOT AUTHENTICATED"
Rollback Plan (if needed)
If migration breaks:
cd /data/app/igny8/backend
source .venv/bin/activate
python manage.py migrate integration 0001_initial
If Celery errors:
# Restore old task file from git
cd /data/app/igny8/backend
git checkout HEAD~1 igny8_core/tasks/wordpress_publishing.py
sudo systemctl restart igny8-celery-worker
If WordPress errors:
# Restore old plugin files from git
cd /data/app/igny8/igny8-wp-plugin
git checkout HEAD~1 sync/igny8-to-wp.php sync/post-sync.php
# Copy to WordPress
cp -r /data/app/igny8/igny8-wp-plugin /var/www/html/wp-content/plugins/igny8-bridge
Common Issues & Fixes
Issue: "No module named 'SyncEvent'"
Cause: Migration not applied
Fix: Run python manage.py migrate integration
Issue: Celery task failing with "SyncEvent not found"
Cause: Celery running old code
Fix: sudo systemctl restart igny8-celery-worker
Issue: Webhook returns 404
Cause: URLs not registered
Fix: sudo systemctl restart igny8-backend
Issue: WordPress webhook not sending
Cause: API key not set or wrong
Fix: Check WordPress Settings → IGNY8 Bridge → API Key
Issue: Debug status shows no events
Cause: Database not created or migration failed
Fix: Check migration status, verify table exists
Performance Monitoring
Check SyncEvent table size:
SELECT COUNT(*),
pg_size_pretty(pg_total_relation_size('igny8_sync_events')) as size
FROM igny8_sync_events;
Check recent events:
SELECT event_type, COUNT(*),
AVG(duration_ms) as avg_duration,
MAX(duration_ms) as max_duration
FROM igny8_sync_events
WHERE created_at > NOW() - INTERVAL '1 hour'
GROUP BY event_type;
Cleanup old events (optional):
-- Delete events older than 30 days
DELETE FROM igny8_sync_events WHERE created_at < NOW() - INTERVAL '30 days';
Success Metrics
After deployment, you should see:
- ✅ 0 errors in Celery logs for publishing
- ✅ 100% of published content has
external_idset - ✅ All published content shows WP Status on Published page
- ✅ Debug Status page shows real events for each publish
- ✅ WordPress posts have all fields (categories, tags, images, SEO)
- ✅ Status changes in WordPress sync back to IGNY8 within 5 seconds
Contact/Support
If you encounter issues:
- Check logs (Celery, Django, WordPress debug.log)
- Review troubleshooting section in main documentation
- Verify all services restarted after deployment
- Check network connectivity (IGNY8 ↔ WordPress)
- Verify API keys match on both sides
Good luck with deployment! 🚀