CDN: Live Site Origin
CloudFront in front of a public WordPress site — no S3, no extra host for HTML.
Best for: WordPress stays online. You want images (and optionally CSS/JS) to load through CloudFront. WordPress still hosts the files.
Picture a faster front door for pictures. CloudFront sits in front of your site. The first request for an image is fetched from WordPress, then cached at the edge. Tivlo rewrites URLs so browsers ask CloudFront instead of hammering the origin every time.
You do not need S3 Media Sync for this scenario. If someone told you that static sites always need a bucket, they were describing a different story.
Origin must be public
CloudFront cannot use localhost as an origin. Use your public site
URL. Your laptop is not an AWS region, even on a good day.
In the AWS console, create a CloudFront distribution. Set the
origin to your live website (for example https://www.example.com).
Note the distribution domain (d123abc.cloudfront.net) or a custom
alias such as cdn.example.com. Optionally copy the Distribution
ID for automatic invalidations.
Open Settings → Tivlo Static Site → CDN & Media Sync. Under CloudFront CDN:
- Turn on Rewrite media URLs to the CDN.
- Optional: Serve CSS & JS through the CDN. Because the origin is the live site, no S3 sync is needed.
- Enter CDN Domain without
https://. - Optional: CloudFront Distribution ID and leave Invalidate CloudFront when synced files change on if you entered an ID.
Under S3 Sync (optional), leave Sync the media library and Sync CSS & JS used by exported pages off.
Click Save CDN Settings.
Build Console → Full Rebuild (use Clear existing static files for a completely fresh export). Wait until the queue is empty.
Inspect a page in a private window: image src and srcset should
use the CDN host with the uploads path, for example
/wp-content/uploads/2026/08/photo.jpg under the CDN domain.
Day-to-day (Scenario 1)
| When you… | What happens |
|---|---|
| Upload a new image | URLs are rewritten to the CDN; Full Rebuild if you serve static HTML and need the export updated |
| Replace an image | CloudFront may show the old file briefly unless invalidation is enabled and a distribution ID is saved |
| Delete an image | The file remains on WordPress; CloudFront may cache it until expiry or invalidation |
How is this guide?