Description
HTML Page Publisher lets you drop a standalone HTML file into WordPress and have it served as a landing page at a clean URL. Works with output from Claude Design and HTML exported from other AI tools like ChatGPT, Gemini, v0, and Bolt, and with any hand-written static HTML too. Perfect for sales collateral, one-pagers, lead-gen pages, and campaign microsites.
Key features
- Simple admin UI: upload one HTML file + its image assets, get a public URL
- Built-in HTML editor: edit a published page right in the dashboard with the native WordPress code editor (syntax highlighting), no FTP needed
- Version history: every save snapshots the previous version; restore any earlier version with one click (restoring is itself undoable)
- Image management: add, replace, or delete a page’s images in place — Replace keeps the original filename so existing references keep working
- Automatic cleanup of AI-export wrappers: strips runtime code some AI HTML export tools inject so the published page is pure static HTML
- Configurable URL prefix: default
/pages/your-slug/, change to anything you like (e.g./resources/,/guides/) - Optional subdomain routing: point
sales.example.comat your site and pages appear atsales.example.com/your-slug/ - Secure by default: nonce-protected forms, capability checks, path-traversal guards, and strict file-extension filtering
- Extensible: use the
htmlpp_sanitize_htmlfilter to add cleanup rules for other AI export formats
Use cases
- Publishing landing pages generated by Claude Design
- Publishing HTML from ChatGPT, Gemini, v0, Bolt, and other AI tools
- Sales collateral (rate cards, one-pagers, proposals)
- Campaign landing pages and microsites
- Rapid-publishing static HTML without touching the theme or FTP
Screenshots
Installation
- Upload the
html-page-publisherfolder to/wp-content/plugins/(or install from Plugins Add New). - Activate the plugin from the Plugins screen.
- Go to HTML Pages in the admin sidebar to upload your first page.
- (Optional) Visit HTML Pages Settings to change the URL prefix or configure a subdomain.
FAQ
-
Where are uploaded pages stored?
-
In
wp-content/uploads/html-page-publisher/<slug>/. Each page has its own directory containing anindex.htmland anassets/folder for images. Version-history snapshots are kept separately inwp-content/uploads/html-page-publisher-backups/<slug>/. -
How do I edit a page or change its images after publishing?
-
Open HTML Pages, click Edit on a page. You get the native WordPress code editor for the HTML, a Version History panel to restore earlier saves, and an Images & Assets panel to add, replace, or delete the page’s images without re-uploading the HTML. Use Replace (rather than uploading a new file) to swap an image while keeping the same filename, so existing
assets/...references in your HTML keep working. -
Can I lock down editing?
-
Yes. The standard
DISALLOW_FILE_EDIT(orDISALLOW_FILE_MODS) constant inwp-config.phpdisables in-dashboard HTML editing and image changes here too, the same way it disables WordPress’s core file editor. -
How do I use the subdomain feature?
-
Two steps:
- DNS: Add an A or CNAME record pointing your subdomain (e.g.
sales.yourdomain.com) at the same server as your WordPress site. - Web server: Configure your hosting to serve that subdomain from the same WordPress install. On shared hosting with cPanel this is typically an «addon domain» or «subdomain» option. On managed hosts, you may need to request it from support.
Then enter the hostname in HTML Pages Settings Subdomain. Pages will be served at
https://sales.yourdomain.com/your-slug/in addition to the regular prefix URL. - DNS: Add an A or CNAME record pointing your subdomain (e.g.
-
Is it safe to upload arbitrary HTML?
-
Only users with the
manage_optionscapability (administrators by default) can upload pages. Uploaded HTML is served as-is, including any<script>tags it contains, so only upload HTML you trust. The plugin strips known runtime wrappers injected by some AI export tools but does not otherwise filter markup. -
Will uninstalling delete my pages?
-
No. Uninstalling removes the plugin’s settings but leaves the uploaded pages in
wp-content/uploads/html-page-publisher/(and their version-history snapshots inwp-content/uploads/html-page-publisher-backups/) intact. Delete those folders manually if you want to remove them. -
Does this work with caching plugins or a CDN?
-
Pages are served via a direct PHP readfile that happens before WordPress’s main query runs. Most page caches (WP Rocket, W3 Total Cache) won’t cache these URLs by default. If you want them cached at the CDN edge, add the URL pattern to your caching rules. They’re plain HTML with cache-friendly headers.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“HTML Page Publisher” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “HTML Page Publisher” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.1
- Fixed: Other plugins’ admin notices no longer render inside the plugin’s hero header; they now appear below it via a
.wp-header-endmarker. - Compatibility: Tested up to WordPress 7.0.
1.2.0
- New: In-browser HTML editor for published pages, using the native WordPress code editor (syntax highlighting). No FTP required.
- New: Version history — every save snapshots the previous version; restore any earlier version with one click, and restoring is itself undoable. Retention is filterable via
htmlpp_max_backups(default 10). - New: Per-page image management — add, replace, or delete a page’s images in place. Replace overwrites the original filename so existing HTML references keep working.
- New: Editing respects
DISALLOW_FILE_EDIT/DISALLOW_FILE_MODS, mirroring WordPress’s core file-editor lockdown. - Improved: Large or minified files automatically fall back to a plain text editor so the browser stays responsive; the editor is a fixed-height box that scrolls internally.
- Security: Editing and image actions reuse the existing nonce,
manage_options, MIME-whitelist, and realpath path-traversal protections; backups are stored outside the publicly served directory.
1.1.0
- New: Branded admin footer with author attribution, support, and donate links.
- New: Contextual Help tab on plugin admin pages (Overview, FAQ, Support).
- New: Settings and Donate links added to the WordPress plugins list (action links and row meta).
- Improved: Refreshed hero design with a custom plugin icon.
- Improved: Cleaner hero buttons with corner radius matching the rest of the admin UI.
- Improved: Settings page icon updated to a clearer sliders icon.
- Improved: Help / Screen Options bar repositioned below the hero for a cleaner layout.
- Improved: Admin footer now flows naturally below content and stays visible on small screens.
- Improved: Microcopy cleanup across admin strings.
1.0.0
- Initial release.
- Upload HTML + image assets via admin UI.
- Automatic stripping of AI-export runtime wrappers.
- Configurable URL prefix (default
/pages/). - Optional subdomain routing.


