Deploying Your Site

Your exported static site can be hosted anywhere that serves HTML files. Stelae supports three auto-deploy targets (statichost.eu (recommended), git push, and Cloudflare Workers), and you can always download the archive and host it yourself.

Why deploy setup takes some effort

Setting up deploy is the most involved step of getting started with Stelae. Plan for 5 to 10 minutes the first time. The reason it’s involved is deliberate: your published static site goes to a hosting account that you own (statichost.eu, Cloudflare, or your own git host), not to Stelae’s servers. That keeps your live site fully independent of us. If Stelae ever shuts down, your published site keeps running on your host. If you stop liking your host, you can swap to another deploy target without leaving Stelae. No lock-in either way.

The trade-off is that setup involves two accounts and a credential exchange. You do this once per site. After that, every deploy is a single click in the dashboard, the same as it would be in a fully integrated setup.

Don’t have time right now? Skip deploy setup for the moment. You can open the editor and start building in WordPress immediately. Come back to deploy setup whenever you’re ready and have a few minutes.

Auto-Deploy: statichost.eu (recommended)

The simplest option. Stelae uploads your static site directly to statichost.eu, EU-based static hosting with a free tier. No git repository needed.

Setup

Create a statichost.eu account

Sign up at builder.statichost.eu and add a new site. Choose direct upload (not git) and upload this starter zip when prompted.

For the site name, the dashboard’s deploy modal pre-fills the auto-generated subdomain that Stelae assigned to your site. Using that as your statichost.eu site name keeps the two in sync. The name doesn’t affect anything visitor-facing once you point a custom domain at the site, so feel free to pick something different if you prefer.

Create an API token

Go to Account and create an API token. Set the expiry to 1 year (the longest option statichost.eu offers). When it expires, your deploys will start failing; come back to this step and replace the token with a fresh one.

Configure in Stelae

In your Stelae dashboard, click “Configure deploy” on your site card and choose “statichost.eu.” Enter your statichost.eu site name and API token.

Export and deploy

Trigger an export from WordPress. Stelae uploads the static files to statichost.eu automatically. Your site will be live at your-site.statichost.page (custom domains available).

EU hosting for free

statichost.eu is a Swedish company running on European infrastructure. Their free Hobby plan includes custom domains with HTTPS and a Europe-wide CDN, ideal if you want your site hosted entirely within the EU. This documentation is hosted on statichost.eu.

Auto-Deploy: Git Push

Stelae can push your static files to any git repository. Connect that repository to a static hosting service and your site updates automatically every time you export. This is the most flexible option and works with free EU and US hosts.

How it works

  1. You provide a git repository URL (SSH format).
  2. Stelae generates an SSH deploy key. You add it to the repository with write access.
  3. On each export, Stelae creates a fresh commit with your static files and force-pushes to the branch.
  4. Your hosting service detects the push and serves the updated site.

Setup

Create a repository

Create a new repository on your preferred git host. It can be empty; Stelae will populate it.

Configure in Stelae

In your Stelae dashboard, click “Deploy” on your site card and choose “Git push.” Enter the SSH clone URL (e.g. git@github.com:you/your-site.git) and the branch name (usually main). Click “Generate deploy key.”

Add the deploy key

Copy the public key shown in the dashboard. Add it to your repository as a deploy key with write access. On GitHub, this is under Settings → Deploy keys → Add deploy key. On other hosts, look for SSH keys or deploy keys in the repository settings.

Test and deploy

Click “Test connection” to verify the key works. Then trigger an export from WordPress. Stelae pushes the static files to your repository automatically.

Recommended hosts

HostRegionFree tierNotes
statichost.eu EU (Sweden) Yes (10 GB/month bandwidth) European infrastructure (Hetzner). Custom domains with automatic HTTPS. Connect your repo and set it to deploy on push.
GitHub Pages US Yes Enable Pages in repository settings. Set the source to the branch Stelae pushes to. Custom domains with HTTPS supported.
Self-hosted (Forgejo/Gitea) Your server Your own infra Run your own git host and serve the repository contents with any web server. Full control over data location.

Auto-Deploy: Cloudflare Workers

Cloudflare Workers serves your static files from Cloudflare’s global edge network. The free tier is generous enough for most personal and small-business sites. Note that Cloudflare is a US company.

Setup

Create a Cloudflare account

Sign up at cloudflare.com if you don’t have one. The free plan works.

Get your API token

In your Cloudflare dashboard, go to My Profile → API Tokens → Create Token. Use the “Edit Cloudflare Workers” template. Copy the token.

Configure in Stelae

In your Stelae dashboard, click “Deploy” on your site card and choose “Cloudflare Workers.” Paste your Cloudflare API token and account ID. Choose a Worker name (this becomes part of your .workers.dev URL unless you add a custom domain).

Export and deploy

From your WordPress admin, click the “Deploy” menu item in the sidebar and trigger a deploy. After the export completes, it’s automatically deployed to your Cloudflare Worker. The dashboard shows the live URL.

Custom domains on Cloudflare

To use your own domain, add it to Cloudflare and create a route that maps your domain to the Worker. Cloudflare provides free automatic HTTPS for custom domains. This is configured in the Cloudflare dashboard, not in Stelae.

Manual Hosting: Download and Upload

If you prefer a different host or want full control, download the archive from your Stelae dashboard and unpack it:

unzip my-site-export.zip

The unpacked directory is a complete static website. Upload it to any host that serves static files.

Other popular static hosts

HostFree tierHow to deploy
Cloudflare Pages Yes (generous) Drag and drop the unpacked folder in the Cloudflare Pages dashboard, or connect a Git repo.
Netlify Yes Drag and drop the unpacked folder at app.netlify.com/drop.
Vercel Yes Push to a Git repo and import in the Vercel dashboard. Or use the Vercel CLI: vercel deploy.
AWS S3 + CloudFront Pay-as-you-go (cheap) Upload to an S3 bucket configured for static hosting, with CloudFront as CDN.
Any web server Varies Upload via FTP/SFTP to any server running Apache, Nginx, Caddy, or any HTTP server.
No lock-in

The archive download is always available regardless of whether you use auto-deploy. Your static files belong to you. If you leave Stelae, your site keeps running wherever you hosted it.

Custom Domains

Custom domain configuration happens at your hosting target, not in Stelae. Stelae produces the static files; your host serves them. Every major static host listed above supports custom domains with free automatic HTTPS.

Your Published URL

The published URL sits at the top of each site card in your dashboard. Stelae fills it in automatically when it can detect the deploy URL: statichost.eu serves at yoursite.statichost.page, Cloudflare Workers serves at yoursite.account.workers.dev. In two cases the auto-detected URL isn’t what you actually want:

In either case, click the pencil icon next to the URL on your site card and enter the canonical URL (HTTPS only). The ? next to the pencil opens a one-line explanation in the dashboard itself.

Why this matters: sitemaps. Each export bakes the published URL into the sitemap as the absolute base for every <loc> entry. If the published URL doesn’t match where the site actually lives, the sitemap points at the wrong host and Google Search Console rejects it (“URLs not allowed”). Setting the value here once, after your first deploy or after pointing a custom domain at the site, is what makes the submitted sitemap valid.

Updating Your Site

To update your live site:

  1. Open your Stelae editor and make your changes in WordPress.
  2. Preview the changes to make sure they look right.
  3. Click “Deploy” in the WordPress admin sidebar to generate a fresh static archive.
  4. The new version is auto-deployed (or download and re-upload manually).

There is no incremental deploy. Each export is a complete snapshot of your site. This keeps things simple and ensures your live site is always a known-good copy of what you previewed.