Content Management that can withstand the plundering hoards

WordPress integration

The canonical import reference defines content conversion, URL review, image-copy safeguards, database access and limits. The browser guide covers the migration workflow. Maintain those pages when changing importer behaviour. This page documents the API and verification tools for integration authors and contributors.

API

Endpoint Request Result
POST /api/import/wordpress/wxr?includeDrafts=false Raw XML, Content-Type: application/xml {pages, media, warnings} inspection plan
POST /api/import/wordpress/mysql JSON connection and includeDrafts Same inspection plan
POST /api/import/wordpress/apply {pages, media, downloadMedia} {created, skipped, failed, warnings}

Connection JSON fields are host, port, database, user, password, prefix, tls and includeDrafts. Each plan page contains title, path, source, originalUrl, status, optional warnings and a conflict flag. Clients send only selected pages, with any edited paths, to apply. Credentials are never part of that plan. All three endpoints require authentication and the usual mutation protection: browser sessions need the CSRF cookie/token; verified Bearer requests have the ordinary API exemption described in authentication. Neither inspection nor apply publishes.

Verification

The API tests cover XML conversion, selection, conflicts, URL remapping, retry behaviour, publication, credentials and media validation. The real-browser suite uploads a fixture, edits a destination URL, imports it and previews the result. scripts/test-wordpress-mysql.sh uses a disposable loopback MariaDB container and SELECT-only account to verify the real database path. It removes the container afterwards and does not mount host data.