Last checked: October 2026.

“Making WordPress static” does not mean leaving WordPress. You keep writing, editing and managing everything in wp-admin exactly as today. What changes is what visitors receive: instead of WordPress building every page with PHP and a database query, an exporter saves each page as an HTML file, and those files are served from a CDN.

How a static WordPress site works

  1. WordPress stays your editor. It can run on ordinary hosting, and it no longer has to handle visitor traffic.
  2. An exporter crawls the site and saves every page, stylesheet, script and image as files, rewriting links to the public address.
  3. A static host serves the files — Cloudflare Pages, Netlify, S3 or similar — from servers close to each visitor.
  4. When you publish, you export again. Good exporters only re-export the pages that changed.

Why go static

  • Speed. A file served from a nearby CDN location needs no PHP and no database, so pages arrive quickly everywhere.
  • Security. The public site is just files. Plugin vulnerabilities, xmlrpc.php and login pages are not part of it, and WordPress itself can sit on a separate, less visible address.
  • Cost. Cloudflare Pages serves static files for free on both its free and paid plans.
  • Traffic spikes. A sudden rush of visitors hits the CDN, not your WordPress server.

What breaks with a plain export — and how to keep it

FeaturePlain static exportHow to keep it working
CommentsFrozen; new comments cannot be postedSend reads and new comments to WordPress’s REST API
SearchThe search form has nothing to queryQuery WordPress live, or ship a pre-built search index
Contact formsSubmissions go nowherePost the form to WordPress or a form service
WooCommercePrices and stock frozen; cart and checkout breakLoad live prices and stock; keep cart and checkout on WordPress
New postsAppear only after the next exportRe-export on publish (incremental)

Pinery Static Pro handles the first four by proxying them to your WordPress and adds auto-deploy on publish. If you use another exporter, plan how each one will work before you switch your domain.

Is your site a good fit?

  • Great fit: blogs, content and affiliate sites, company and brochure sites, documentation, portfolios.
  • Good fit with live features: sites with comments, search and forms; WooCommerce shops whose product pages can be static while cart and checkout stay on WordPress.
  • Poor fit: membership sites, online courses, forums and anything that shows different content to each logged-in user.

Tools you can use

  • Exporter plugins run inside your WordPress: Pinery Static, Simply Static, Staatic, WP2Static. They differ mostly in where they deploy and what they do about dynamic features — see our comparison of Simply Static alternatives.
  • Managed services run WordPress for you and publish the static copy: Shifter and Simply Static Studio, for a monthly fee.
  • Do it yourself with a crawler such as wget. It works for small sites, but you handle link rewriting, deploys and dynamic features yourself.

Step by step: export WordPress to Cloudflare Pages

  1. Back up the site and make sure it uses pretty permalinks (Settings → Permalinks).
  2. Install Pinery Static — the free plan includes the full export and deploy, with no page limit.
  3. Create a Cloudflare API token with the permission Account › Cloudflare Pages › Edit, and copy your Cloudflare account ID.
  4. Open Pinery Static → Deploy, enter the account ID, token and a project name, and run the connection test.
  5. Choose what to export. Pick the content types and exclude paths you want to stay dynamic; cart, checkout and account pages are excluded by default.
  6. Click Export & Deploy to Pages. Large sites are exported in batches, so shared-hosting timeouts do not stop it.
  7. Check the result on your-project.pages.dev: navigation, images, 404 page and any forms.
  8. Go live. Add your domain to the Pages project, or use the Pro Worker router to keep your existing domain with wp-admin still working on it.
  9. Keep it current. Run the export again after changes — only edited pages are re-crawled — or turn on Pro auto-deploy on publish.

For a full migration with comments, search and WooCommerce, read how to migrate WordPress to Cloudflare Pages without breaking dynamic features.

Checklist after going static

  • Canonical URLs and og:url point to your public domain, not the WordPress address.
  • sitemap.xml and robots.txt are on the static site, and the sitemap is submitted in Search Console.
  • Old URLs still work, or redirect with _redirects.
  • The 404 page is a real 404.
  • Forms, comments and search work end to end.
  • WordPress itself is not indexed under a second address.

Frequently asked questions

Will a static site hurt my SEO?

Not if URLs, canonicals and metadata stay the same. Static pages usually load faster, which helps. Pinery Static writes absolute canonical and og:url tags, generates sitemap.xml and robots.txt, and keeps the meta and structured data from your theme or SEO plugin.

Do I still need WordPress hosting?

Yes. WordPress stays where you edit, and it must stay online if comments, search or forms are proxied to it. It no longer serves visitors, so modest hosting is usually enough.

How much does it cost?

Cloudflare Pages serves static files free on every plan. Pinery Static’s free plan exports and deploys without a page limit; Pro is $299 once per site for dynamic features, auto-deploy and same-domain migration.

What happens when I publish a new post?

It appears on the static site after the next export. Incremental exports re-crawl only the changed pages and the archives that list them, and Pinery Static Pro can deploy automatically on publish.

Sources