MksDdn Migrate Content is a clean-room migration suite that packages your site into deterministic .wpbkp archives. Each bundle contains a manifest, checksum, database segments, media, selected files, and user decisions, so imports stay predictable.
.wpbkp archives ship with manifests and checksums; imports verify capabilities, nonces, and disk space before touching data.content.json, media/, options/, filesystem slices).wp-content/uploads, wp-content/plugins, wp-content/mu-plugins, wp-content/themes with filters to skip VCS/system files.wp-content/uploads/mksddn-mc/imports/ directory without browser uploads..wpbkp drag-and-drop uploader with checksum guardrails (UI polish deferred to next milestone, functionality already complete).The plugin follows SOLID principles and WordPress Coding Standards with a clean, modular architecture:
ServiceContainer manages all dependenciesCoreServiceProvider, AdminServiceProvider, ExportServiceProvider, ImportServiceProvider, ChunkServiceProvider) register servicesExportRequestHandler – handles export requestsImportRequestHandler – delegates to specialized import services (supports unified import via UnifiedImportOrchestrator)UserMergeRequestHandler – processes user merge operationsThemePreviewRequestHandler – handles theme preview cancel operationsChunkRestController – REST API controller for chunked upload/download operationsSelectedContentImportService – handles selected content importsFullSiteImportService – manages full site importsThemeImportService – handles theme archive importsUnifiedImportOrchestrator – orchestrates unified import with automatic type detection and routingImportTypeDetector – detects import type (full site or selected content) from archive fileImportFileValidator – validates uploaded filesImportPayloadPreparer – prepares import payloadsServerBackupScanner – scans and validates backup files on the serverResponseHandler – manages redirects and status messagesNotificationService – handles user notificationsProgressService – tracks operation progressErrorHandler – centralized error handling and loggingUserDiffBuilder – builds user difference comparisonUserMergeApplier – applies user merge operationsThemePreviewStore – stores pending theme import previewsAll key components implement interfaces:
* ExporterInterface, ImporterInterface
* MediaCollectorInterface, ChunkJobRepositoryInterface
* UserPreviewStoreInterface, ThemePreviewStoreInterface, UserDiffBuilderInterface, UserMergeApplierInterface
* NotificationServiceInterface, ProgressServiceInterface
* ArchiveHandlerInterface, ValidatorInterface
* Request handler interfaces for all handlers
ValidationException, FileOperationException, DatabaseOperationException, ImportException, ExportExceptionErrorHandler for consistent error processingArchiveValidator, ImportDataValidator, ExportDataValidator, FileValidatorBatchLoader for optimized database queries (prevents N+1 problems)AttachmentCollector)ChunkRestController)FullArchivePayload for efficient archive payload handlingContentCollector for filesystem content collectioncurrent_user_can('manage_options')esc_html(), esc_attr(), esc_url()ServerBackupScanner)SiteUrlGuard prevents accidental site URL changes during importImportLock prevents concurrent import operationsDomainReplacer safely handles URL replacement during migrations