Complete guide for migrating content from other CMS platforms to Joomla using the Advanced Migration Tool.
The JA Advanced Migration Tool interface - Simple, powerful, reliable
- Introduction / Overview
- Supported Source Platforms
- System Requirements (Joomla 5+)
- Installation & Setup
- Migration Workflow
- Component Plugin Architecture
- Troubleshooting
- FAQs
The Advanced Migration Tool is a powerful Joomla extension that enables seamless content migration from various CMS platforms to Joomla. It provides two flexible migration methods to accommodate different scenarios and technical requirements.
- Dual Migration Paths: Native export files OR standardized JSON format
- Complete Content Migration: Articles, Categories, Tags, Users, Menus Custom Fields, and Media
- Smart Media Transfer: FTP/FTPS/SFTP/ZIP with automatic URL rewriting
- Safe Operations: Duplicate detection, real-time progress tracking, and comprehensive logging
- Batch Processing: Optimized for migrating large sites.
- User-Friendly Interface: Intuitive workflow with clear progress indicators
| Method 1: Native Export Files | Method 2: JSON Export |
|---|---|
| Uses your CMS's standard export format | Uses our standardized JSON format |
| Requires CMS-specific Joomla plugins | Requires export plugin on source CMS |
| Best for: Standard migrations, official exports | Best for: Enhanced control, custom requirements |
| Platform | Method 1 (Native) | Method 2 (JSON) | Status |
|---|---|---|---|
| WordPress | ✅ WXR/XML Export | ✅ JSON Export | Fully Supported |
- Native Export: Uses WordPress WXR (WordPress eXtended RSS) format
- JSON Export: Enhanced export with our WordPress plugin
- Content Types: Posts, Pages, Categories, Tags, Users, Menus, Media, Custom Fields
-
Compatibility: Works with any CMS using our export plugins
-
Standardized Schema: JSON-LD format for consistent data structure
-
Extensibility: Easy to extend for new platforms
- Joomla: 5.x ✅ | 5.3+ ⭐ Recommended
- PHP: 8.1+
- Memory Limit: 128MB (256MB+ Recommended)
- Execution Time: 120s (300s Recommended)
- Upload Size: 32MB (100MB+ Recommended)
- Disk Space: 500MB+ free
zip- For media archive handlingftp- For FTP media migrationssh2- For SFTP media migration (optional)curl- For remote file operationsmbstring- For character encoding
📁 media/com_cmsmigrator/ → 755 (Write access for logs)
📁 images/ → 755 (Write access for media)
📁 tmp/ → 755 (Write access for uploads)
- Download the component package (
com_cmsmigrator.zip) - Login to Joomla Administrator
- Navigate to System → Install → Extensions
- Upload the component package
- Verify installation success
Component installation process
Install the appropriate plugin for your source CMS:
| Source CMS | Plugin Package | Installation Required |
|---|---|---|
| WordPress | plg_migration_wordpress.zip |
✅ Required for WXR files |
Installation Steps:
- Upload the plugin package via System → Install → Extensions
- Verify successful installation message
- Proceed to Step 3 to enable the plugin
No additional Joomla plugins required! The component includes built-in JSON processing.
Instead, install our export plugin on your source CMS:
| Source CMS | Export Plugin | Installation Location |
|---|---|---|
| WordPress | all-export-wp.zip |
WordPress Admin → Plugins |
- Navigate to Components → Migrate to Joomla
- Check that your source CMS appears in the dropdown
- Verify file upload functionality works
- Test connection features (if using media migration)
Successful installation of Component
- Access the migration tool: Components → CMS Migrator
- Select your source CMS from the dropdown (e.g., "WordPress")
- Ensure the corresponding plugin is installed and enabled
Source CMS selection interface
- Select "JSON" from the source CMS dropdown
- No additional plugins required in Joomla
- Prepare your JSON export file from the source CMS
- Click "Choose File" or drag and drop your export file
- Supported formats:
- WordPress:
.xml(WXR format) or.json - JSON:
.jsonfiles from our export plugins
- WordPress:
- Purpose: Enables proper media URL rewriting
- Format:
https://yoursourcesite.com(no trailing slash) - Example:
https://mywordpress.com
Choose your media transfer method:
| Method | Use Case | Configuration |
|---|---|---|
| FTP/FTPS | Live sites with FTP access | Host, Port, Username, Password |
| SFTP | Secure server environments | Host, SSH Port, Username, Password |
| ZIP Upload | Offline or restricted access | Upload media archive |
| Skip Media | Content-only migration | No additional setup |
Media migration configuration options
- Import as Super User: Assign all content to current administrator
- Preserve Authors: Maintain original authorship (creates user accounts)
- Click "Start Import"
- Monitor real-time progress
- View detailed operation logs
- Wait for completion confirmation
Real-time migration progress with detailed logging
After migration, you'll receive a detailed report:
📊 Migration Summary
✅ Articles: 150 imported, 5 skipped (duplicates)
✅ Categories: 12 imported
✅ Tags: 45 imported
✅ Users: 8 imported
✅ Media Files: 230 transferred
⚠️ Warnings: 3 (see logs for details)
Detailed migration completion report
The tool uses Joomla's event-driven plugin architecture for maximum flexibility and extensibility.
These plugins handle specific CMS export formats:
plugins/migration/
├── wordpress/ # WordPress WXR handler
Functionality:
- Parse source CMS export files
- Convert to standardized internal format
- Handle platform-specific quirks
These are installed on your source CMS to generate JSON exports:
Source CMS Plugins:
├── WordPress: all-export-wp/
Functionality:
- Access source CMS database directly
- Generate standardized JSON-LD format
- Include all content types and metadata
Plugin system architecture diagram
- Fresh installation recommended for major migrations
- Configure categories structure before migration
-
Increase PHP limits:
memory_limit = 512M max_execution_time = 600 upload_max_filesize = 200M
-
Migration in batches:
- Split large exports into smaller files
- Migrate content types separately
- Use multiple sessions for media
-
Server optimization:
- Temporary disable caching
- Increase database timeouts
- Monitor disk space
- Test connection first: Always verify FTP/SFTP before starting
- Use ZIP method for large media libraries (>500MB)
- Organize destination folders: Use dated folders for organization
- Monitor transfer progress: Large transfers can take hours
| Issue | Symptoms | Solution |
|---|---|---|
| File upload fails | Error on file selection | Increase upload_max_filesize and post_max_size |
| Timeout during upload | Page loads indefinitely | Increase max_execution_time |
| Invalid file format | "Unsupported file" error | Verify export file format and plugin installation |
| Corrupted export file | Parse errors during import | Re-export from source CMS, check file integrity |
| Issue | Symptoms | Solution |
|---|---|---|
| FTP connection failed | "Connection timeout" | Verify host, port (21), credentials, firewall settings |
| SFTP authentication error | "Auth failed" | Check SSH credentials, key authentication, port 22 |
| Permission denied | "Cannot write to directory" | Set 755 permissions on media directories |
| Database connection lost | "MySQL server has gone away" | Increase database timeout settings |
| Issue | Symptoms | Solution |
|---|---|---|
| Migration stops mid-process | Progress bar freezes | Check PHP memory limit, error logs |
| Partial content import | Some articles missing | Verify source file completeness, re-run migration |
| Broken media links | Images don't display | Check source URL configuration, media migration settings |
| Duplicate content errors | "Already exists" warnings | Normal behavior - existing content is skipped |
WordPress Plugin Issues:
Issue: "WordPress plugin not recognized"
Solution:
1. Verify plugin is installed and enabled
2. Check plugin group is "migration"
3. Clear Joomla cache
4. Re-install plugin if necessary
JSON Import Issues:
Issue: "Invalid JSON format"
Solution:
1. Validate JSON syntax online
2. Check file encoding (UTF-8)
3. Verify JSON-LD schema compliance
4. Re-export with updated plugin
For developer and testing information, see Developer Documentation and Testing Documentation. For creating new CMS plugins, see Plugin Development Guide. For frequently asked questions, see User FAQ.


