11 KiB
Debugging Guide - December 1, 2025
Issues to Fix
Issue 1: Status Not Changing from 'review' to 'published'
Symptom: Content stays in "review" status in IGNY8 app after clicking Publish button
What to check:
- Go to https://app.igny8.com/settings/debug-status
- Click "Publish" on a content item in Review page
- Look for these log messages in IGNY8 backend logs:
[publish_content_to_wordpress] 📦 Preparing content payload...Content status: 'review'or'published'💾 Content model updated: Status: 'X' → 'published'
Expected flow:
- User clicks Publish → Status immediately changes to 'published' in IGNY8
- Celery task queues WordPress publish
- WordPress responds with post_id and post_url
- IGNY8 updates external_id and external_url
Issue 2: No WP Status Column on Published Page
Symptom: Published page doesn't show WordPress post status
What to check:
- Call:
GET https://app.igny8.com/api/v1/writer/content/{id}/wordpress_status/ - Expected response:
{
"success": true,
"data": {
"wordpress_status": "publish",
"external_id": 123,
"external_url": "https://site.com/post",
"post_title": "...",
"last_checked": "2025-12-01T..."
}
}
WordPress endpoint:
GET https://yoursite.com/wp-json/igny8/v1/post-status/{post_id}/
Issue 3: Custom Taxonomy/Attribute Columns Still Showing
Symptom: WordPress admin shows "Taxonomy" and "Attribute" columns
What to check:
- Go to WordPress admin → Posts → All Posts
- Check column headers
- Should ONLY see: Title, Author, Categories, Tags, Date
- Should NOT see: Taxonomy, Attribute
If still showing: Clear WordPress object cache and refresh page
Issue 4: Tags, Categories, Images Not Saving
Symptom: WordPress posts don't have tags, categories, or images after publishing
What to check in logs:
IGNY8 Backend Logs (Celery worker output):
[publish_content_to_wordpress] Found X taxonomy mappings
[publish_content_to_wordpress] 📁 Added category: 'Category Name'
[publish_content_to_wordpress] Found X images for content
[publish_content_to_wordpress] 🖼️ Featured image: https://...
[publish_content_to_wordpress] 🏷️ Primary keyword (tag): 'keyword'
[publish_content_to_wordpress] 📊 TOTAL: X categories, Y tags
[publish_content_to_wordpress] 📦 Payload summary:
- Categories: [...]
- Tags: [...]
- Featured image: Yes
- Gallery images: N
WordPress Logs (debug.log):
========== IGNY8 PUBLISH REQUEST ==========
Content ID: 123
Categories: ["Category1","Category2"]
Tags: ["tag1","tag2","tag3"]
Featured Image: https://...
Gallery Images: 2 images
===========================================
========== IGNY8 CREATE WP POST ==========
IGNY8: Processing 2 categories
IGNY8: ✅ Assigned 2 categories to post 456
IGNY8: Processing 3 tags
IGNY8: ✅ Assigned 3 tags to post 456
IGNY8: Setting featured image from featured_image_url field: https://...
IGNY8: Setting gallery with 2 images
IGNY8: Setting SEO meta title: ...
========== IGNY8 POST CREATION COMPLETE: Post ID 456 ==========
How to Enable Logging
IGNY8 Backend
- Celery logs are automatically output to console
- Run Celery worker with:
celery -A igny8_core worker -l info - Or check Docker logs:
docker logs -f igny8_celery
WordPress
- Enable debug mode in
wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
-
Check logs at:
wp-content/debug.log -
Tail logs in real-time:
tail -f wp-content/debug.log
Test Procedure
Test Case 1: Publish Content with Full Metadata
-
Create content in IGNY8 with:
- Title: "Test Content Dec 1"
- Content HTML: Full article body
- ContentTaxonomyMap: Link to taxonomy term "Marketing"
- Primary Keyword: "seo strategy"
- Secondary Keywords: ["digital marketing", "content marketing"]
- Images: 1 featured, 2 gallery
-
Click Publish button
-
Check IGNY8 logs for:
- ✅ Categories extracted: Should see "Marketing"
- ✅ Tags extracted: Should see "seo strategy", "digital marketing", "content marketing"
- ✅ Images extracted: Should see featured + 2 gallery
- ✅ Status changed to 'published'
-
Check WordPress logs for:
- ✅ Received categories array with "Marketing"
- ✅ Received tags array with 3 items
- ✅ Received featured_image_url
- ✅ Received gallery_images array with 2 items
- ✅ Post created with ID
- ✅ Categories assigned
- ✅ Tags assigned
- ✅ Images downloaded and attached
-
Check WordPress admin:
- Go to Posts → All Posts
- Find the post "Test Content Dec 1"
- Open it for editing
- Verify:
- ✅ Categories: "Marketing" is checked
- ✅ Tags: "seo strategy", "digital marketing", "content marketing" appear
- ✅ Featured image is set
- ✅ Gallery images are in media library
Test Case 2: Check Status Sync
- Publish content from IGNY8
- Immediately check IGNY8 app → Published page
- ✅ Content should appear with status "Published"
- Call WordPress status endpoint
- ✅ Should return wordpress_status: "publish"
Common Issues
Issue: No categories/tags being sent
Diagnosis:
- Check IGNY8 logs for:
Found 0 taxonomy mappings - Check IGNY8 logs for:
No primary keyword found
Solution:
- Ensure Content has ContentTaxonomyMap entries
- Ensure Content has primary_keyword and secondary_keywords populated
Issue: Images not appearing
Diagnosis:
- Check IGNY8 logs for:
Found 0 images for content
Solution:
- Ensure Images model has records linked to content
- Ensure Images have image_url populated
- Ensure Images have correct image_type ('featured' or 'in_article')
Issue: WordPress receives empty arrays
Diagnosis:
- WordPress logs show:
Categories: [],Tags: []
Solution:
- This means IGNY8 backend is not extracting data from Content model
- Check that Content.id matches the one being published
- Check that ContentTaxonomyMap.content_id matches Content.id
- Check that Images.content_id matches Content.id
Issue: Status not updating in IGNY8
Diagnosis:
- IGNY8 logs show status change but app still shows "review"
Solution:
- Check if frontend is polling/refreshing after publish
- Check if Content.status field is actually being saved
- Check database directly:
SELECT id, title, status FROM content_content WHERE id = X;
Database Queries for Debugging
Check Content Status
SELECT
id,
title,
status,
external_id,
external_url,
primary_keyword,
secondary_keywords
FROM content_content
WHERE id = YOUR_CONTENT_ID;
Check Taxonomy Mappings
SELECT
ctm.id,
ctm.content_id,
t.name as taxonomy_name
FROM content_contenttaxonomymap ctm
JOIN content_taxonomy t ON ctm.taxonomy_id = t.id
WHERE ctm.content_id = YOUR_CONTENT_ID;
Check Images
SELECT
id,
content_id,
image_type,
image_url,
position
FROM writer_images
WHERE content_id = YOUR_CONTENT_ID
ORDER BY position;
Check WordPress Post Meta
-- In WordPress database
SELECT
post_id,
meta_key,
meta_value
FROM wp_postmeta
WHERE post_id = YOUR_POST_ID
AND meta_key LIKE '_igny8_%';
Check WordPress Post Terms
-- In WordPress database
SELECT
tr.object_id as post_id,
tt.taxonomy,
t.name as term_name
FROM wp_term_relationships tr
JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
JOIN wp_terms t ON tt.term_id = t.term_id
WHERE tr.object_id = YOUR_POST_ID;
Next Steps
- Test with sample content following Test Case 1 above
- Collect all log output from both IGNY8 and WordPress
- Share logs for analysis if issues persist
- Check database using queries above to verify data exists
Log Locations
IGNY8 Backend
- Celery worker console output
- Docker logs:
docker logs igny8_celery - Django logs:
igny8/backend/logs/(if configured)
WordPress
wp-content/debug.log- Apache/Nginx error logs
- PHP error logs
Expected Log Flow
When everything works correctly, you should see this sequence:
1. IGNY8 Backend (when Publish clicked):
[ContentViewSet.publish] Queued Celery task abc-123 for content 456, status set to 'published'
[publish_content_to_wordpress] 🎯 Celery task started: content_id=456
[publish_content_to_wordpress] 📄 Content loaded: title='Test Article'
[publish_content_to_wordpress] Found 2 taxonomy mappings
[publish_content_to_wordpress] 📁 Added category: 'Marketing'
[publish_content_to_wordpress] 📁 Added category: 'Technology'
[publish_content_to_wordpress] Found 3 images for content
[publish_content_to_wordpress] 🖼️ Featured image: https://...
[publish_content_to_wordpress] 🖼️ Gallery image #1: https://...
[publish_content_to_wordpress] 🖼️ Gallery image #2: https://...
[publish_content_to_wordpress] 🏷️ Primary keyword (tag): 'seo strategy'
[publish_content_to_wordpress] 🏷️ Added 2 secondary keywords as tags
[publish_content_to_wordpress] 📊 TOTAL: 2 categories, 3 tags
[publish_content_to_wordpress] 🚀 POSTing to WordPress: https://site.com/wp-json/...
[publish_content_to_wordpress] 📦 Payload summary:
- Categories: ['Marketing', 'Technology']
- Tags: ['seo strategy', 'digital marketing', 'content marketing']
- Featured image: Yes
- Gallery images: 2
[publish_content_to_wordpress] 📬 WordPress response: status=201
[publish_content_to_wordpress] ✅ WordPress post created successfully: post_id=789
[publish_content_to_wordpress] 💾 Content model updated:
- Status: 'published' → 'published'
- External ID: 789
- External URL: https://site.com/test-article/
[publish_content_to_wordpress] 🎉 Successfully published content 456 to WordPress post 789
2. WordPress (receiving publish request):
========== IGNY8 PUBLISH REQUEST ==========
Content ID: 456
Task ID: 123
Title: Test Article
Content HTML: 5234 chars
Categories: ["Marketing","Technology"]
Tags: ["seo strategy","digital marketing","content marketing"]
Featured Image: https://...
Gallery Images: 2 images
SEO Title: YES
SEO Description: YES
Primary Keyword: seo strategy
===========================================
========== IGNY8 CREATE WP POST ==========
Content ID: 456
Task ID: 123
Title: Test Article
IGNY8: Processing 2 categories
IGNY8: ✅ Assigned 2 categories to post 789
IGNY8: Processing 3 tags
IGNY8: ✅ Assigned 3 tags to post 789
IGNY8: Setting featured image from featured_image_url field: https://...
IGNY8: Setting gallery with 2 images
IGNY8: Setting SEO meta title: Test Article - SEO Title
IGNY8: Setting SEO meta description
========== IGNY8 POST CREATION COMPLETE: Post ID 789 ==========
If you don't see these logs, something is broken in the flow.
Created: December 1, 2025
Purpose: Diagnose why fixes didn't work and provide step-by-step debugging