You need two things: a WordPress site where you can install plugins, and a built browser-only
app — a folder with an index.html in it — zipped up. If you don’t have a build handy, export one
from your AI tool, or run npm run build on any Vite/React/Vue project.
1. Install the plugin
Grab it from the download page: either download app-to-page.zip and upload it under
Plugins → Add New → Upload Plugin, or install it from WordPress.org once it’s listed. Activate it.
A new App To Page menu appears in your WordPress admin sidebar.
2. Zip your build
Zip the contents of your dist/ (or build/) folder so that index.html sits at the top of the
archive. Most tools do this for you — on macOS, select the files inside dist/ and compress them
(don’t zip the parent folder if it adds an extra wrapping directory; App To Page strips a single
wrapper automatically, so either usually works).
3. Drop it in
- Open App To Page → Apps.
- Drag your
.ziponto the dropzone (or click to browse). - A confirm card slides in. The name is filled in from the filename, and you choose the URL
— like
/my-app. Leave the defaults if you’re not sure. - Click Create draft.
Your app is created as a private draft that only you (logged-in admins) can see.
4. Preview, then publish
- Click Preview to open the app privately in a new tab and confirm it runs.
- When it looks right, click Publish.
That’s it — your app is live at your-site.com/my-app, rendered exactly as it runs locally, with no
theme wrapper around it.
Want to double-check it’s private before publishing? Open the preview URL in an incognito window — a draft app is not served to logged-out visitors.
What next?
- Deploy a Vite or React app — the one build setting that makes everything portable.
- Update an app in place — ship a new build without changing the URL.
- Make an app logged-in only — gate a tool to your members.