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.
