Migrate your WordPress site to Waaseyaa.
First-party WordPress source reader for the Waaseyaa migration platform. Imports a WordPress site — posts, pages, users, taxonomies, attachments, comments — from a WXR (WordPress eXtended RSS) export into a Waaseyaa-powered application.
composer require waaseyaa/migrate-source-wordpressIn your application's migration wiring:
use Waaseyaa\Migrate\Source\WordPress\Migration\WpUsersToAccounts;
use Waaseyaa\Migrate\Source\WordPress\Migration\WpPostsToArticles;
use Waaseyaa\Migrate\Source\WordPress\Wxr\WxrReader;
$reader = new WxrReader('/path/to/wp-export.xml');
return [
(new WpUsersToAccounts($reader, $yourAccountDestination))->definition(),
(new WpPostsToArticles($reader, $yourArticleDestination))->definition(),
// …users → terms → media → posts → comments, per FR-024
];Then:
bin/waaseyaa import:run-allThe runner walks the dependency chain — users → terms → media → posts → comments — and writes idempotently to your destination. See the operator guide for the full step-by-step.
WxrReader— streaming WXR XML parser (WXR 1.0 / 1.1 / 1.2) with skip-with-warning recovery.- Five source plugins:
WordPressUserSource,WordPressTaxonomySource,WordPressMediaSource,WordPressPostSource,WordPressCommentSource. - Three process plugins:
WordPressShortcodeStrip(with custom rewriter hooks),WordPressOembedExpand(opt-in remote resolution for YouTube/Vimeo/Twitter/Instagram),WordPressMediaRewriteUrl(CDN host allowlist). - Five default migration factories:
WpUsersToAccounts(discards WP passwords + forces reset),WpTermsToTaxonomy,WpMediaToEntities,WpPostsToArticles(renameable example),WpCommentsToEngagement. MediaCopier— idempotent local + HTTP media copy primitive with sha256 verification.
Full inventory: public-surface-map.md.
waaseyaa/migrate-source-wordpress |
waaseyaa/migration substrate |
PHP |
|---|---|---|
0.1.x |
^0.1.0-alpha.179 |
>= 8.5 |
docker run --rm -it php:8.5-cli bash
apt-get update && apt-get install -y git unzip libxml2-dev
docker-php-ext-install xml xmlreader
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
mkdir /tmp/smoke && cd /tmp/smoke
composer init -q --name=test/smoke --no-interaction
composer require waaseyaa/migrate-source-wordpress
php -r "require 'vendor/autoload.php'; echo class_exists('Waaseyaa\\\\Migrate\\\\Source\\\\WordPress\\\\Wxr\\\\WxrReader') ? 'OK' : 'FAIL';"- Operator guide — for WordPress site owners migrating their content.
- Customization guide — for developers wiring the reader into a Waaseyaa app.
- Public surface map — every stable symbol the package ships, plus error-code constants.
- CHANGELOG.
This package implements M-005 of the Waaseyaa framework, the first first-party source reader for the migration substrate (ADR 012a).
GPL-2.0-or-later.