# Integrate

> Put a ContentWorker site on Cloudflare with a package.json and a wrangler.jsonc.

Source: https://contentworker.site/integrate

A site is the `@contentworker/frontend` package plus one setting that names your space. The runtime owns rendering, caching, preview, SEO and every block, so you update it like any other dependency.

## Two files

```
// wrangler.jsonc
{
  "main": "node_modules/@contentworker/frontend/src/entry.ts",
  "vars": { "CONTENTWORKER": "https://cdn.<your domain>/<space>/<env>" }
}
```

Then set the `CONTENTWORKER_KEY` secret to a Content Delivery API key and deploy.

## When you customise

- Your own files go in `public/` and win over the runtime’s at the same path.
- Your own blocks and URLs go in `defineSite({ blocks, routes })`.

[**Browse the blocks**](/blocks)
