Skip to content

For Static sites

Static sites, no servers required

Hugo, Eleventy, Jekyll, Zola: if it writes a folder of files, it runs here. Sync the build to a bucket and serve it from 988 locations with free SSL and no origin server.

Free to sign up. No egress fees on any product.

Why Static sites on Edge

The web's original deployment model, done properly

Cheap, fast and very hard to break. A bucket and a CDN deployment are all a static site needs.
  • No origin server

    Push the build to a Storage bucket, point a CDN deployment at it and you're live. There is no VM to patch or pay for.
  • Global CDN, zero egress

    Every page is served from the nearest of 988 locations, and there's never a per-GB bill for the bytes on the way out.
  • Images resized on request

    Stop generating six sizes of every image at build time. Upload the original and ask the CDN for ?width=800&format=auto.
  • CI-friendly deploys

    Build anywhere, sync the output to the bucket, purge the CDN. Three commands, and they work the same in every CI.
  • Pennies a month

    Storage is free up to 5 GB and the CDN up to 500k requests. Most static sites cost a few dollars, even with real traffic.
  • Automatic SSL

    Bring your own domain and get a free Let's Encrypt certificate, issued and renewed for you. No certbot, no renewals to track.

Any generator

Bring any SSG you like

If it produces a folder of static files, it runs on Edge. No plugins, adapters or build images to pick.
  • HugoTens of thousands of pages in seconds
  • Eleventy (11ty)Markdown, Nunjucks and Liquid templates
  • JekyllThe classic Ruby SSG, GitHub Pages compatible
  • AstroComponent islands and partial hydration
  • HexoNode-based blogging
  • PelicanPython-powered static sites
  • ZolaA single-binary Rust SSG
  • mdBook, VitePress, DocusaurusDocumentation sites

Reference architecture

How a static site maps to Edge

Two products and no servers: the simplest thing we host, and the hardest to take down.
  • Storage

    Holds the built site: HTML, CSS, JS and original images.

  • CDN

    Serves the whole bucket from edge locations worldwide.

  • Image optimisation

    Transforms images on request instead of at build time.

  • DNS

    Anycast DNS for the apex, www and any preview hostnames.

  • Shield

    Scores form submissions at your form handler. No JavaScript puzzle.

  • Assist

    Gives a static site a working answer box. No backend required.

Deploy

From build folder to live in four steps

Swap hugo for your generator of choice. Everything after the build is identical.
  1. 01

    Build and sync to a bucket

    Any S3 client works against Edge Storage. --delete removes pages you've deleted locally.

    shell
    $ hugo --minify         # or: npx @11ty/eleventy, jekyll build
    $ edge storage create acme-blog
    $ aws s3 sync ./public s3://acme-blog --delete \
        --endpoint-url https://storage.edge.network
  2. 02

    Serve the bucket through the CDN

    The CDN serves index.html for directory paths, so clean URLs work without rewrite rules.

    shell
    $ edge cdn create --name acme-blog
    $ edge cdn domains add cdn-3b6e90 \
        --domain blog.acme.dev \
        --origin-type storage \
        --storage-bucket acme-blog \
        --jit-image
  3. 03

    Point DNS at the CDN

    Zone on Edge DNS? Add the CNAME here. Elsewhere, add the same record at your provider. SSL follows once it resolves.

    shell
    $ edge dns create --domain acme.dev
    $ edge dns records add zone-8f21c4 --type CNAME \
        --name blog --data cdn.edge.network
  4. 04

    Deploy on every push

    Build, sync, purge. The CLI reads EDGE_API_KEY from the environment, so a dedicated CI key is all it needs.

    .github/workflows/deploy.yml
    on:
      push:
        branches: [main]
    jobs:
      deploy:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: peaceiris/actions-hugo@v3
          - run: hugo --minify
          - run: curl -fsSL https://edge.network/install.sh | sh
          - env:
              EDGE_API_KEY: ${{ secrets.EDGE_API_KEY }}
            run: |
              edge storage sync --delete ./public acme-blog/
              edge cdn purge cdn-3b6e90

Prefer to hand it off? Give the job to your AI agent or have our engineers do it.

What it costs

A hosting bill measured in pennies

No VM and no bandwidth line. You pay for what's in the bucket and for requests beyond the free tier.
  • No origin server to patch or pay for
  • SSL certificates issued and renewed for you
  • Image transforms included with the CDN
  • Free under 500k requests and 5 GB a month
See pricing

Estimated monthly bill on Edge

Docs site · ~1M page views (≈12.5M requests) · 2 GB build

USD
  • Storage$0.002 GB of HTML, CSS, JS and images: inside the 5 GB free tier
  • CDN$3.0012.5M requests: first 500k free, 12M × $0.25 per million
  • DNS$0.00Zone, apex, www and preview records
  • Egress$0.00
Total$3.00

FAQ

Static sites on Edge, answered

Something else? Ask an engineer.
Which static site generators are supported?
All of them. If your generator produces a folder of HTML, CSS and JS, we can serve it: Hugo, Eleventy, Jekyll, Astro, Hexo, Pelican, Zola, Docusaurus, VitePress, mdBook and the rest.
How do I deploy from CI?
Build the site, run edge storage sync --delete (or aws s3 sync with --endpoint-url https://storage.edge.network), then edge cdn purge. Authenticate the CLI with an EDGE_API_KEY secret.
What about responsive images?
Push originals to the bucket and request sizes from the URL: ?width=400&format=auto, ?width=800&format=auto and so on in your srcset. The first request transforms, the rest come from cache, and your build gets faster.
Do clean URLs work?
Yes. The CDN serves index.html for directory paths, so /about/ returns /about/index.html from the bucket with no rewrite rules.
Can I have a preview per pull request?
Yes. Sync each branch build to its own bucket, add a preview hostname to the CDN deployment, and remove both when the pull request closes. You can also password-protect any CDN domain.

Static, served properly

Two products, no servers and a bill measured in pennies.

Free tiers hard-cap. Nothing bills until you add a card.