Static Site Push
A static site generator for WordPress. Export your site to plain HTML and push it to GitHub or Cloudflare Pages automatically, every time you publish.
- Static Site Push
Static Site Push exports your WordPress site to fast static HTML and publishes it for you. Connect GitHub, choose a repository and push once; from then on every post you publish or update goes live on its own. It handles the details a static site needs: link rewriting, search, feeds, sitemaps, the 404 page, redirects, media on Cloudflare R2 and a private WordPress admin.
Features
- Push to GitHub, Cloudflare Pages or a ZIPConnect GitHub in one click (no tokens to copy) and pick a repository, upload straight to Cloudflare Pages, or download the site as a ZIP. Cloudflare Pages
_redirectsand_headersare generated for you. - Automatic pushes, only what changedPublishing, editing or deleting a post pushes the affected pages within minutes. Menus, widgets and theme changes rebuild the whole site. Only changed files are sent, so most pushes are tiny.
- Fast, safe exportsSeveral pages are exported at once, directly from your own server. A push that would delete most of your static site is refused, and a login wall in front of WordPress stops the push instead of emptying your site.
- Static site searchA search index and an instant, typo-tolerant search overlay (Fuse.js, self-hosted) take over your theme's search forms. No external search service.
- Media offload to Cloudflare R2Mirror your media library to an R2 bucket with resumable, parallel uploads, pause and resume, and skip rules. Exported pages load images from your media domain.
- Related posts, feeds, sitemaps and a real 404Related posts are built into every post at export time. Feeds become
feed.xmland sitemaps get browser stylesheets. Your theme's own 404 page is exported and marked noindex. - HTML clean-up and StealthRemove WordPress-only markup (emoji scripts, block styles, Yoast schema, speculation rules and more) and hide the signs of WordPress. Private WordPress mode keeps the admin site hidden from visitors and search engines.
- Scheduled posts that go out on timeOverdue scheduled posts are published and pushed automatically, even though WordPress itself gets almost no visitors once the public site is static.
How to use
- Install Static Site Push from Plugins > Add New and activate it.
- Open Static Push > Destination, click Connect GitHub, enter the code on github.com and approve.
- Choose a repository, or click New to create a private one.
- Under Export, choose Full address and enter your public site address, then save.
- Click Push > Full site.
- In Cloudflare, create a Pages project with Connect to Git and pick the repository (no build command). Every change in WordPress now goes live automatically.
Why go static?
- Fast everywherePlain HTML served from a global edge network loads instantly, with no PHP or database work per visit.
- Nothing to hackVisitors never reach WordPress, so there is no login page, plugin or database for attackers to target on your public site.
- Free or cheap hostingGitHub and Cloudflare Pages host static sites for free on generous plans. Keep your WordPress install small and private.
FAQ
Do I still use WordPress?
Yes. You keep writing and editing in WordPress as usual. Static Site Push turns the result into a static site; visitors only see the static copy.
How long does a full push take?
It depends on the number of addresses (posts, category and tag pages, pagination, feeds, files) and how fast WordPress builds a page. A site with a few thousand addresses usually takes 10 to 20 minutes. After that, automatic pushes only export the pages that changed.
Will search, forms and comments work?
Search works through the built-in static search. Forms can be sent to an external form service. WordPress comments need WordPress, so remove the comment form or use an external comments service.
Is it free?
Yes. Static Site Push is free and open source under the GPLv2 license, with no locked features. If it saves you time or hosting costs, you can support its development with a coffee.
How do I get help?
Read the documentation, or reach us through the support page.