StaticExit › Blog

Squarespace to Amazon S3 and CloudFront: Step by Step

Updated October 2026

AWS is the cheapest place to host a static site that gets modest traffic: a few cents a month for storage and requests, and a free TLS certificate. It is also the most settings heavy option, so here is the exact sequence. You need an exported site folder first (how to export).

Steps

  1. Bucket. In S3, create a bucket (any name). Keep Block Public Access on; CloudFront will read the bucket privately.
  2. Upload. Upload the contents of the site folder so that index.html sits at the top level of the bucket.
  3. Certificate. In Certificate Manager, region us-east-1, request a public certificate for yourdomain.com and www.yourdomain.com with DNS validation. Add the two CNAME records it shows at your DNS provider. Wait for Issued.
  4. Distribution. In CloudFront, create a distribution with the bucket as origin. Choose Origin access control, create a control, and copy the bucket policy CloudFront offers into the bucket's permissions. Set the default root object to index.html, redirect HTTP to HTTPS, enable compression, and attach the certificate with both domain names as alternate names.
  5. Clean URLs. S3 does not know that /about means /about/index.html. Add a CloudFront Function on viewer request that appends index.html to paths ending in a slash or without a file extension. Without it, inner pages return 403.
  6. 404 page. Under error pages, map 403 to /404.html with response code 404 so missing pages show your not found page instead of an XML error.
  7. DNS. Point the domain at the distribution: in Route 53 an alias A record (and AAAA) to the CloudFront domain; elsewhere a CNAME for www and ALIAS/ANAME for the apex if your provider supports it.

Updating the site

Upload the changed files to the bucket and create an invalidation for /* in CloudFront so visitors see the new version right away.

Cost

A ten page site with a few hundred visits a day costs well under a dollar a month. The certificate is free. The domain is whatever your registrar charges.

Rather not click through AWS? Our hosting plan does exactly this setup for $9 a month, with your domain and a form relay, and you can take the ZIP with you anytime.

StaticExit is not affiliated with Squarespace, Inc. or Amazon Web Services.