Skip to main content
Moving a site to Laravel is only half the migration. Pro imports Disqus XML and WordPress WXR into the same polymorphic comments table Livewire and the API already use. Requires core.allow_guests — imported authors become guest comments (guest_name / guest_email). Enable guests first. Migrate (or recreate) articles so each commentable has a stable id you can pass as --id.

Disqus

Export XML from Disqus admin. Map each thread to one commentable:

WordPress

Tools → Export (WXR) including comments:
--dry-run parses and counts without writing.

Options (both commands)

Idempotency

Each source row stores import_source (disqus or wordpress) + import_id. Re-running skips rows that already exist and still rebuilds the parent map so nesting survives a partial first run. Core 4.0 indexed these columns on comments. Parent/child ids rematerialize in a second pass after all rows are inserted. Original timestamps are preserved when the export includes them.

After import

Point the frontend at the commentable as usual:
Or React/Vue with the same alias. Deep links to #comment-{id} work once commentifyUrl() is implemented — old Disqus URLs will not magically redirect; keep a mapping if SEO depends on them.
Last modified on September 12, 2026