From dynamic WP to static pages.
See plansDynamic admin. Static front end.
You keep the WordPress admin you know: same interface, same editor, same plugins. MyStaticWP turns the front end from dynamic to static: it renders each page once, saves it as an HTML file, and lets your web server hand that file to visitors. Nothing is rebuilt on every visit, and the static copy updates when you save.
A dynamic page rebuilds itself for every single visitor.
Most site owners never notice — until a slow-page complaint, a traffic spike or a hosting limit shows how much work each visit costs.
What is happening
The same page is built again for every visitor, even when nothing has changed since the last one. Traffic peaks make it worse: each extra visit is one more full build of the page.
From dynamic to static
MyStaticWP turns each dynamic page into a static HTML file, rendered once on your own server and handed to visitors directly. Keep the same WordPress admin, and nothing is rebuilt until you change something.
The real payoff
Visitors get pages faster and your server does less work. The plugin measures the difference on your own server, so you see real figures for your site rather than promises.
Per-page plugin control
Choose which plugins run on which page. MyStaticWP measures what each one costs on your server, so you decide from figures, not guesses — and previews the page before you save.
One plugin. Every feature. Just pick your scale.
No feature is ever locked behind a higher tier — every plan includes the complete MyStaticWP toolkit. The only thing that changes is how many sites you run it on.
Monthly
Pay as you go, cancel anytime.
100% self-hosted — no CDN, no third-party account, nothing your visitors load from elsewhere. Pages are turned into static files on your own hosting, then served from your own domain.
Built for Bricks, every language — standard WordPress content works too. Polylang sites keep one address per language, each with its own static copy. Choose Hybrid or Strict for the whole site, a category or a single page.
Measured, not guessed — see what each plugin costs on every page, compare with and without it, and preview before you save. Figures come from your own server, with their limits explained.
Safe by design — your content is never changed, the static files live in their own folder, and one click restores every plugin. Deactivate the plugin and your site is plain WordPress again.
Annual
Save on every tier, billed once a year.
100% self-hosted — no CDN, no third-party account, nothing your visitors load from elsewhere. Pages are turned into static files on your own hosting, then served from your own domain.
Built for Bricks, every language — standard WordPress content works too. Polylang sites keep one address per language, each with its own static copy. Choose Hybrid or Strict for the whole site, a category or a single page.
Measured, not guessed — see what each plugin costs on every page, compare with and without it, and preview before you save. Figures come from your own server, with their limits explained.
Safe by design — your content is never changed, the static files live in their own folder, and one click restores every plugin. Deactivate the plugin and your site is plain WordPress again.
With vs. Without MyStaticWP
| Without MyStaticWP | With MyStaticWP | |
|---|---|---|
| Every visit | Dynamic: PHP starts, the database is queried, every plugin runs | Static: the web server hands over an HTML file — no PHP, no database |
| Plugins | Every active plugin runs on every page, needed or not | You choose which plugins run on which page |
| Server load | Traffic peaks hit PHP and the database | Visitors get files — a peak costs the server far less |
| Freshness | A separate cache plugin to set up and purge | Pages rebuild when you save, or when the theme or a shared element changes |
| Proof | Speed claims you cannot check on your own site | Figures measured on your own server, limits explained |
Everything you need. Nothing you don't.
Read more...MyStaticWP turns every dynamic page into a static file, so visitors get plain HTML while you keep editing in WordPress. It works with Bricks and standard content, with Polylang multilingual sites, and lets you block plugins page by page. It measures the gain on your own server, and says what the figures do not show.
Two generation styles
Hybrid keeps forms and interactive elements working, as WordPress generated them. Strict is a true HTML, CSS and JS mirror in its own folder, with forms replaced by a contact message. Set per site, category or page.
Regeneration journal
See what happened to each page: rebuilt, skipped and why, or failed and why, with its timing. Only the latest run is kept. You can rebuild only the outdated or missing pages.
Automatic rebuilds
Saving a page rebuilds it. Changing the theme, a menu, a Bricks template or the global styles, or updating a plugin, rebuilds the site once, a minute later. Large sites rebuild in batches, with a progress bar.
What each plugin costs
"Cost per plugin" ranks every plugin by the server time it adds to a page, with its margin of error. "Measure" compares a page with and without the plugins you choose.
Plugins, page by page
Untick a plugin on a page, a category, the blog index, archives or search. Preview the result before you save. One reset button makes every plugin active again everywhere.
Served without WordPress
On Apache and LiteSpeed, static pages are handed out by the web server before WordPress starts. Other servers fall back to PHP, still without rebuilding the page. Logged-in users always see the live site.
Overview and guide
A dashboard shows the mode, the pages in cache, the speed of static versus dynamic, and alerts only when something needs you. A checklist guides your first steps.
Compatibility check
Before you export, the plugin flags what static pages cannot do: forms, AJAX filters and load-more buttons. A locator frames the exact element on your site.
Multilingual, Polylang first
Each language keeps its own address, language tag and static copy. Translations are rebuilt together, and the form message follows the language of the page.
Translation-ready
English, French and Spanish out of the box. The interface and the messages follow the language of your administration.
Safe to try
Deactivating the plugin removes its server rules and its plugin filter, and returns the site to plain WordPress. Static files live in their own folder, and your content is never modified.
Export anywhere
Export the site as portable static files for any host. Links are rewritten, forms are replaced by your contact address, and a report lists what will not work offline.
What the table doesn't show
Served before WordPress starts
On Apache and LiteSpeed, the plugin adds a marked block to .htaccess so the web server answers straight from the static file. Where that is not possible, such as Nginx, PHP serves the file instead: slower, but still no rebuild. The Switch screen tells you which one is active.
Blocking that spares your editor
Per-page blocking runs from a small must-use file before plugins load. It is never applied in the admin, in Bricks and other page builders, in the Customizer, or on form submissions. A preview shows the page as visitors will see it, before anything is saved.
Measured, with margins
Each plugin is timed a limited number of times, in paired requests. Small costs show as uncertain estimates with their margin, never as gains. A control run shows how much the method itself drifts. Only server time counts: styles and scripts sent to the browser are not included.
Honest about limits
A cart, a members-only page, an AJAX filter or a load-more button needs a live backend. Forms are replaced or kept, depending on the style. The compatibility check lists these before you switch, so a page is never frozen into something that no longer works.
Two styles, one rule
Hybrid saves the page as WordPress rendered it, forms and interactive parts intact. Strict saves a standalone mirror in its own folder and replaces each form with a contact message and your address. The style can be set for the whole site, a category, or a single page.
Live for you, static for visitors
Visitors get the static copy. Anyone logged in, and any address with a query string, reaches the live WordPress. The cart, checkout and account pages of WooCommerce are never cached. You always edit and check the real site.
Rebuilt when it matters
Saving a page rebuilds it. A shared change (theme, menus, site identity, Bricks templates and global styles, or a plugin update) triggers one rebuild after a minute. Existing static files keep being served while it runs, and leftovers are removed only at the end.
Reversible by design
Deactivating removes the server rules and the plugin filter. Uninstalling can also remove its settings and files, as you choose. The static folder is separate from your media library, and one reset button makes every plugin active everywhere again.