WP Transformer
Converts WordPress MySQL dumps into self-contained static HTML sites β no live WordPress installation required.
Stack
- PHP 8.1+ β no framework, no Composer
- MySQL β two tables (
wpt_users,wpt_tenants) - Tailwind CSS v3 β pre-compiled, dark theme
- Hosting β any managed PHP/MySQL host (tested: ALL-INKL)
Architecture
SQL Dump (Upload)
β
βΌ
WPParser β pure-PHP tokenizer, no MySQL dependency
β
βΌ
content.json β posts, pages, categories
β
βΌ
StaticBuilder β index.html, per-post HTML, feed.json, .htaccess
β
βββ ZIP Download
βββ FTP Deploy β Customer subdomain / server
Multi-Tenant Pipeline
Each tenant (client) goes through four steps β with human review at each:
- SQL Upload β WordPress UpdraftPlus / mysqldump export
- Parse β extracts posts/pages/categories, auto-detects DB prefix
- Build β generates static HTML with per-tenant branding
- Deploy β ZIP download or direct FTP push
Deployment (ALL-INKL)
- Upload all files via FTP to domain root
- Import
init.sqlvia phpMyAdmin - Create
config.local.phpin root (see below) - Open
https://yourdomain.tld/setup.phpβ or uploadconfig.local.phpdirectly - KAS β Subdomains: point
tenant.yourdomain.tldβtenants/{slug}/public
config.local.php
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'your_db_name');
define('DB_USER', 'your_db_user');
define('DB_PASS', 'your_db_pass');
Security
.htaccessblocks direct access to.sql,.sh,.md,config.local.phptenants/blocked excepttenants/*/public/- CSRF tokens on all POST forms
- Path traversal protection on
$slug display_errorsoff in production- bcrypt password hashing (cost 12)
- IP-based login rate limiting via
access_logs
Long-Term Architecture
RZ (fixed IP, BSI, Zero Trust)
βββ RetroPWD + Ollama AI Backend
β AI-assisted content generation [human review]
βΌ
WPTransformer (managed hosting)
β Parse β Build β Deploy [human review]
βΌ
Customer static sites
(e.g. ozm.wptransformer.org β onezeromore.com)
Version
1.0.0 β Initial production release, May 2026