Start from existing
Workers Sites require Wrangler — make sure to be on the latest version.
To deploy a pre-existing static site project, you’ll need to start with a pre-generated site. Workers Sites works well with all static site generators! For a quick-start, check out the following projects:
- Hugo
- Gatsby, requires Node
- Jekyll, requires Ruby
- Eleventy, requires Node
- WordPress (see our tutorial on deploying static WordPress sites with Workers)
Once you have a site generated, follow these steps:
Run this Wrangler command in the root of your project’s directory:
$ wrangler init --site my-static-site
This command creates a few things:
wrangler.toml
and aworkers-site
directory.Add your site’s build directory to the
wrangler.toml
:[site]bucket = "./public" # <-- Add your build directory name here!entry-point = "workers-site"
The default directories for the most popular static site generators are listed below:
- Hugo:
public
- Gatsby:
public
- Jekyll:
_site
- Eleventy:
_site
- Hugo:
Add your
account_id
to yourwrangler.toml
. You can find youraccount_id
on the right sidebar of the Workers or Overview Dashboard. Note: You may need to scroll down! For more details on finding youraccount_id
visit Getting started.You can preview your site by running:
$ wrangler preview --watch
Decide where you’d like to publish your site to: a workers.dev subdomain or your personal domain registered with Cloudflare.
Then, update your
wrangler.toml
:Personal Domain: Add your
zone_id
and aroute
.zone_id = "42ef.."route = "example.com/*"
workers.dev: Set
workers_dev
to true. This is the default.Learn more about configuring your project.
Run:
$ wrangler publish