Workers vs. Pages (compatibility matrix)
Cloudflare Workers with static assets and Pages both have the ability to host front-end and full-stack applications. The following compatibility matrix shows the features are available for each product to help you when choosing which product to start with.
We plan to bridge the gaps between Workers and Pages and provide ways to migrate your Pages projects to Workers.
Asset hosting on Workers | Pages | |
---|---|---|
Features | ||
Middleware | ❌ 1 | ✅ |
Redirects | ❌ 2 | ✅ |
Smart Placement | ⏳ 3 | ✅ |
Gradual Deployments | ✅ | ❌ |
Observability | ||
Workers Logs | ✅ | ❌ |
Logpush | ✅ | ❌ |
Tail Workers | ⏳ 4 | ❌ |
Real-time logs | ✅ | ✅ |
Bindings | ||
AI | ✅ | ✅ |
Analytics Engine | ✅ | ✅ |
Assets | ✅ | ❌ |
Browser Rendering | ✅ | ✅ |
D1 | ✅ | ✅ |
Durable Objects | ✅ | ✅ 5 |
Environment Variables | ✅ | ✅ |
Hyperdrive | ✅ | ✅ |
KV | ✅ | ✅ |
mTLS | ✅ | ✅ |
Queue Producers | ✅ | ✅ |
Queue Consumers | ✅ | ❌ |
R2 | ✅ | ✅ |
Rate Limiting | ✅ | ❌ |
Secrets | ✅ | ✅ |
Service bindings | ✅ | ✅ |
Vectorize | ✅ | ✅ |
1 If you need to run a Worker script ahead of serving static assets, we currently recommend using Service bindings to connect a Worker in front of the Worker with assets. We plan to explore additional configuration to support more complex routing in the future.
2 You can handle redirects by adding code to your Worker (a
community package ↗ is available
for _redirects
support), or you can use Bulk
Redirects.
3 You cannot yet enable Smart Placement projects with static assets. This is a temporary limitation, we are working to remove it.
4 You cannot yet add a Tail Worker to a project with assets. This is a temporary limitation, we are working to remove it.
5 You can use Durable Objects if deployed from a normal Worker. You will need to specify the Worker which deploys the Durable Object.