Experimental. Not released yet. Use at your own risk. All spaces might be deleted at any time.

Migrate from here.now

here.now and Stattic both publish prebuilt static files. Republish the same site output directory to Stattic. Start from the local folder, build artifact, or file manifest that produced the current *.here.now site, then test the new version before moving DNS.

# Republish the same static output that was sent to here.now
stattic publish ./dist

# Single-page apps should keep an explicit fallback
stattic publish ./dist --spa true

What carries over

  • Static HTML, CSS, JavaScript, JSON, text files, XML, web manifests, source maps, images, and fonts on Free. WebAssembly, PDFs, videos, downloads, and other uploaded static files require Plus.
  • Single-page apps after enabling Stattic SPA fallback for client-side routes.
  • Custom domains after adding the domain in Stattic and moving DNS when diagnostics pass.
  • Public external API calls from browser code, if they already work without here.now proxy route credential injection.

Migration checklist

  • Find the original publish directory. here.now serves paths relative to the uploaded root, so do not add an extra parent folder.
  • If you are migrating to Free, remove or upgrade before publishing non-website files such as PDFs, videos, archives, and downloads. Free ignores those paths.
  • If the old version was anonymous, recover the source files from your machine or agent logs. Anonymous claim tokens are returned only once and anonymous spaces expire after 24 hours.
  • Recreate account-level concerns in Stattic: custom domain records, space name, SPA mode, and any environment or secret values needed by your build or external backend.
  • Test direct file paths, refreshes on deep SPA links, protected API calls, and cache behavior on the Stattic URL before changing production DNS.

What to change

  • Replace .herenow/proxy.json with public Stattic _redirects proxy rules only when the upstream does not need private credential injection. Move secret-bearing calls to a separate backend. Browser code must not embed secrets that here.now injected server-side.
  • Recreate here.now variables as Stattic space variables, CI secrets, or backend secrets. here.now variable values are not returned by its API, so you need the original secret source.
  • Convert here.now handle links and custom-domain links into Stattic space domains and redirects. A here.now handle such as name.here.now cannot be transferred.
  • Replace here.now password protection, payment gating, forking metadata, auto-viewer pages, and directory listings with explicit Stattic configuration or static pages.

Limitations

Know the platform boundary before you migrate. Stattic can host the static site, but it cannot import every here.now account feature from a public URL.

  • There is no one-click import from a *.here.now URL. Migrate from the original files or a verified file manifest instead of scraping the live site.
  • here.now proxy routes are not portable as-is. Their manifests can reference account variables, inject upstream auth headers, forward request bodies, and stream API responses; those routes need a Stattic-native proxy feature or a separate backend.
  • Secrets cannot be exported from here.now. Its variable list returns names and metadata, not values, so lost API keys must be rotated or recovered from the original provider.
  • Anonymous here.now sites expire after 24 hours unless claimed. If the claim URL or token was lost and the site expired, Stattic cannot recover the version.
  • here.now-specific handles, link locations, fork buttons, payment gates, and password gates are product features, not static files. They need deliberate replacement in Stattic.
  • Static hosting is still static hosting. Server-rendered apps, background jobs, databases, file uploads, user sessions, and framework server functions need an external service or a different runtime.