---
title: "How to rebuild a Cloudflare site on a schedule"
url: https://daily.dev/posts/how-to-rebuild-a-cloudflare-site-on-a-schedule-ihah9qwcf
source_url: https://flaviocopes.com/cloudflare-scheduled-rebuilds
type: article
source: "Flavio Copes"
published: 2026-07-04T08:08:30.915Z
updated: 2026-07-04T08:08:51.904Z
tags: ["general-programming", "github-actions", "cloudflare"]
reading_time: 5
upvotes: 0
comments: 1
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How to rebuild a Cloudflare site on a schedule

**[Flavio Copes](https://daily.dev/sources/flaviocopes)** · 5 min read · 0 upvotes · 1 comments

## Summary

Cloudflare Pages sites rebuild only on Git push by default, but scheduled rebuilds are possible using a deploy hook — a secret URL that triggers a fresh build when POSTed to. Two approaches are compared: a GitHub Actions scheduled workflow (simple, one file in your repo, but subject to GitHub's best-effort timing and 60-day inactivity pause) and a Cloudflare Worker cron trigger (more reliable timing, no GitHub dependency, but requires a separate deployable project). Both ultimately do the same thing — POST to the deploy hook — so the choice comes down to where you want the scheduler to live. A UTC timezone gotcha is also highlighted.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://flaviocopes.com/cloudflare-scheduled-rebuilds>

## Community discussion

Top comments from developers on daily.dev.

**@pdfopsdev** · 0 upvotes

> A quota detail that matters once you pick a frequency: Pages meters builds (500 per month on the free plan), so the daily hook costs about 30 but anything like a 15-minute cron blows through the cap — and the failure mode is your actual pushes not building because the scheduler spent the budget. Related: the deploy hook URL is a pure capability URL with no further auth, so anyone holding it can drain that same quota; treat it like a secret and rotate it if it ever lands in a log. For the scheduled-posts case specifically there is a nice refinement: have the build emit a tiny JSON manifest of...

## Similar posts on daily.dev

- [How I auto-publish scheduled posts with a Cloudflare Worker cron](https://daily.dev/posts/how-i-auto-publish-scheduled-posts-with-a-cloudflare-worker-cron-0tvkhx5nx) · Flavio Copes · 2 upvotes · 0 comments
- [Cloudflare Cron Triggers: run a Worker on a schedule](https://daily.dev/posts/cloudflare-cron-triggers-run-a-worker-on-a-schedule-allyxbppi) · Flavio Copes · 0 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#github-actions](https://daily.dev/tags/github-actions), [#cloudflare](https://daily.dev/tags/cloudflare)

[View this post on daily.dev](https://daily.dev/posts/how-to-rebuild-a-cloudflare-site-on-a-schedule-ihah9qwcf)
