Exporting Your Site

Exporting generates a complete static HTML/CSS/JS copy of your WordPress site that you can host anywhere. This is the core of what Stelae does.

How Export Works

When you trigger an export, Stelae runs the following process:

  1. URL discovery. WP-CLI queries your WordPress database to find every published URL — pages, posts, custom post types, archives, category pages, tag pages, author pages, and the sitemap.
  2. Crawl. An ephemeral export container crawls your WordPress site using httrack, starting from the discovered URLs. It downloads every page and follows links to capture CSS, JavaScript, images, fonts, and other assets.
  3. Post-processing. The export pipeline fetches any assets referenced by the domain that weren’t captured during the crawl (e.g. images referenced in CSS), downloads Gravatars, and rewrites all URLs to be relative so the archive is portable.
  4. Archive creation. The result is packaged as a .zip archive and sent back to the management server.

The entire process typically takes 30 seconds to a few minutes depending on the size of your site.

Triggering an Export

From your WordPress admin panel, click the “Deploy” menu item in the sidebar (added by Stelae’s built-in mu-plugin). You have three options:

You can also trigger an export from the Stelae dashboard via the “Export & download” option in the site card overflow menu.

Rate limiting

Exports are rate-limited to prevent abuse. You can run up to 3 exports per 15 minutes and up to 450 per month. If you hit the limit, the buttons will be disabled and show how long until you can export again. The limits are generous enough for normal use — even frequent iterative publishing.

What Gets Exported

IncludedNot included
All published pages and posts Draft and private posts
Category, tag, and archive pages wp-admin/ and login pages
CSS, JavaScript, and font files PHP files
Images and media uploads Database content not rendered as HTML
Sitemaps (XML) wp-json/ REST API endpoints
RSS feeds (XML) Dynamic content loaded via AJAX
Gravatars (downloaded and localized) Server-side redirects
robots.txt, favicon.ico .htaccess rules

Export Best Practices

Preview before exporting

The export captures exactly what WordPress renders. Preview every page you care about in the WordPress admin before exporting. If something looks wrong in preview, it will look wrong in the export too.

Publish all content first

Drafts, scheduled posts, and private posts are not exported. Make sure everything you want on the live site is set to “Published” status before triggering the export.

Check for AJAX-dependent content

Right-click any page in your WordPress preview, choose “View Page Source”, and search for the content you expect to see. If the content is in the HTML source, it will be in the export. If the content only appears in the rendered page but not in the source, it’s being loaded via JavaScript/AJAX and won’t be in the export.

Keep your site lean

Export time scales with the number of pages and the amount of media. A blog with 50 posts exports in seconds. A site with 10,000 pages and thousands of images takes longer. Optimize images before uploading and remove unused media to keep exports fast.

After Export

Once the export completes, you have two options:

After export, your WordPress container becomes eligible for idle shutdown. It will go to sleep after 15 minutes of inactivity, freeing up resources.

WordPress Backup

The static export contains your published site (HTML, CSS, JS, images). If you also want a full copy of your WordPress data — the database, themes, plugins, and uploaded media — use the Backup button on your site card in the dashboard.

Backups are generated on demand. Click the button, wait for the progress indicator to complete, then download the .zip archive. The archive contains a MySQL database dump and the full wp-content directory. You can import this into any standard WordPress installation.

Export vs. Backup

Export = your published static site (what visitors see).
Backup = your raw WordPress data (database + files, for migrating to another WordPress host).